#include "libparser.h"
#include "lexer.cc"
Namespaces | |
namespace | std |
Defines | |
#define | YYBISON 1 |
#define | YYSKELETON_NAME "yacc.c" |
#define | YYPURE 0 |
#define | YYLSP_NEEDED 1 |
#define | yyparse utap_parse |
#define | yylex utap_lex |
#define | yyerror utap_error |
#define | yylval utap_lval |
#define | yychar utap_char |
#define | yydebug utap_debug |
#define | yynerrs utap_nerrs |
#define | yylloc utap_lloc |
#define | T_ASSIGNMENT 258 |
#define | T_ASSPLUS 259 |
#define | T_ASSMINUS 260 |
#define | T_ASSMULT 261 |
#define | T_ASSDIV 262 |
#define | T_ASSMOD 263 |
#define | T_ASSOR 264 |
#define | T_ASSAND 265 |
#define | T_ASSXOR 266 |
#define | T_ASSLSHIFT 267 |
#define | T_ASSRSHIFT 268 |
#define | T_EXCLAM 269 |
#define | T_INCREMENT 270 |
#define | T_DECREMENT 271 |
#define | T_PLUS 272 |
#define | T_MINUS 273 |
#define | T_MULT 274 |
#define | T_DIV 275 |
#define | T_MIN 276 |
#define | T_MAX 277 |
#define | T_MOD 278 |
#define | T_OR 279 |
#define | T_XOR 280 |
#define | T_LSHIFT 281 |
#define | T_RSHIFT 282 |
#define | T_BOOL_AND 283 |
#define | T_BOOL_OR 284 |
#define | T_KW_AND 285 |
#define | T_KW_OR 286 |
#define | T_KW_IMPLY 287 |
#define | T_KW_NOT 288 |
#define | T_LT 289 |
#define | T_LEQ 290 |
#define | T_EQ 291 |
#define | T_NEQ 292 |
#define | T_GEQ 293 |
#define | T_GT 294 |
#define | T_FOR 295 |
#define | T_WHILE 296 |
#define | T_DO 297 |
#define | T_BREAK 298 |
#define | T_CONTINUE 299 |
#define | T_SWITCH 300 |
#define | T_IF 301 |
#define | T_ELSE 302 |
#define | T_CASE 303 |
#define | T_DEFAULT 304 |
#define | T_RETURN 305 |
#define | T_CHAN_PRIORITY 306 |
#define | T_PROC_PRIORITY 307 |
#define | T_TYPEDEF 308 |
#define | T_STRUCT 309 |
#define | T_CONST 310 |
#define | T_OLDCONST 311 |
#define | T_URGENT 312 |
#define | T_BROADCAST 313 |
#define | T_TRUE 314 |
#define | T_FALSE 315 |
#define | T_META 316 |
#define | T_SYSTEM 317 |
#define | T_PROCESS 318 |
#define | T_STATE 319 |
#define | T_COMMIT 320 |
#define | T_INIT 321 |
#define | T_TRANS 322 |
#define | T_ARROW 323 |
#define | T_GUARD 324 |
#define | T_SYNC 325 |
#define | T_ASSIGN 326 |
#define | T_BEFORE 327 |
#define | T_AFTER 328 |
#define | T_PROGRESS 329 |
#define | T_DEADLOCK 330 |
#define | T_EF 331 |
#define | T_EG 332 |
#define | T_AF 333 |
#define | T_AG 334 |
#define | T_LEADSTO 335 |
#define | T_QUIT 336 |
#define | T_ERROR 337 |
#define | T_ID 338 |
#define | T_TYPENAME 339 |
#define | T_NAT 340 |
#define | T_NEW 341 |
#define | T_NEW_DECLARATION 342 |
#define | T_NEW_LOCAL_DECL 343 |
#define | T_NEW_INST 344 |
#define | T_NEW_SYSTEM 345 |
#define | T_NEW_PARAMETERS 346 |
#define | T_NEW_INVARIANT 347 |
#define | T_NEW_GUARD 348 |
#define | T_NEW_SYNC 349 |
#define | T_NEW_ASSIGN 350 |
#define | T_OLD 351 |
#define | T_OLD_DECLARATION 352 |
#define | T_OLD_LOCAL_DECL 353 |
#define | T_OLD_INST 354 |
#define | T_OLD_PARAMETERS 355 |
#define | T_OLD_INVARIANT 356 |
#define | T_OLD_GUARD 357 |
#define | T_OLD_ASSIGN 358 |
#define | T_PROPERTY 359 |
#define | T_EXPRESSION 360 |
#define | UOPERATOR 361 |
#define | YYLTYPE Position |
#define | REPORT_ERROR(loc, exc) utap_error(exc, loc.first_line, loc.first_column, loc.last_line, loc.last_column); |
#define | YYERROR_VERBOSE 1 |
#define | CALL(first, last, call) do { errorHandler->setCurrentPosition(first.first_line, first.first_column, last.last_line, last.last_column); ch->setPosition(position_t(first.first_line, first.first_column, last.last_line, last.last_column)); try { ch->call; } catch (TypeException &te) { errorHandler->handleError(te.what()); } } while (0) |
#define | YYDEBUG 0 |
#define | YYERROR_VERBOSE 1 |
#define | yystype YYSTYPE |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | YYFREE free |
#define | YYMALLOC malloc |
#define | YYSTACK_ALLOC YYMALLOC |
#define | YYSTACK_FREE YYFREE |
#define | YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
#define | YYSTACK_BYTES(N) |
#define | YYCOPY(To, From, Count) |
#define | YYSTACK_RELOCATE(Stack) |
#define | YYFINAL 79 |
#define | YYLAST 3116 |
#define | YYNTOKENS 121 |
#define | YYNNTS 122 |
#define | YYNRULES 390 |
#define | YYNSTATES 735 |
#define | YYUNDEFTOK 2 |
#define | YYMAXUTOK 361 |
#define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define | YYPACT_NINF -511 |
#define | YYTABLE_NINF -351 |
#define | YYSIZE_T unsigned int |
#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 | YYLLOC_DEFAULT(Current, Rhs, N) |
#define | YYLEX yylex () |
#define | YYDPRINTF(Args) |
#define | YYDSYMPRINT(Args) |
#define | YYDSYMPRINTF(Title, Token, Value, Location) |
#define | YY_STACK_PRINT(Bottom, Top) |
#define | YY_REDUCE_PRINT(Rule) |
#define | YYINITDEPTH 200 |
#define | YYMAXDEPTH 10000 |
#define | YYPOPSTACK (yyvsp--, yyssp--, yylsp--) |
Typedefs | |
typedef YYSTYPE | YYSTYPE |
typedef short int | yysigned_char |
Enumerations | |
enum | yytokentype { T_ASSIGNMENT = 258, T_ASSPLUS = 259, T_ASSMINUS = 260, T_ASSMULT = 261, T_ASSDIV = 262, T_ASSMOD = 263, T_ASSOR = 264, T_ASSAND = 265, T_ASSXOR = 266, T_ASSLSHIFT = 267, T_ASSRSHIFT = 268, T_EXCLAM = 269, T_INCREMENT = 270, T_DECREMENT = 271, T_PLUS = 272, T_MINUS = 273, T_MULT = 274, T_DIV = 275, T_MIN = 276, T_MAX = 277, T_MOD = 278, T_OR = 279, T_XOR = 280, T_LSHIFT = 281, T_RSHIFT = 282, T_BOOL_AND = 283, T_BOOL_OR = 284, T_KW_AND = 285, T_KW_OR = 286, T_KW_IMPLY = 287, T_KW_NOT = 288, T_LT = 289, T_LEQ = 290, T_EQ = 291, T_NEQ = 292, T_GEQ = 293, T_GT = 294, T_FOR = 295, T_WHILE = 296, T_DO = 297, T_BREAK = 298, T_CONTINUE = 299, T_SWITCH = 300, T_IF = 301, T_ELSE = 302, T_CASE = 303, T_DEFAULT = 304, T_RETURN = 305, T_CHAN_PRIORITY = 306, T_PROC_PRIORITY = 307, T_TYPEDEF = 308, T_STRUCT = 309, T_CONST = 310, T_OLDCONST = 311, T_URGENT = 312, T_BROADCAST = 313, T_TRUE = 314, T_FALSE = 315, T_META = 316, T_SYSTEM = 317, T_PROCESS = 318, T_STATE = 319, T_COMMIT = 320, T_INIT = 321, T_TRANS = 322, T_ARROW = 323, T_GUARD = 324, T_SYNC = 325, T_ASSIGN = 326, T_BEFORE = 327, T_AFTER = 328, T_PROGRESS = 329, T_DEADLOCK = 330, T_EF = 331, T_EG = 332, T_AF = 333, T_AG = 334, T_LEADSTO = 335, T_QUIT = 336, T_ERROR = 337, T_ID = 338, T_TYPENAME = 339, T_NAT = 340, T_NEW = 341, T_NEW_DECLARATION = 342, T_NEW_LOCAL_DECL = 343, T_NEW_INST = 344, T_NEW_SYSTEM = 345, T_NEW_PARAMETERS = 346, T_NEW_INVARIANT = 347, T_NEW_GUARD = 348, T_NEW_SYNC = 349, T_NEW_ASSIGN = 350, T_OLD = 351, T_OLD_DECLARATION = 352, T_OLD_LOCAL_DECL = 353, T_OLD_INST = 354, T_OLD_PARAMETERS = 355, T_OLD_INVARIANT = 356, T_OLD_GUARD = 357, T_OLD_ASSIGN = 358, T_PROPERTY = 359, T_EXPRESSION = 360, UOPERATOR = 361 } |
Functions | |
std::ostream & | operator<< (std::ostream &out, const position_t &loc) |
static void | utap_error (const char *msg) |
static void | utap_error (const TypeException &te, int32_t fl, int32_t fc, int32_t ll, int32_t lc) |
static int | lexer_flex () |
static int | utap_lex () |
static YYSIZE_T | yystrlen (yystr) const char *yystr |
int | yyparse () |
static void | setStartToken (xta_part_t part, bool newxta) |
static int32_t | parseXTA (ParserBuilder *aParserBuilder, ErrorHandler *err, bool newxta, xta_part_t part) |
static int32_t | parseProperty (ParserBuilder *aParserBuilder, ErrorHandler *err) |
int32_t | parseXTA (const char *str, ParserBuilder *builder, ErrorHandler *err, bool newxta, xta_part_t part) |
int32_t | parseXTA (FILE *file, ParserBuilder *builder, ErrorHandler *err, bool newxta) |
int32_t | parseProperty (const char *str, ParserBuilder *aParserBuilder, ErrorHandler *err) |
int32_t | parseProperty (FILE *file, ParserBuilder *aParserBuilder, ErrorHandler *err) |
Variables | |
static YYLTYPE | last_loc |
static ErrorHandler * | errorHandler |
static ParserBuilder * | ch |
static syntax_t | syntax |
static int | syntax_token = 0 |
static const char * | PE_ALT_TRANS = "alternative edge expected" |
static const char * | PE_ARGLIST = "argument expression list expected" |
static const char * | PE_ARGLIST_ = "one more argument expression expected" |
static const char * | PE_ARROW = "'->' expected" |
static const char * | PE_ASSIGN = "'=' expected" |
static const char * | PE_ASSIGN_EXP = "assignment expression expected" |
static const char * | PE_BANG = "'!' expected" |
static const char * | PE_BANGQUE = "'!' or '?' expected" |
static const char * | PE_COLON = "':' expected" |
static const char * | PE_CONST_EXP = "constant expression expected" |
static const char * | PE_EXPR = "expression expected" |
static const char * | PE_GUARD_EXP = "guard expression expected" |
static const char * | PE_GUARD_EXP_ = "one more guard expression expected" |
static const char * | PE_INV = "invariant expression expected" |
static const char * | PE_LBRACE = "'{' expected" |
static const char * | PE_LBRACES = "'(' or '{' expected" |
static const char * | PE_LOC_DECL = "location declaration expected" |
static const char * | PE_LPAREN = "'(' expected" |
static const char * | PE_MEMBER = "member declarations expected" |
static const char * | PE_MEMBERID = "member identifier expected" |
static const char * | PE_MEMBERTYPE = "member type identifier expected" |
static const char * | PE_PARAM_DECL_ = "one more parameter declaration expected" |
static const char * | PE_PARAMETERS = "parameters expected" |
static const char * | PE_PARAMETERS_ = "one more parameter expected" |
static const char * | PE_PARAMID = "parameter identifier expected" |
static const char * | PE_PROCID = "process identifiers expected" |
static const char * | PE_PROCID_ = "one more process identifier expected" |
static const char * | PE_QUE = "'?' expected" |
static const char * | PE_RBRACE = "'}' expected" |
static const char * | PE_RPAREN = "')' expected" |
static const char * | PE_SEMICOLON = "';' expected" |
static const char * | PE_STATE_DECL = "state declaration expected" |
static const char * | PE_STATE_DECL_ = "one more state declaration expected" |
static const char * | PE_STATEID = "state identifier expected" |
static const char * | PE_STATEID_ = "one more state identifier expected" |
static const char * | PE_SYNC_EXP = "synchronization expression expected" |
static const char * | PE_SYSTEM = "'system' expected" |
static const char * | PE_TRANS = "'trans' expected" |
static const char * | PE_TRANS_DECL = "edge declaration expected" |
static const char * | PE_TRANS_DECL_ = "one more edge declaration expected" |
static const char * | PE_TYPEID_ = "one more type identifier expected" |
static char | rootTransId [MAXLEN] |
static int32_t | g_parameter_count |
static const unsigned char | yytranslate [] |
static const char *const | yytname [] |
static const unsigned char | yyr1 [] |
static const unsigned char | yyr2 [] |
static const unsigned short int | yydefact [] |
static const short int | yydefgoto [] |
static const short int | yypact [] |
static const short int | yypgoto [] |
static const short int | yytable [] |
static const short int | yycheck [] |
static const unsigned char | yystos [] |
const char * | yysrc |
YYSTYPE * | yyvaluep |
YYLTYPE * | yylocationp |
int | yychar |
YYSTYPE | yylval |
int | yynerrs |
YYLTYPE | yylloc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ yyerror ("syntax error: cannot back up");\ YYERROR; \ } \ while (0) |
|
|
|
|
|
|
|
Value: do \ { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: ((Current).first_line = (Rhs)[1].first_line, \ (Current).first_column = (Rhs)[1].first_column, \ (Current).last_line = (Rhs)[N].last_line, \ (Current).last_column = (Rhs)[N].last_column) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: ((N) * (sizeof (short int) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + 2 * YYSTACK_GAP_MAXIMUM) |
|
|
|
|
|
Value: do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Initial value: { -1, 21, 23, 27, 381, 30, 31, 100, 98, 202, 286, 288, 385, 24, 86, 87, 88, 328, 269, 321, 37, 163, 192, 193, 330, 413, 414, 415, 276, 90, 264, 265, 164, 249, 293, 294, 344, 345, 39, 208, 92, 373, 322, 371, 372, 409, 436, 437, 475, 517, 548, 549, 589, 622, 645, 56, 673, 440, 441, 442, 472, 469, 489, 528, 411, 446, 490, 551, 553, 521, 556, 595, 633, 656, 657, 630, 631, 702, 701, 679, 703, 58, 491, 209, 210, 228, 53, 154, 54, 298, 60, 61, 165, 245, 306, 307, 166, 405, 431, 400, 359, 364, 312, 67, 68, 69, 398, 399, 428, 456, 457, 72, 536, 562, 563, 604, 637, 74, 76, 77, 182, 183 } |
|
|
|
|
|
|
|
|
|
|
|
Initial value: { -511, -511, -511, 37, -511, -52, -511, -511, 714, -511, -511, -511, -511, 819, -511, -511, -14, -511, 660, 850, 776, -20, -511, 607, -511, -304, -511, 432, -89, -10, -511, 568, 16, -74, -511, 589, -511, 494, -511, -511, -511, -511, -511, 516, 885, -511, -511, 426, 435, -511, -511, 329, -511, 273, 393, 261, 518, 467, -511, 460, -511, -511, -511, -511, 376, -510, -503, -511, -511, -511, -511, -511, -511, -511, -511, -511, 278, -511, -511, -511, -511, -11, -7, -511, -511, -511, -511, -511, -511, 532, -511, 898, -49, -511, -511, 553, -511, -511, -511, -511, -511, -511, -511, 602, 745, 754, -39, 904, -511, -511, 421, 425, -511, -511, 343, -511, 170, 291, -511, -511, -511, -511 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|