#include <assert.h>#include <stdlib.h>#include <stdio.h>#include <map>#include <vector>#include "do-lexer.h"#include "do-printer.h"#include "do-grammar.h"

Go to the source code of this file.
Classes | |
| union | YYSTYPE |
| union | yyalloc |
Defines | |
| #define | YYBISON 1 |
| #define | YYBISON_VERSION "2.4.1" |
| #define | YYSKELETON_NAME "yacc.c" |
| #define | YYPURE 0 |
| #define | YYPUSH 0 |
| #define | YYPULL 1 |
| #define | YYLSP_NEEDED 0 |
| #define | yyparse doparse |
| #define | yylex dolex |
| #define | yyerror doerror |
| #define | yylval dolval |
| #define | yychar dochar |
| #define | yydebug dodebug |
| #define | yynerrs donerrs |
| #define | YYSTTYPE char* |
| #define | YYDEBUG 0 |
| #define | YYERROR_VERBOSE 0 |
| #define | YYTOKEN_TABLE 0 |
| #define | YYSTYPE_IS_TRIVIAL 1 |
| #define | yystype YYSTYPE |
| #define | YYSTYPE_IS_DECLARED 1 |
| #define | YYSIZE_T unsigned int |
| #define | YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
| #define | YY_(msgid) msgid |
| #define | YYUSE(e) ((void) (e)) |
| #define | YYID(n) (n) |
| #define | YYSTACK_ALLOC YYMALLOC |
| #define | YYSTACK_FREE YYFREE |
| #define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| #define | YYMALLOC malloc |
| #define | YYFREE free |
| #define | YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
| #define | YYSTACK_BYTES(N) |
| #define | YYCOPY(To, From, Count) |
| #define | YYSTACK_RELOCATE(Stack_alloc, Stack) |
| #define | YYFINAL 2 |
| #define | YYLAST 68 |
| #define | YYNTOKENS 31 |
| #define | YYNNTS 14 |
| #define | YYNRULES 35 |
| #define | YYNSTATES 67 |
| #define | YYUNDEFTOK 2 |
| #define | YYMAXUTOK 285 |
| #define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| #define | YYPACT_NINF -22 |
| #define | YYTABLE_NINF -1 |
| #define | yyerrok (yyerrstatus = 0) |
| #define | yyclearin (yychar = YYEMPTY) |
| #define | YYEMPTY (-2) |
| #define | YYEOF 0 |
| #define | YYACCEPT goto yyacceptlab |
| #define | YYABORT goto yyabortlab |
| #define | YYERROR goto yyerrorlab |
| #define | YYFAIL goto yyerrlab |
| #define | YYRECOVERING() (!!yyerrstatus) |
| #define | YYBACKUP(Token, Value) |
| #define | YYTERROR 1 |
| #define | YYERRCODE 256 |
| #define | YYRHSLOC(Rhs, K) ((Rhs)[K]) |
| #define | YYLLOC_DEFAULT(Current, Rhs, N) |
| #define | YY_LOCATION_PRINT(File, Loc) ((void) 0) |
| #define | YYLEX yylex () |
| #define | YYDPRINTF(Args) |
| #define | YY_SYMBOL_PRINT(Title, Type, Value, Location) |
| #define | YY_STACK_PRINT(Bottom, Top) |
| #define | YY_REDUCE_PRINT(Rule) |
| #define | YYINITDEPTH 200 |
| #define | YYMAXDEPTH 10000 |
| #define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
Typedefs | |
| typedef unsigned char | yytype_uint8 |
| typedef short int | yytype_int8 |
| typedef unsigned short int | yytype_uint16 |
| typedef short int | yytype_int16 |
Enumerations | |
| enum | yytokentype { BRACE_OPEN = 258, BRACE_CLOSE = 259, COLON = 260, BRACKET_OPEN = 261, BRACKET_CLOSE = 262, SYMBOL = 263, NUMBER = 264, STRING = 265, DIMENSION_OPEN = 266, DIMENSION_CLOSE = 267, BRACE_OPEN = 258, BRACE_CLOSE = 259, COLON = 260, BRACKET_OPEN = 261, BRACKET_CLOSE = 262, SYMBOL = 263, NUMBER = 264, STRING = 265, DIMENSION_OPEN = 266, DIMENSION_CLOSE = 267, META = 258, NAME = 259, LPAREN = 260, RPAREN = 261, MESSAGE = 262, SEMICOLON = 263, NUMBER = 264, DATA = 265, COMMA = 266, LBRACE = 267, RBRACE = 268, STAR = 269, PRECOMPILER = 270, READ = 271, WRITE = 272, VOLATILE = 273, CLASS = 274, COLON = 275, VIRTUAL = 276, ASSIGNMENT = 277, EQUALITY = 278, NEQ = 279, OPERATOR = 280, TEMPLATE_OPEN = 281, TEMPLATE_CLOSE = 282, BRACKETS = 283, TILDE = 284, CONST = 285, META = 258, NAME = 259, LPAREN = 260, RPAREN = 261, MESSAGE = 262, SEMICOLON = 263, NUMBER = 264, DATA = 265, COMMA = 266, LBRACE = 267, RBRACE = 268, STAR = 269, PRECOMPILER = 270, READ = 271, WRITE = 272, VOLATILE = 273, CLASS = 274, COLON = 275, VIRTUAL = 276, ASSIGNMENT = 277, EQUALITY = 278, NEQ = 279, OPERATOR = 280, TEMPLATE_OPEN = 281, TEMPLATE_CLOSE = 282, BRACKETS = 283, TILDE = 284, CONST = 285 } |
Functions | |
| void | doerror (const char *text) |
| char * | cat (const char *a, const char *b) |
| char * | args2str (vector< s_arg > *args, char *sep=NULL) |
| char * | argnames2str (vector< s_arg > *args) |
| void | check_access_access (bool t) |
| int | yyparse () |
Variables | |
| bool | access_checks |
| outputbuf | object |
| outputbuf | methods |
| outputbuf | meta |
| outputbuf | globhead |
| char * | current_do |
| char * | current_pa |
| char * | makers_emitted_for |
| int | yytype |
| YYSTYPE * | yyvaluep |
| int | yychar |
| YYSTYPE | yylval |
| int | yynerrs |
| #define YY_ | ( | msgid | ) | msgid |
Definition at line 286 of file do-syntax.cpp.
| #define YY_LOCATION_PRINT | ( | File, | |||
| Loc | ) | ((void) 0) |
Definition at line 738 of file do-syntax.cpp.
| #define YY_REDUCE_PRINT | ( | Rule | ) |
Definition at line 911 of file do-syntax.cpp.
| #define YY_STACK_PRINT | ( | Bottom, | |||
| Top | ) |
Definition at line 910 of file do-syntax.cpp.
| #define YY_SYMBOL_PRINT | ( | Title, | |||
| Type, | |||||
| Value, | |||||
| Location | ) |
Definition at line 909 of file do-syntax.cpp.
| #define YYABORT goto yyabortlab |
Definition at line 667 of file do-syntax.cpp.
| #define YYACCEPT goto yyacceptlab |
Definition at line 666 of file do-syntax.cpp.
| #define YYBACKUP | ( | Token, | |||
| Value | ) |
Value:
do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0))
Definition at line 679 of file do-syntax.cpp.
| #define YYBISON 1 |
Definition at line 46 of file do-syntax.cpp.
| #define YYBISON_VERSION "2.4.1" |
Definition at line 49 of file do-syntax.cpp.
| #define yychar dochar |
Definition at line 71 of file do-syntax.cpp.
| #define yyclearin (yychar = YYEMPTY) |
Definition at line 662 of file do-syntax.cpp.
| #define YYDEBUG 0 |
Definition at line 147 of file do-syntax.cpp.
| #define yydebug dodebug |
Definition at line 72 of file do-syntax.cpp.
| #define YYDPRINTF | ( | Args | ) |
Definition at line 908 of file do-syntax.cpp.
| #define YYEMPTY (-2) |
Definition at line 663 of file do-syntax.cpp.
| #define YYEOF 0 |
Definition at line 664 of file do-syntax.cpp.
| #define YYERRCODE 256 |
Definition at line 698 of file do-syntax.cpp.
| #define yyerrok (yyerrstatus = 0) |
Definition at line 661 of file do-syntax.cpp.
| #define YYERROR goto yyerrorlab |
Definition at line 668 of file do-syntax.cpp.
| #define yyerror doerror |
Definition at line 69 of file do-syntax.cpp.
| #define YYERROR_VERBOSE 0 |
Definition at line 155 of file do-syntax.cpp.
| #define YYFAIL goto yyerrlab |
Definition at line 675 of file do-syntax.cpp.
| #define YYFINAL 2 |
Definition at line 442 of file do-syntax.cpp.
| #define YYFREE free |
Definition at line 375 of file do-syntax.cpp.
| #define YYID | ( | n | ) | (n) |
Definition at line 299 of file do-syntax.cpp.
| #define YYINITDEPTH 200 |
Definition at line 917 of file do-syntax.cpp.
| #define YYLAST 68 |
Definition at line 444 of file do-syntax.cpp.
| #define YYLEX yylex () |
Definition at line 748 of file do-syntax.cpp.
| #define yylex dolex |
Definition at line 68 of file do-syntax.cpp.
| #define YYLLOC_DEFAULT | ( | Current, | |||
| Rhs, | |||||
| N | ) |
Value:
do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0))
Definition at line 707 of file do-syntax.cpp.
| #define YYLSP_NEEDED 0 |
Definition at line 64 of file do-syntax.cpp.
Definition at line 70 of file do-syntax.cpp.
| #define YYMALLOC malloc |
Definition at line 368 of file do-syntax.cpp.
| #define YYMAXDEPTH 10000 |
Definition at line 928 of file do-syntax.cpp.
| #define YYMAXUTOK 285 |
Definition at line 457 of file do-syntax.cpp.
| #define yynerrs donerrs |
Definition at line 73 of file do-syntax.cpp.
| #define YYNNTS 14 |
Definition at line 449 of file do-syntax.cpp.
| #define YYNRULES 35 |
Definition at line 451 of file do-syntax.cpp.
| #define YYNSTATES 67 |
Definition at line 453 of file do-syntax.cpp.
| #define YYNTOKENS 31 |
Definition at line 447 of file do-syntax.cpp.
| #define YYPACT_NINF -22 |
Definition at line 602 of file do-syntax.cpp.
| #define yyparse doparse |
Definition at line 67 of file do-syntax.cpp.
| #define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
| #define YYPULL 1 |
Definition at line 61 of file do-syntax.cpp.
| #define YYPURE 0 |
Definition at line 55 of file do-syntax.cpp.
| #define YYPUSH 0 |
Definition at line 58 of file do-syntax.cpp.
| #define YYRECOVERING | ( | ) | (!!yyerrstatus) |
Definition at line 677 of file do-syntax.cpp.
| #define YYRHSLOC | ( | Rhs, | |||
| K | ) | ((Rhs)[K]) |
Definition at line 705 of file do-syntax.cpp.
| #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
Definition at line 276 of file do-syntax.cpp.
| #define YYSIZE_T unsigned int |
Definition at line 272 of file do-syntax.cpp.
| #define YYSKELETON_NAME "yacc.c" |
Definition at line 52 of file do-syntax.cpp.
| #define YYSTACK_ALLOC YYMALLOC |
Definition at line 354 of file do-syntax.cpp.
| #define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
Definition at line 357 of file do-syntax.cpp.
| #define YYSTACK_BYTES | ( | N | ) |
Value:
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM)
Definition at line 401 of file do-syntax.cpp.
| #define YYSTACK_FREE YYFREE |
Definition at line 355 of file do-syntax.cpp.
| #define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
Definition at line 397 of file do-syntax.cpp.
| #define YYSTACK_RELOCATE | ( | Stack_alloc, | |||
| Stack | ) |
Value:
do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0))
Definition at line 428 of file do-syntax.cpp.
| #define YYSTTYPE char* |
Definition at line 139 of file do-syntax.cpp.
| #define yystype YYSTYPE |
Definition at line 220 of file do-syntax.cpp.
| #define YYSTYPE_IS_DECLARED 1 |
Definition at line 221 of file do-syntax.cpp.
| #define YYSTYPE_IS_TRIVIAL 1 |
Definition at line 219 of file do-syntax.cpp.
| #define YYTABLE_NINF -1 |
Definition at line 625 of file do-syntax.cpp.
| #define YYTERROR 1 |
Definition at line 697 of file do-syntax.cpp.
| #define YYTOKEN_TABLE 0 |
Definition at line 160 of file do-syntax.cpp.
| #define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
Definition at line 459 of file do-syntax.cpp.
| #define YYUNDEFTOK 2 |
Definition at line 456 of file do-syntax.cpp.
| #define YYUSE | ( | e | ) | ((void) (e)) |
Definition at line 292 of file do-syntax.cpp.
| typedef short int yytype_int16 |
Definition at line 259 of file do-syntax.cpp.
| typedef short int yytype_int8 |
Definition at line 247 of file do-syntax.cpp.
| typedef unsigned short int yytype_uint16 |
Definition at line 253 of file do-syntax.cpp.
| typedef unsigned char yytype_uint8 |
Definition at line 238 of file do-syntax.cpp.
| enum yytokentype |
Definition at line 169 of file do-syntax.cpp.
| char* argnames2str | ( | vector< s_arg > * | args | ) |
Definition at line 113 of file do-syntax.cpp.


| char* args2str | ( | vector< s_arg > * | args, | |
| char * | sep = NULL | |||
| ) |
Definition at line 98 of file do-syntax.cpp.


| char* cat | ( | const char * | a, | |
| const char * | b | |||
| ) |
| void check_access_access | ( | bool | t | ) |
| void doerror | ( | const char * | text | ) |
Definition at line 2038 of file do-lexer.cpp.
| int yyparse | ( | ) |
| bool access_checks |
| char* current_do |
| char* current_pa |
| char* makers_emitted_for |
| int yychar |
Definition at line 1186 of file do-syntax.cpp.
Definition at line 1195 of file do-syntax.cpp.
| int yynerrs |
Definition at line 1198 of file do-syntax.cpp.
| int yytype |
Definition at line 1157 of file do-syntax.cpp.
Definition at line 1158 of file do-syntax.cpp.
1.5.9