include/node.hpp,96 #define AST_BASE_HPPAST_BASE_HPP2,21 class Node {Node7,64 virtual ~Node() {}~Node9,85 include/statement.hpp,786 #define AST_STATEMENT_HPPAST_STATEMENT_HPP2,26 class Statement : public Node {Statement7,74 Statement* next_statement;next_statement9,117 class CompoundStatement : public Statement {CompoundStatement26,524 Declaration* m_decl;m_decl28,580 Statement* m_statement;m_statement29,605 class SelectionStatement : public Statement {SelectionStatement45,1029 Statement* m_if;m_if47,1086 Statement* m_else;m_else48,1107 class ExpressionStatement : public Statement {ExpressionStatement62,1470 Expression* m_expr;m_expr64,1528 class JumpStatement : public Statement {JumpStatement78,1867 Expression* m_expr;m_expr80,1919 class IterationStatement : public Statement {IterationStatement94,2252 Statement* m_statement;m_statement96,2309 include/function.hpp,363 #define AST_FUNCTION_HPPAST_FUNCTION_HPP2,25 struct VarLocation {VarLocation7,72 Type* type;type8,93 int32_t stack_position;stack_position9,109 class Function : public Node {Function13,142 Type* type;type15,184 std::string id;id16,200 Declaration* parameter_list;parameter_list17,220 Statement* statement;statement18,253 include/expression.hpp,286 #define AST_EXPRESSION_HPPAST_EXPRESSION_HPP2,27 class Expression : public Node {Expression6,75 class Identifier : public Expression {Identifier16,267 std::string m_id;m_id18,315 class Constant : public Expression {Constant26,425 int32_t m_constant;m_constant28,471 include/translation_unit.hpp,163 #define EXTERNAL_HPPEXTERNAL_HPP2,21 class TranslationUnit : public Node {TranslationUnit7,64 std::vector translation_unit;translation_unit9,113 include/type.hpp,447 #define TYPE_HPPTYPE_HPP2,17 class Type : public Node {Type7,56 class Specifier : public Type {Specifier17,244 class Pointer : public Type {Pointer23,334 Type* pointer_type;pointer_type25,375 class Array : public Type {Array34,493 int32_t size;size36,532 Type* array_type;array_type37,550 class Void : public Specifier {Void46,681 class Int : public Specifier {Int54,784 class Char : public Specifier {Char62,885 include/ast.hpp,108 #define AST_HPPAST_HPP2,16 typedef std::map VariableStack;VariableStack12,145 include/declaration.hpp,297 #define AST_DECLARATION_HPPAST_DECLARATION_HPP2,28 class Declaration : public Node {Declaration8,127 Type* type;type10,170 std::string id;id11,186 Expression* init;init12,206 Declaration* next_decl;next_decl13,228 Declaration* list_next_decl;list_next_decl14,256 src/c_parser.tab.cpp,9030 #define YYBISON YYBISON44,2037 #define YYBISON_VERSION YYBISON_VERSION47,2078 #define YYSKELETON_NAME YYSKELETON_NAME50,2133 #define YYPURE YYPURE53,2188 #define YYPUSH YYPUSH56,2227 #define YYPULL YYPULL59,2266 # define YY_NULLPTR YY_NULLPTR70,2471 # define YY_NULLPTR YY_NULLPTR72,2509 # undef YYERROR_VERBOSEYYERROR_VERBOSE78,2614 # define YYERROR_VERBOSE YYERROR_VERBOSE79,2638 # define YYERROR_VERBOSE YYERROR_VERBOSE81,2671 # define YY_YY_C_COMPILER_SRC_C_PARSER_TAB_HPP_INCLUDEDYY_YY_C_COMPILER_SRC_C_PARSER_TAB_HPP_INCLUDED87,2863 # define YYDEBUG YYDEBUG90,2956 # define YYTOKENTYPEYYTOKENTYPE114,3494 enum yytokentypeyytokentype115,3515 T_IDENTIFIER = 258,T_IDENTIFIER117,3538 T_SC = 259,T_SC118,3562 T_CMA = 260,T_CMA119,3578 T_LRB = 261,T_LRB120,3595 T_LCB = 262,T_LCB121,3612 T_RCB = 263,T_RCB122,3629 T_LSB = 264,T_LSB123,3646 T_RSB = 265,T_RSB124,3663 T_QU = 266,T_QU125,3680 T_COL = 267,T_COL126,3696 T_LOG_OR = 268,T_LOG_OR127,3713 T_LOG_AND = 269,T_LOG_AND128,3733 T_OR = 270,T_OR129,3754 T_XOR = 271,T_XOR130,3770 T_AND = 272,T_AND131,3787 T_EQUALITY_OP = 273,T_EQUALITY_OP132,3804 T_REL_OP = 274,T_REL_OP133,3829 T_SHIFT_OP = 275,T_SHIFT_OP134,3849 T_MULT = 276,T_MULT135,3871 T_DIV = 277,T_DIV136,3889 T_REM = 278,T_REM137,3906 T_TILDE = 279,T_TILDE138,3923 T_NOT = 280,T_NOT139,3942 T_DOT = 281,T_DOT140,3959 T_ARROW = 282,T_ARROW141,3976 T_INCDEC = 283,T_INCDEC142,3995 T_ADDSUB_OP = 284,T_ADDSUB_OP143,4015 T_ASSIGN_OPER = 285,T_ASSIGN_OPER144,4038 T_EQ = 286,T_EQ145,4063 T_SIZEOF = 287,T_SIZEOF146,4079 T_INT_CONST = 288,T_INT_CONST147,4099 T_IF = 289,T_IF148,4122 T_WHILE = 290,T_WHILE149,4138 T_DO = 291,T_DO150,4157 T_FOR = 292,T_FOR151,4173 T_RETURN = 293,T_RETURN152,4190 T_VOID = 294,T_VOID153,4210 T_CHAR = 295,T_CHAR154,4228 T_SCHAR = 296,T_SCHAR155,4246 T_UCHAR = 297,T_UCHAR156,4265 T_SSINT = 298,T_SSINT157,4284 T_USINT = 299,T_USINT158,4303 T_LINT = 300,T_LINT159,4322 T_ULINT = 301,T_ULINT160,4340 T_UINT = 302,T_UINT161,4359 T_SINT = 303,T_SINT162,4377 T_RRB = 304,T_RRB163,4395 T_ELSE = 305T_ELSE164,4412 union YYSTYPEYYSTYPE171,4517 Node* node;node175,4589 TranslationUnit* trans_unit;trans_unit176,4605 Function* function;function177,4638 Statement* statement;statement178,4662 Declaration* declaration;declaration179,4688 Expression* expression;expression180,4718 Type* type;type181,4746 double number;number182,4762 std::string* string;string183,4781 typedef union YYSTYPE YYSTYPE;YYSTYPE188,4873 # define YYSTYPE_IS_TRIVIAL YYSTYPE_IS_TRIVIAL189,4904 # define YYSTYPE_IS_DECLARED YYSTYPE_IS_DECLARED190,4934 # undef shortshort205,5209 typedef YYTYPE_UINT8 yytype_uint8;yytype_uint8209,5251 typedef unsigned char yytype_uint8;yytype_uint8211,5292 typedef YYTYPE_INT8 yytype_int8;yytype_int8215,5355 typedef signed char yytype_int8;yytype_int8217,5394 typedef YYTYPE_UINT16 yytype_uint16;yytype_uint16221,5456 typedef unsigned short int yytype_uint16;yytype_uint16223,5499 typedef YYTYPE_INT16 yytype_int16;yytype_int16227,5569 typedef short int yytype_int16;yytype_int16229,5610 # define YYSIZE_T YYSIZE_T234,5689 # define YYSIZE_T YYSIZE_T236,5744 # define YYSIZE_T YYSIZE_T239,5853 # define YYSIZE_T YYSIZE_T241,5886 #define YYSIZE_MAXIMUM YYSIZE_MAXIMUM245,5934 # define YY_(YY_251,6104 # define YY_(YY_255,6190 # define YY_ATTRIBUTE(YY_ATTRIBUTE263,6447 # define YY_ATTRIBUTE(YY_ATTRIBUTE265,6503 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE_PURE270,6586 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE_UNUSED274,6677 # define _Noreturn _Noreturn280,6874 # define _Noreturn _Noreturn282,6923 # define YYUSE(YYUSE288,7083 # define YYUSE(YYUSE290,7120 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN295,7295 # define YY_IGNORE_MAYBE_UNINITIALIZED_END YY_IGNORE_MAYBE_UNINITIALIZED_END299,7505 # define YY_INITIAL_VALUE(YY_INITIAL_VALUE302,7591 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGINYY_IGNORE_MAYBE_UNINITIALIZED_BEGIN305,7681 # define YY_IGNORE_MAYBE_UNINITIALIZED_ENDYY_IGNORE_MAYBE_UNINITIALIZED_END306,7726 # define YY_INITIAL_VALUE(YY_INITIAL_VALUE309,7801 # define YYSTACK_ALLOC YYSTACK_ALLOC320,8049 # define YYSTACK_ALLOC YYSTACK_ALLOC324,8212 # define alloca alloca327,8332 # define YYSTACK_ALLOC YYSTACK_ALLOC329,8368 # define EXIT_SUCCESS EXIT_SUCCESS334,8598 # define YYSTACK_FREE(YYSTACK_FREE343,8748 # define YYSTACK_ALLOC_MAXIMUM YYSTACK_ALLOC_MAXIMUM349,9138 # define YYSTACK_ALLOC YYSTACK_ALLOC352,9220 # define YYSTACK_FREE YYSTACK_FREE353,9253 # define YYSTACK_ALLOC_MAXIMUM YYSTACK_ALLOC_MAXIMUM355,9315 # define EXIT_SUCCESS EXIT_SUCCESS362,9612 # define YYMALLOC YYMALLOC366,9677 # define YYFREE YYFREE372,9850 union yyallocyyalloc386,10246 yytype_int16 yyss_alloc;yyss_alloc388,10262 YYSTYPE yyvs_alloc;yyvs_alloc389,10289 # define YYSTACK_GAP_MAXIMUM YYSTACK_GAP_MAXIMUM393,10390 # define YYSTACK_BYTES(YYSTACK_BYTES397,10538 # define YYCOPY_NEEDED YYCOPY_NEEDED401,10653 # define YYSTACK_RELOCATE(YYSTACK_RELOCATE408,10962 # define YYCOPY(YYCOPY426,11841 # define YYCOPY(YYCOPY429,11947 #define YYFINAL YYFINAL442,12416 #define YYLAST YYLAST444,12476 #define YYNTOKENS YYNTOKENS447,12539 #define YYNNTS YYNNTS449,12602 #define YYNRULES YYNRULES451,12657 #define YYNSTATES YYNSTATES453,12717 #define YYUNDEFTOK YYUNDEFTOK457,12857 #define YYMAXUTOK YYMAXUTOK458,12879 #define YYTRANSLATE(YYTRANSLATE460,12904 static const yytype_uint8 yytranslate[] =yytranslate465,13180 static const yytype_uint16 yyrline[] =yyrline502,15546 static const char *const yytname[] =yytname522,16610 static const yytype_uint16 yytoknum[] =yytoknum552,18299 #define YYPACT_NINF YYPACT_NINF563,18727 #define yypact_value_is_default(yypact_value_is_default565,18753 #define YYTABLE_NINF YYTABLE_NINF568,18825 #define yytable_value_is_error(yytable_value_is_error570,18850 static const yytype_int16 yypact[] =yypact575,18992 static const yytype_uint8 yydefact[] =yydefact602,20659 static const yytype_int16 yypgoto[] =yypgoto627,22171 static const yytype_int16 yydefgoto[] =yydefgoto637,22582 static const yytype_uint8 yytable[] =yytable649,23168 static const yytype_int16 yycheck[] =yycheck698,26482 static const yytype_uint8 yystos[] =yystos749,29897 static const yytype_uint8 yyr1[] =yyr1774,31447 static const yytype_uint8 yyr2[] =yyr2791,32404 #define yyerrok yyerrok808,33286 #define yyclearin yyclearin809,33328 #define YYEMPTY YYEMPTY810,33371 #define YYEOF YYEOF811,33400 #define YYACCEPT YYACCEPT813,33427 #define YYABORT YYABORT814,33468 #define YYERROR YYERROR815,33508 #define YYRECOVERING(YYRECOVERING818,33550 #define YYBACKUP(YYBACKUP820,33591 #define YYTERROR YYTERROR838,34606 #define YYERRCODE YYERRCODE839,34632 # define YYFPRINTF YYFPRINTF848,34789 # define YYDPRINTF(YYDPRINTF851,34826 # define YY_LOCATION_PRINT(YY_LOCATION_PRINT859,35122 # define YY_SYMBOL_PRINT(YY_SYMBOL_PRINT863,35180 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)yy_symbol_value_print880,35981 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)yy_symbol_print899,36380 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)yy_stack_print914,36944 # define YY_STACK_PRINT(YY_STACK_PRINT925,37194 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)yy_reduce_print937,37641 # define YY_REDUCE_PRINT(YY_REDUCE_PRINT956,38249 int yydebug;yydebug964,38539 # define YYDPRINTF(YYDPRINTF966,38573 # define YY_SYMBOL_PRINT(YY_SYMBOL_PRINT967,38598 # define YY_STACK_PRINT(YY_STACK_PRINT968,38653 # define YY_REDUCE_PRINT(YY_REDUCE_PRINT969,38690 # define YYINITDEPTH YYINITDEPTH975,38824 # define YYMAXDEPTH YYMAXDEPTH986,39180 # define yystrlen yystrlen994,39299 yystrlen (const char *yystr)yystrlen998,39385 # define yystpcpy yystpcpy1010,39611 yystpcpy (char *yydest, const char *yysrc)yystpcpy1015,39749 yytnamerr (char *yyres, const char *yystr)yytnamerr1037,40397 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,yysyntax_error1085,41559 # define YYCASE_(YYCASE_1161,44945 # undef YYCASE_YYCASE_1171,45496 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)yydestruct1217,46620 int yychar;yychar1233,46928 YYSTYPE yylval;yylval1236,46992 int yynerrs;yynerrs1238,47047 yyparse (void)yyparse1246,47109 #define YYPOPSTACK(YYPOPSTACK1286,48119 TranslationUnit* g_root; // Definition of variable (to match declaration earlier)g_root2398,82507 TranslationUnit* parseAST() {parseAST2400,82590 src/function.cpp,249 Function::Function(const std::string& _id, Declaration* _parameter_list, Statement* _statement)Function6,45 void Function::print() constprint10,215 void Function::printxml() constprintxml21,403 void Function::printasm() constprintasm46,1054 src/c_lexer.yy.cpp,9407 #define YY_INT_ALIGNED YY_INT_ALIGNED5,82 #define FLEX_SCANNERFLEX_SCANNER9,160 #define YY_FLEX_MAJOR_VERSION YY_FLEX_MAJOR_VERSION10,181 #define YY_FLEX_MINOR_VERSION YY_FLEX_MINOR_VERSION11,213 #define YY_FLEX_SUBMINOR_VERSION YY_FLEX_SUBMINOR_VERSION12,245 #define FLEX_BETAFLEX_BETA14,313 #define FLEXINT_HFLEXINT_H30,611 #define __STDC_LIMIT_MACROS __STDC_LIMIT_MACROS40,922 typedef int8_t flex_int8_t;flex_int8_t44,982 typedef uint8_t flex_uint8_t;flex_uint8_t45,1010 typedef int16_t flex_int16_t;flex_int16_t46,1040 typedef uint16_t flex_uint16_t;flex_uint16_t47,1070 typedef int32_t flex_int32_t;flex_int32_t48,1102 typedef uint32_t flex_uint32_t;flex_uint32_t49,1132 typedef signed char flex_int8_t;flex_int8_t51,1170 typedef short int flex_int16_t;flex_int16_t52,1203 typedef int flex_int32_t;flex_int32_t53,1235 typedef unsigned char flex_uint8_t; flex_uint8_t54,1261 typedef unsigned short int flex_uint16_t;flex_uint16_t55,1298 typedef unsigned int flex_uint32_t;flex_uint32_t56,1340 #define INT8_MIN INT8_MIN60,1426 #define INT16_MIN INT16_MIN63,1489 #define INT32_MIN INT32_MIN66,1556 #define INT8_MAX INT8_MAX69,1627 #define INT16_MAX INT16_MAX72,1689 #define INT32_MAX INT32_MAX75,1753 #define UINT8_MAX UINT8_MAX78,1822 #define UINT16_MAX UINT16_MAX81,1886 #define UINT32_MAX UINT32_MAX84,1952 #define YY_USE_CONSTYY_USE_CONST94,2122 #define YY_USE_CONSTYY_USE_CONST101,2243 #define yyconst yyconst107,2345 #define yyconstyyconst109,2373 #define YY_NULL YY_NULL113,2430 #define YY_SC_TO_UI(YY_SC_TO_UI120,2677 #define BEGIN BEGIN126,2908 #define YY_START YY_START132,3107 #define YYSTATE YYSTATE133,3147 #define YY_STATE_EOF(YY_STATE_EOF136,3230 #define YY_NEW_FILE YY_NEW_FILE139,3350 #define YY_END_OF_BUFFER_CHAR YY_END_OF_BUFFER_CHAR141,3389 #define YY_BUF_SIZE YY_BUF_SIZE150,3655 #define YY_BUF_SIZE YY_BUF_SIZE152,3687 #define YY_STATE_BUF_SIZE YY_STATE_BUF_SIZE158,3837 #define YY_TYPEDEF_YY_BUFFER_STATEYY_TYPEDEF_YY_BUFFER_STATE161,3945 typedef struct yy_buffer_state *YY_BUFFER_STATE;YY_BUFFER_STATE162,3980 #define YY_TYPEDEF_YY_SIZE_TYY_TYPEDEF_YY_SIZE_T166,4066 typedef size_t yy_size_t;yy_size_t167,4095 #define EOB_ACT_CONTINUE_SCAN EOB_ACT_CONTINUE_SCAN174,4183 #define EOB_ACT_END_OF_FILE EOB_ACT_END_OF_FILE175,4215 #define EOB_ACT_LAST_MATCH EOB_ACT_LAST_MATCH176,4245 #define YY_LESS_LINENO(YY_LESS_LINENO178,4275 #define YY_LINENO_REWIND_TO(YY_LINENO_REWIND_TO179,4305 #define yyless(yyless182,4427 #define unput(unput195,4782 #define YY_STRUCT_YY_BUFFER_STATEYY_STRUCT_YY_BUFFER_STATE198,4862 struct yy_buffer_stateyy_buffer_state199,4896 FILE *yy_input_file;yy_input_file201,4922 char *yy_ch_buf; /* input buffer */yy_ch_buf203,4945 char *yy_buf_pos; /* current position in input buffer */yy_buf_pos204,4983 yy_size_t yy_buf_size;yy_buf_size209,5126 int yy_n_chars;yy_n_chars214,5236 int yy_is_our_buffer;yy_is_our_buffer220,5398 int yy_is_interactive;yy_is_interactive227,5636 int yy_at_bol;yy_at_bol233,5803 int yy_bs_lineno; /**< The line count. */yy_bs_lineno235,5820 int yy_bs_column; /**< The column count. */yy_bs_column236,5866 int yy_fill_buffer;yy_fill_buffer241,6001 int yy_buffer_status;yy_buffer_status243,6023 #define YY_BUFFER_NEW YY_BUFFER_NEW245,6047 #define YY_BUFFER_NORMAL YY_BUFFER_NORMAL246,6071 #define YY_BUFFER_EOF_PENDING YY_BUFFER_EOF_PENDING257,6569 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */yy_buffer_stack_top263,6677 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */yy_buffer_stack_max264,6747 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */yy_buffer_stack265,6813 #define YY_CURRENT_BUFFER YY_CURRENT_BUFFER273,7081 #define YY_CURRENT_BUFFER_LVALUE YY_CURRENT_BUFFER_LVALUE280,7377 static char yy_hold_char;yy_hold_char283,7519 static int yy_n_chars; /* number of characters read into yy_ch_buf */yy_n_chars284,7545 yy_size_t yyleng;yyleng285,7616 static char *yy_c_buf_p = (char *) 0;yy_c_buf_p288,7680 static int yy_init = 0; /* whether we need to initialize */yy_init289,7718 static int yy_start = 0; /* start state number */yy_start290,7779 static int yy_did_buffer_switch_on_eof;yy_did_buffer_switch_on_eof295,7958 #define YY_FLUSH_BUFFER YY_FLUSH_BUFFER309,8478 #define yy_new_buffer yy_new_buffer319,8820 #define yy_set_interactive(yy_set_interactive321,8860 #define yy_set_bol(yy_set_bol331,9136 #define YY_AT_BOL(YY_AT_BOL341,9379 #define yywrap(yywrap345,9462 #define YY_SKIP_YYWRAPYY_SKIP_YYWRAP346,9496 typedef unsigned char YY_CHAR;YY_CHAR348,9520 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;yyin350,9552 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;yyout350,9552 typedef int yy_state_type;yy_state_type352,9599 int yylineno = 1;yylineno356,9649 #undef yytext_ptryytext_ptr360,9707 #define yytext_ptr yytext_ptr362,9732 #define YY_DO_BEFORE_ACTION YY_DO_BEFORE_ACTION375,10161 #define YY_NUM_RULES YY_NUM_RULES382,10324 #define YY_END_OF_BUFFER YY_END_OF_BUFFER383,10348 struct yy_trans_infoyy_trans_info386,10457 flex_int32_t yy_verify;yy_verify388,10481 flex_int32_t yy_nxt;yy_nxt389,10506 static yyconst flex_int16_t yy_accept[166] =yy_accept391,10532 static yyconst YY_CHAR yy_ec[256] =yy_ec413,11672 static yyconst YY_CHAR yy_meta[55] =yy_meta445,13389 static yyconst flex_uint16_t yy_base[168] =yy_base455,13799 static yyconst flex_int16_t yy_def[168] =yy_def477,14950 static yyconst flex_uint16_t yy_nxt[284] =yy_nxt499,16099 static yyconst flex_int16_t yy_chk[284] =yy_chk534,18006 static yy_state_type yy_last_accepting_state;yy_last_accepting_state569,19912 static char *yy_last_accepting_cpos;yy_last_accepting_cpos570,19958 int yy_flex_debug = 0;yy_flex_debug573,20022 #define REJECT REJECT578,20148 #define yymore(yymore579,20192 #define YY_MORE_ADJ YY_MORE_ADJ580,20238 #define YY_RESTORE_YY_MORE_OFFSETYY_RESTORE_YY_MORE_OFFSET581,20260 char *yytext;yytext582,20294 #define INITIAL INITIAL590,20457 #define YY_EXTRA_TYPE YY_EXTRA_TYPE601,20759 #define YY_READ_BUF_SIZE YY_READ_BUF_SIZE675,22080 #define YY_READ_BUF_SIZE YY_READ_BUF_SIZE677,22117 #define ECHO ECHO686,22357 #define YY_INPUT(YY_INPUT693,22567 #define yyterminate(yyterminate730,23481 #define YY_START_STACK_INCR YY_START_STACK_INCR735,23616 #define YY_FATAL_ERROR(YY_FATAL_ERROR740,23706 #define YY_DECL_IS_OURS YY_DECL_IS_OURS749,23939 #define YY_DECL YY_DECL753,23992 #define YY_USER_ACTIONYY_USER_ACTION760,24168 #define YY_BREAK YY_BREAK765,24261 #define YY_RULE_SETUP YY_RULE_SETUP768,24303 static int yy_get_next_buffer (void)yy_get_next_buffer1268,35271 static yy_state_type yy_get_previous_state (void)yy_get_previous_state1402,38843 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )yy_try_NUL_trans1434,39718 static void yyunput (int c, char * yy_bp )yyunput1459,40385 static int yyinput (void)yyinput1500,41414 void yyrestart (FILE * input_file )yyrestart1577,43181 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )yy_switch_to_buffer1594,43542 static void yy_load_buffer_state (void)yy_load_buffer_state1625,44385 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )yy_create_buffer1639,44858 void yy_delete_buffer (YY_BUFFER_STATE b )yy_delete_buffer1667,45560 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )yy_init_buffer1686,46009 void yy_flush_buffer (YY_BUFFER_STATE b )yy_flush_buffer1714,46742 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )yypush_buffer_state1743,47428 void yypop_buffer_state (void)yypop_buffer_state1773,48193 static void yyensure_buffer_stack (void)yyensure_buffer_stack1792,48588 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )yy_scan_buffer1841,50272 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )yy_scan_string1878,51345 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )yy_scan_bytes1891,51762 #define YY_EXIT_FAILURE YY_EXIT_FAILURE1922,52497 static void yy_fatal_error (yyconst char* msg )yy_fatal_error1925,52531 #undef yylessyyless1933,52708 #define yyless(yyless1934,52722 int yyget_lineno (void)yyget_lineno1953,53181 FILE *yyget_in (void)yyget_in1962,53275 FILE *yyget_out (void)yyget_out1970,53359 yy_size_t yyget_leng (void)yyget_leng1978,53459 char *yyget_text (void)yyget_text1987,53552 void yyset_lineno (int _line_number )yyset_lineno1996,53681 void yyset_in (FILE * _in_str )yyset_in2008,53909 void yyset_out (FILE * _out_str )yyset_out2013,53972 int yyget_debug (void)yyget_debug2018,54039 void yyset_debug (int _bdebug )yyset_debug2023,54098 static int yy_init_globals (void)yy_init_globals2028,54170 int yylex_destroy (void)yylex_destroy2057,54852 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )yy_flex_strncpy2083,55406 static int yy_flex_strlen (yyconst char * s )yy_flex_strlen2093,55561 void *yyalloc (yy_size_t size )yyalloc2103,55669 void *yyrealloc (void * ptr, yy_size_t size )yyrealloc2108,55742 void yyfree (void * ptr )yyfree2121,56201 #define YYTABLES_NAME YYTABLES_NAME2126,56297 void yyerror(char const *s) {yyerror2132,56373 src/expression.cpp,312 void Expression::print() constprint6,47 void Expression::printxml() constprintxml9,82 Identifier::Identifier(const std::string& id)Identifier15,147 void Identifier::printasm() constprintasm19,212 Constant::Constant(const int32_t& constant)Constant25,275 void Constant::printasm() constprintasm29,350 src/statement.cpp,2074 Statement::Statement(Statement* statement)Statement6,59 void Statement::addStatement(Statement* _next)addStatement10,138 CompoundStatement::CompoundStatement(Declaration* decl, Statement* statement)CompoundStatement18,253 CompoundStatement::CompoundStatement(Statement* statement)CompoundStatement22,391 void CompoundStatement::print() constprint26,483 void CompoundStatement::printxml() constprintxml35,629 void CompoundStatement::printasm() constprintasm51,945 void CompoundStatement::count_variables(int32_t& var_count) constcount_variables62,1154 void CompoundStatement::make_variables(VariableStack var_stack, int32_t& var_count) constmake_variables87,1715 SelectionStatement::SelectionStatement(Statement* _if, Statement* _else)SelectionStatement95,1851 void SelectionStatement::print() constprint98,1972 void SelectionStatement::printxml() constprintxml104,2056 void SelectionStatement::printasm() constprintasm114,2256 void SelectionStatement::count_variables(int32_t& var_count) constcount_variables117,2302 ExpressionStatement::ExpressionStatement(Expression* expr)ExpressionStatement132,2614 void ExpressionStatement::print() constprint136,2709 void ExpressionStatement::printxml() constprintxml139,2753 void ExpressionStatement::printasm() constprintasm142,2800 void ExpressionStatement::count_variables(int32_t& var_count) constcount_variables145,2847 JumpStatement::JumpStatement(Expression* expr)JumpStatement154,3030 void JumpStatement::print() constprint158,3100 void JumpStatement::printxml() constprintxml161,3138 void JumpStatement::printasm() constprintasm167,3243 void JumpStatement::count_variables(int32_t& var_count) constcount_variables172,3309 IterationStatement::IterationStatement(Statement* statement)IterationStatement181,3491 void IterationStatement::print() constprint185,3585 void IterationStatement::printxml() constprintxml188,3628 void IterationStatement::printasm() constprintasm196,3795 void IterationStatement::count_variables(int32_t& var_count) constcount_variables199,3841 src/c_parser.tab.hpp,2446 # define YY_YY_C_COMPILER_SRC_C_PARSER_TAB_HPP_INCLUDEDYY_YY_C_COMPILER_SRC_C_PARSER_TAB_HPP_INCLUDED34,1569 # define YYDEBUG YYDEBUG37,1662 # define YYTOKENTYPEYYTOKENTYPE61,2201 enum yytokentypeyytokentype62,2222 T_IDENTIFIER = 258,T_IDENTIFIER64,2245 T_SC = 259,T_SC65,2269 T_CMA = 260,T_CMA66,2285 T_LRB = 261,T_LRB67,2302 T_LCB = 262,T_LCB68,2319 T_RCB = 263,T_RCB69,2336 T_LSB = 264,T_LSB70,2353 T_RSB = 265,T_RSB71,2370 T_QU = 266,T_QU72,2387 T_COL = 267,T_COL73,2403 T_LOG_OR = 268,T_LOG_OR74,2420 T_LOG_AND = 269,T_LOG_AND75,2440 T_OR = 270,T_OR76,2461 T_XOR = 271,T_XOR77,2477 T_AND = 272,T_AND78,2494 T_EQUALITY_OP = 273,T_EQUALITY_OP79,2511 T_REL_OP = 274,T_REL_OP80,2536 T_SHIFT_OP = 275,T_SHIFT_OP81,2556 T_MULT = 276,T_MULT82,2578 T_DIV = 277,T_DIV83,2596 T_REM = 278,T_REM84,2613 T_TILDE = 279,T_TILDE85,2630 T_NOT = 280,T_NOT86,2649 T_DOT = 281,T_DOT87,2666 T_ARROW = 282,T_ARROW88,2683 T_INCDEC = 283,T_INCDEC89,2702 T_ADDSUB_OP = 284,T_ADDSUB_OP90,2722 T_ASSIGN_OPER = 285,T_ASSIGN_OPER91,2745 T_EQ = 286,T_EQ92,2770 T_SIZEOF = 287,T_SIZEOF93,2786 T_INT_CONST = 288,T_INT_CONST94,2806 T_IF = 289,T_IF95,2829 T_WHILE = 290,T_WHILE96,2845 T_DO = 291,T_DO97,2864 T_FOR = 292,T_FOR98,2880 T_RETURN = 293,T_RETURN99,2897 T_VOID = 294,T_VOID100,2917 T_CHAR = 295,T_CHAR101,2935 T_SCHAR = 296,T_SCHAR102,2953 T_UCHAR = 297,T_UCHAR103,2972 T_SSINT = 298,T_SSINT104,2991 T_USINT = 299,T_USINT105,3010 T_LINT = 300,T_LINT106,3029 T_ULINT = 301,T_ULINT107,3047 T_UINT = 302,T_UINT108,3066 T_SINT = 303,T_SINT109,3084 T_RRB = 304,T_RRB110,3102 T_ELSE = 305T_ELSE111,3119 union YYSTYPEYYSTYPE118,3224 Node* node;node122,3297 TranslationUnit* trans_unit;trans_unit123,3313 Function* function;function124,3346 Statement* statement;statement125,3370 Declaration* declaration;declaration126,3396 Expression* expression;expression127,3426 Type* type;type128,3454 double number;number129,3470 std::string* string;string130,3489 typedef union YYSTYPE YYSTYPE;YYSTYPE135,3582 # define YYSTYPE_IS_TRIVIAL YYSTYPE_IS_TRIVIAL136,3613 # define YYSTYPE_IS_DECLARED YYSTYPE_IS_DECLARED137,3643 src/compiler_main.cpp,43 int main(int argc, char *argv[])main5,41 src/declaration.cpp,654 Declaration::Declaration(const std::string& _id)Declaration6,48 void Declaration::print() constprint10,115 void Declaration::printxml() constprintxml19,255 void Declaration::printasm() constprintasm32,504 void Declaration::addDeclaration(Declaration* _next_decl)addDeclaration42,746 void Declaration::addList(Declaration* _next_decl)addList47,837 void Declaration::setType(Type* _type)setType52,926 Declaration* Declaration::getNext() constgetNext57,988 Declaration* Declaration::getNextListItem() constgetNextListItem62,1057 std::string Declaration::getId() constgetId67,1139 std::string Declaration::getType() constgetType72,1198 src/translation_unit.cpp,276 TranslationUnit::TranslationUnit(Node* decl)TranslationUnit6,53 void TranslationUnit::print() constprint11,119 void TranslationUnit::printxml() constprintxml18,223 void TranslationUnit::printasm() constprintasm27,445 void TranslationUnit::push(Node* decl)push34,555 src/type.cpp,626 void Type::print() constprint6,41 void Type::printxml() constprintxml11,119 void Type::printasm() constprintasm14,151 Pointer::Pointer(Type* _pointer_type) : pointer_type(_pointer_type)Pointer20,207 std::string Pointer::getType() constgetType23,279 Array::Array(Type* _array_type, int32_t _size) : size(_size), array_type(_array_type)Array31,392 std::string Array::getType() constgetType34,482 Void::Void()Void42,588 std::string Void::getType() constgetType45,605 Int::Int()Int53,682 std::string Int::getType() constgetType56,697 Char::Char()Char64,774 std::string Char::getType() constgetType67,791 src/c_parser.y,1943 ROOT:ROOT74,2156 TranslationUnit:TranslationUnit80,2226 ExternalDeclaration:ExternalDeclaration85,2367 FunctionDefinition:FunctionDefinition92,2492 ParameterList:ParameterList96,2628 Parameter:Parameter102,2787 DeclarationList:DeclarationList108,2881 Declaration:Declaration113,2998 DeclarationSpec:DeclarationSpec125,3233 InitDeclaratorList:InitDeclaratorList138,3543 InitDeclarator:InitDeclarator143,3695 Declarator:Declarator148,3831 DirectDeclarator:DirectDeclarator153,3920 IdentifierList:IdentifierList162,4241 StatementList:StatementList168,4380 Statement:Statement173,4487 CompoundStatement:CompoundStatement181,4678 CompoundStatement_2:CompoundStatement_2185,4743 SelectionStatement:SelectionStatement192,5008 ExpressionStatement:ExpressionStatement197,5209 JumpStatement:JumpStatement202,5332 IterationStatement:IterationStatement206,5413 Expression:Expression214,5664 AssignmentExpression:AssignmentExpression218,5717 ASSIGN_OPER:ASSIGN_OPER223,5846 ConditionalExpression:ConditionalExpression228,5899 LogicalOrExpression:LogicalOrExpression233,6042 LogicalAndExpression:LogicalAndExpression238,6170 InclusiveOrExpression:InclusiveOrExpression243,6303 ExclusiveOrExpression:ExclusiveOrExpression248,6433 AndExpression:AndExpression253,6548 EqualityExpression:EqualityExpression258,6657 RelationalExpression:RelationalExpression263,6795 ShiftExpression:ShiftExpression268,6921 AdditiveExpression:AdditiveExpression273,7039 MultiplicativeExpression:MultiplicativeExpression278,7176 MultDivRemOP:MultDivRemOP283,7306 CastExpression:CastExpression289,7391 UnaryExpression:UnaryExpression294,7502 UnaryOperator:UnaryOperator302,7750 PostfixExpression:PostfixExpression310,7888 PostfixExpression2:PostfixExpression2319,8212 ArgumentExpressionList:ArgumentExpressionList324,8329 PrimaryExpression:PrimaryExpression329,8460 Constant:Constant335,8599 test/out/03.s,16 main:main3,20 test/out/01.s,16 main:main3,20 test/out/04.s,28 main:main3,20 f:f14,153 test/out/05.s,0 test/out/02.s,16 main:main3,20 test/in/02.c,22 int main() {main1,0 test/in/05.c,44 char *glob;glob1,0 int main() {main3,13 test/in/01.c,22 int main() {main1,0 test/in/03.c,22 int main() {main1,0 test/in/04.c,51 int main() {main1,0 int f(int a, int v) {f7,55 test/ref/03.s,18 main:main15,207 test/ref/01.s,18 main:main15,207 test/ref/04.s,30 main:main15,207 f:f47,695 test/ref/05.s,36 $LC0:$LC012,145 main:main21,267 test/ref/02.s,18 main:main15,207