#include "libparser.h"
#include "utap/position.h"
#include "lexer.cc"
Namespaces | |
namespace | std |
Defines | |
#define | YYBISON 1 |
#define | YYBISON_VERSION "2.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_FORALL 289 |
#define | T_EXISTS 290 |
#define | T_LT 291 |
#define | T_LEQ 292 |
#define | T_EQ 293 |
#define | T_NEQ 294 |
#define | T_GEQ 295 |
#define | T_GT 296 |
#define | T_FOR 297 |
#define | T_WHILE 298 |
#define | T_DO 299 |
#define | T_BREAK 300 |
#define | T_CONTINUE 301 |
#define | T_SWITCH 302 |
#define | T_IF 303 |
#define | T_ELSE 304 |
#define | T_CASE 305 |
#define | T_DEFAULT 306 |
#define | T_RETURN 307 |
#define | T_PRIORITY 308 |
#define | T_TYPEDEF 309 |
#define | T_STRUCT 310 |
#define | T_CONST 311 |
#define | T_OLDCONST 312 |
#define | T_URGENT 313 |
#define | T_BROADCAST 314 |
#define | T_TRUE 315 |
#define | T_FALSE 316 |
#define | T_META 317 |
#define | T_SYSTEM 318 |
#define | T_PROCESS 319 |
#define | T_STATE 320 |
#define | T_COMMIT 321 |
#define | T_INIT 322 |
#define | T_TRANS 323 |
#define | T_SELECT 324 |
#define | T_GUARD 325 |
#define | T_SYNC 326 |
#define | T_ASSIGN 327 |
#define | T_BEFORE 328 |
#define | T_AFTER 329 |
#define | T_PROGRESS 330 |
#define | T_ARROW 331 |
#define | T_UNCONTROL_ARROW 332 |
#define | T_WINNING 333 |
#define | T_LOSING 334 |
#define | T_DEADLOCK 335 |
#define | T_EF 336 |
#define | T_EG 337 |
#define | T_AF 338 |
#define | T_AG 339 |
#define | T_LEADSTO 340 |
#define | T_ERROR 341 |
#define | T_ID 342 |
#define | T_TYPENAME 343 |
#define | T_NAT 344 |
#define | T_BOOL 345 |
#define | T_INT 346 |
#define | T_CHAN 347 |
#define | T_CLOCK 348 |
#define | T_VOID 349 |
#define | T_SCALAR 350 |
#define | T_NEW 351 |
#define | T_NEW_DECLARATION 352 |
#define | T_NEW_LOCAL_DECL 353 |
#define | T_NEW_INST 354 |
#define | T_NEW_SYSTEM 355 |
#define | T_NEW_PARAMETERS 356 |
#define | T_NEW_INVARIANT 357 |
#define | T_NEW_GUARD 358 |
#define | T_NEW_SYNC 359 |
#define | T_NEW_ASSIGN 360 |
#define | T_NEW_SELECT 361 |
#define | T_OLD 362 |
#define | T_OLD_DECLARATION 363 |
#define | T_OLD_LOCAL_DECL 364 |
#define | T_OLD_INST 365 |
#define | T_OLD_PARAMETERS 366 |
#define | T_OLD_INVARIANT 367 |
#define | T_OLD_GUARD 368 |
#define | T_OLD_ASSIGN 369 |
#define | T_PROPERTY 370 |
#define | T_EXPRESSION 371 |
#define | UOPERATOR 372 |
#define | YYLLOC_DEFAULT(Current, Rhs, N) |
#define | YYLTYPE position_t |
#define | YYERROR_VERBOSE 1 |
#define | CALL(first, last, call) do { ch->setPosition(first.start, last.end); try { ch->call; } catch (TypeException &te) { ch->handleError(te.what()); } } while (0) |
#define | YYDEBUG 0 |
#define | YYERROR_VERBOSE 1 |
#define | YYTOKEN_TABLE 0 |
#define | yystype YYSTYPE |
#define | YYSTYPE_IS_DECLARED 1 |
#define | YYSTYPE_IS_TRIVIAL 1 |
#define | YYSIZE_T unsigned int |
#define | YY_(msgid) msgid |
#define | YYSTACK_ALLOC YYMALLOC |
#define | YYSTACK_FREE YYFREE |
#define | YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1) |
#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) |
#define | YYFINAL 91 |
#define | YYLAST 3692 |
#define | YYNTOKENS 132 |
#define | YYNNTS 150 |
#define | YYNRULES 388 |
#define | YYNSTATES 762 |
#define | YYUNDEFTOK 2 |
#define | YYMAXUTOK 372 |
#define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
#define | YYPACT_NINF -651 |
#define | YYTABLE_NINF -362 |
#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 | 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 (yyvsp--, yyssp--, yylsp--) |
#define | YYERROR_VERBOSE_ARGS_MAXIMUM 5 |
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_FORALL = 289, T_EXISTS = 290, T_LT = 291, T_LEQ = 292, T_EQ = 293, T_NEQ = 294, T_GEQ = 295, T_GT = 296, T_FOR = 297, T_WHILE = 298, T_DO = 299, T_BREAK = 300, T_CONTINUE = 301, T_SWITCH = 302, T_IF = 303, T_ELSE = 304, T_CASE = 305, T_DEFAULT = 306, T_RETURN = 307, T_PRIORITY = 308, T_TYPEDEF = 309, T_STRUCT = 310, T_CONST = 311, T_OLDCONST = 312, T_URGENT = 313, T_BROADCAST = 314, T_TRUE = 315, T_FALSE = 316, T_META = 317, T_SYSTEM = 318, T_PROCESS = 319, T_STATE = 320, T_COMMIT = 321, T_INIT = 322, T_TRANS = 323, T_SELECT = 324, T_GUARD = 325, T_SYNC = 326, T_ASSIGN = 327, T_BEFORE = 328, T_AFTER = 329, T_PROGRESS = 330, T_ARROW = 331, T_UNCONTROL_ARROW = 332, T_WINNING = 333, T_LOSING = 334, T_DEADLOCK = 335, T_EF = 336, T_EG = 337, T_AF = 338, T_AG = 339, T_LEADSTO = 340, T_ERROR = 341, T_ID = 342, T_TYPENAME = 343, T_NAT = 344, T_BOOL = 345, T_INT = 346, T_CHAN = 347, T_CLOCK = 348, T_VOID = 349, T_SCALAR = 350, T_NEW = 351, T_NEW_DECLARATION = 352, T_NEW_LOCAL_DECL = 353, T_NEW_INST = 354, T_NEW_SYSTEM = 355, T_NEW_PARAMETERS = 356, T_NEW_INVARIANT = 357, T_NEW_GUARD = 358, T_NEW_SYNC = 359, T_NEW_ASSIGN = 360, T_NEW_SELECT = 361, T_OLD = 362, T_OLD_DECLARATION = 363, T_OLD_LOCAL_DECL = 364, T_OLD_INST = 365, T_OLD_PARAMETERS = 366, T_OLD_INVARIANT = 367, T_OLD_GUARD = 368, T_OLD_ASSIGN = 369, T_PROPERTY = 370, T_EXPRESSION = 371, UOPERATOR = 372 } |
Functions | |
static void | utap_error (const char *msg) |
static int | lexer_flex () |
static int | utap_lex () |
static YYSIZE_T | yystrlen (yystr) const char *yystr |
int | yyparse () |
Variables | |
static ParserBuilder * | ch |
static syntax_t | syntax |
static int | syntax_token = 0 |
static char | rootTransId [MAXLEN] |
static int | types = 0 |
static const unsigned char | yytranslate [] |
static const char *const | yytname [] |
static const unsigned short int | 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 short int | yystos [] |
const char * | yysrc |
int | yytype |
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 (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) |
|
|
|
|
|
|
|
|
|
Value: do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Value: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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, 22, 24, 77, 100, 450, 217, 101, 102, 313, 377, 314, 315, 103, 212, 302, 220, 379, 25, 104, 105, 106, 425, 304, 42, 43, 186, 221, 222, 320, 427, 483, 484, 485, 231, 232, 330, 459, 108, 295, 296, 362, 187, 70, 226, 227, 323, 324, 383, 45, 110, 418, 448, 27, 476, 500, 501, 532, 579, 612, 613, 678, 679, 654, 698, 699, 696, 71, 712, 708, 64, 726, 494, 533, 534, 535, 536, 565, 562, 569, 572, 517, 553, 454, 481, 518, 700, 667, 584, 546, 587, 642, 675, 691, 672, 673, 718, 717, 704, 719, 66, 519, 265, 266, 256, 462, 463, 61, 175, 62, 341, 72, 73, 188, 277, 348, 349, 401, 189, 447, 471, 442, 404, 409, 354, 80, 81, 194, 196, 82, 193, 287, 440, 441, 468, 492, 493, 84, 574, 606, 607, 676, 648, 694, 693, 86, 88, 89, 206, 207 } |
|
|
|
|
|
|
|
|
|
|
|
Initial value: { -651, -651, 648, 581, -56, -651, -651, 476, -651, -651, -651, 62, -651, -651, -651, -651, -651, -651, 313, -651, -651, -23, -651, 433, -181, 546, -8, -651, 395, -651, -651, -396, -651, 145, -187, -651, -374, -651, -22, -651, 307, -651, 0, 79, 454, -203, -651, 311, -651, -651, -651, -651, -651, 279, -651, -651, 147, 196, -651, -651, 64, -651, -651, -651, -651, -651, -468, 6, -650, -474, -5, -449, 227, -651, -651, -651, -651, -651, -651, -651, -651, -651, -651, 153, -580, -423, -651, -651, -651, -651, -651, -651, -651, -651, -651, 36, -651, -651, -651, -651, -11, -7, -651, -651, -651, -651, -651, -651, -651, -651, 259, -651, 692, -68, -651, -651, 304, -651, -651, -651, -651, -651, -651, -651, -651, 358, 563, -651, -651, 564, -651, -651, -185, 697, -651, -651, 187, 226, -651, -651, 85, -651, -651, -651, 57, 38, -651, -651, -651, -651 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|