aboutsummaryrefslogtreecommitdiffstats
path: root/c_parser
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-02-09 15:25:52 +0000
committerYann Herklotz <ymherklotz@gmail.com>2017-02-09 15:25:52 +0000
commitaf9612261b950dc4d681078778a2d87ff0bec076 (patch)
tree9d986b6e58f9d50c00ef09f07aa3a351e6140f79 /c_parser
parent49ff65e37739480fc843b81d3c27a3deb5f9f0bf (diff)
downloadCompiler-af9612261b950dc4d681078778a2d87ff0bec076.tar.gz
Compiler-af9612261b950dc4d681078778a2d87ff0bec076.zip
Fixed a few files
Diffstat (limited to 'c_parser')
-rw-r--r--c_parser/src/.tab.output310
-rw-r--r--c_parser/src/c_lexer.flex2
-rw-r--r--c_parser/src/c_parser.y1
3 files changed, 2 insertions, 311 deletions
diff --git a/c_parser/src/.tab.output b/c_parser/src/.tab.output
deleted file mode 100644
index becc5a7..0000000
--- a/c_parser/src/.tab.output
+++ /dev/null
@@ -1,310 +0,0 @@
-Grammar
-
- 0 $accept: ROOT $end
-
- 1 ROOT: EXPR
-
- 2 EXPR: TERM
- 3 | EXPR T_PLUS TERM
- 4 | EXPR T_MINUS TERM
-
- 5 TERM: FACTOR
- 6 | TERM T_TIMES FACTOR
- 7 | TERM T_DIVIDE FACTOR
-
- 8 FACTOR: T_NUMBER
- 9 | T_VARIABLE
- 10 | T_LBRACKET EXPR T_RBRACKET
- 11 | FUNCTION_NAME FACTOR
-
- 12 FUNCTION_NAME: T_LOG
- 13 | T_EXP
- 14 | T_SQRT
-
-
-Terminals, with rules where they appear
-
-$end (0) 0
-error (256)
-T_TIMES (258) 6
-T_PLUS (259) 3
-T_DIVIDE (260) 7
-T_MINUS (261) 4
-T_LBRACKET (262) 10
-T_RBRACKET (263) 10
-T_LOG (264) 12
-T_EXP (265) 13
-T_SQRT (266) 14
-T_NUMBER (267) 8
-T_VARIABLE (268) 9
-
-
-Nonterminals, with rules where they appear
-
-$accept (14)
- on left: 0
-ROOT (15)
- on left: 1, on right: 0
-EXPR (16)
- on left: 2 3 4, on right: 1 3 4 10
-TERM (17)
- on left: 5 6 7, on right: 2 3 4 6 7
-FACTOR (18)
- on left: 8 9 10 11, on right: 5 6 7 11
-FUNCTION_NAME (19)
- on left: 12 13 14, on right: 11
-
-
-State 0
-
- 0 $accept: . ROOT $end
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- ROOT go to state 7
- EXPR go to state 8
- TERM go to state 9
- FACTOR go to state 10
- FUNCTION_NAME go to state 11
-
-
-State 1
-
- 10 FACTOR: T_LBRACKET . EXPR T_RBRACKET
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- EXPR go to state 12
- TERM go to state 9
- FACTOR go to state 10
- FUNCTION_NAME go to state 11
-
-
-State 2
-
- 12 FUNCTION_NAME: T_LOG .
-
- $default reduce using rule 12 (FUNCTION_NAME)
-
-
-State 3
-
- 13 FUNCTION_NAME: T_EXP .
-
- $default reduce using rule 13 (FUNCTION_NAME)
-
-
-State 4
-
- 14 FUNCTION_NAME: T_SQRT .
-
- $default reduce using rule 14 (FUNCTION_NAME)
-
-
-State 5
-
- 8 FACTOR: T_NUMBER .
-
- $default reduce using rule 8 (FACTOR)
-
-
-State 6
-
- 9 FACTOR: T_VARIABLE .
-
- $default reduce using rule 9 (FACTOR)
-
-
-State 7
-
- 0 $accept: ROOT . $end
-
- $end shift, and go to state 13
-
-
-State 8
-
- 1 ROOT: EXPR .
- 3 EXPR: EXPR . T_PLUS TERM
- 4 | EXPR . T_MINUS TERM
-
- T_PLUS shift, and go to state 14
- T_MINUS shift, and go to state 15
-
- $default reduce using rule 1 (ROOT)
-
-
-State 9
-
- 2 EXPR: TERM .
- 6 TERM: TERM . T_TIMES FACTOR
- 7 | TERM . T_DIVIDE FACTOR
-
- T_TIMES shift, and go to state 16
- T_DIVIDE shift, and go to state 17
-
- $default reduce using rule 2 (EXPR)
-
-
-State 10
-
- 5 TERM: FACTOR .
-
- $default reduce using rule 5 (TERM)
-
-
-State 11
-
- 11 FACTOR: FUNCTION_NAME . FACTOR
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- FACTOR go to state 18
- FUNCTION_NAME go to state 11
-
-
-State 12
-
- 3 EXPR: EXPR . T_PLUS TERM
- 4 | EXPR . T_MINUS TERM
- 10 FACTOR: T_LBRACKET EXPR . T_RBRACKET
-
- T_PLUS shift, and go to state 14
- T_MINUS shift, and go to state 15
- T_RBRACKET shift, and go to state 19
-
-
-State 13
-
- 0 $accept: ROOT $end .
-
- $default accept
-
-
-State 14
-
- 3 EXPR: EXPR T_PLUS . TERM
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- TERM go to state 20
- FACTOR go to state 10
- FUNCTION_NAME go to state 11
-
-
-State 15
-
- 4 EXPR: EXPR T_MINUS . TERM
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- TERM go to state 21
- FACTOR go to state 10
- FUNCTION_NAME go to state 11
-
-
-State 16
-
- 6 TERM: TERM T_TIMES . FACTOR
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- FACTOR go to state 22
- FUNCTION_NAME go to state 11
-
-
-State 17
-
- 7 TERM: TERM T_DIVIDE . FACTOR
-
- T_LBRACKET shift, and go to state 1
- T_LOG shift, and go to state 2
- T_EXP shift, and go to state 3
- T_SQRT shift, and go to state 4
- T_NUMBER shift, and go to state 5
- T_VARIABLE shift, and go to state 6
-
- FACTOR go to state 23
- FUNCTION_NAME go to state 11
-
-
-State 18
-
- 11 FACTOR: FUNCTION_NAME FACTOR .
-
- $default reduce using rule 11 (FACTOR)
-
-
-State 19
-
- 10 FACTOR: T_LBRACKET EXPR T_RBRACKET .
-
- $default reduce using rule 10 (FACTOR)
-
-
-State 20
-
- 3 EXPR: EXPR T_PLUS TERM .
- 6 TERM: TERM . T_TIMES FACTOR
- 7 | TERM . T_DIVIDE FACTOR
-
- T_TIMES shift, and go to state 16
- T_DIVIDE shift, and go to state 17
-
- $default reduce using rule 3 (EXPR)
-
-
-State 21
-
- 4 EXPR: EXPR T_MINUS TERM .
- 6 TERM: TERM . T_TIMES FACTOR
- 7 | TERM . T_DIVIDE FACTOR
-
- T_TIMES shift, and go to state 16
- T_DIVIDE shift, and go to state 17
-
- $default reduce using rule 4 (EXPR)
-
-
-State 22
-
- 6 TERM: TERM T_TIMES FACTOR .
-
- $default reduce using rule 6 (TERM)
-
-
-State 23
-
- 7 TERM: TERM T_DIVIDE FACTOR .
-
- $default reduce using rule 7 (TERM)
diff --git a/c_parser/src/c_lexer.flex b/c_parser/src/c_lexer.flex
index b8a7e8a..670ec2b 100644
--- a/c_parser/src/c_lexer.flex
+++ b/c_parser/src/c_lexer.flex
@@ -1,7 +1,7 @@
%option noyywrap
%{
-// Avoid error "error: �fileno� was not declared in this scope"
+// Avoid error "error: fileno was not declared in this scope"
extern "C" int fileno(FILE *stream);
#include "c_parser.tab.hpp"
diff --git a/c_parser/src/c_parser.y b/c_parser/src/c_parser.y
index 9ef385f..a00ab82 100644
--- a/c_parser/src/c_parser.y
+++ b/c_parser/src/c_parser.y
@@ -1,4 +1,5 @@
%code requires{
+ #include "ast.hpp"
#include <cassert>