📄 fcl-parser.cc
字号:
48, -51, -51, -51, -51, 50, -27, 51, -10, -51, 52, 53, -51, -51, -51, -51, -51, -51, -51, 56, 54, -51, -51, 58, 57, -51, 61, -51, 59, -17, -51, 60, -51, 9, -51, 65, -13, -17, 62, 63, -51, 64, -51, 66, 73, -51, -51, 67, 68, -51 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ const unsigned char fcl_parser::yydefact_[] = { 2, 0, 1, 0, 0, 4, 5, 3, 0, 0, 0, 0, 0, 8, 0, 6, 0, 15, 0, 0, 9, 17, 0, 16, 0, 19, 0, 0, 0, 0, 0, 20, 14, 10, 0, 0, 11, 0, 0, 0, 0, 0, 7, 12, 0, 0, 0, 22, 31, 0, 0, 47, 0, 0, 0, 18, 23, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 21, 44, 45, 46, 0, 41, 42, 43, 0, 0, 0, 0, 0, 0, 27, 0, 25, 26, 28, 33, 34, 35, 36, 0, 39, 40, 50, 49, 0, 0, 0, 0, 55, 0, 0, 24, 29, 32, 48, 52, 53, 54, 0, 0, 38, 56, 0, 0, 51, 0, 37, 0, 0, 30, 0, 61, 0, 58, 0, 0, 0, 0, 0, 63, 0, 59, 0, 0, 57, 60, 0, 0, 62 }; /* YYPGOTO[NTERM-NUM]. */ const signed char fcl_parser::yypgoto_[] = { -51, -51, -51, -51, -51, -51, -51, 69, -51, 72, -51, -51, 71, -51, -51, 77, 75, -5, -51, -51, -51, -1, -51, -51, 82, -51, -51, -51, -51, -51, -51, -51, -51, -51, -28, -51, -50, -51 }; /* YYDEFGOTO[NTERM-NUM]. */ const short int fcl_parser::yydefgoto_[] = { -1, 1, 4, 5, 8, 10, 12, 13, 35, 36, 15, 16, 17, 28, 24, 25, 46, 47, 82, 83, 84, 85, 58, 90, 38, 32, 51, 75, 71, 62, 95, 78, 109, 98, 99, 123, 124, 131 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. */ const signed char fcl_parser::yytable_ninf_ = -1; const unsigned char fcl_parser::yytable_[] = { 19, 42, 22, 106, 80, 49, 50, 107, 81, 108, 111, 30, 86, 87, 97, 88, 89, 68, 69, 72, 6, 70, 73, 74, 2, 55, 121, 3, 45, 122, 129, 45, 57, 130, 14, 126, 22, 127, 7, 11, 34, 56, 9, 56, 93, 94, 11, 14, 18, 21, 27, 26, 29, 33, 37, 41, 34, 40, 45, 44, 52, 53, 59, 54, 61, 60, 67, 77, 63, 65, 112, 66, 76, 97, 79, 64, 91, 132, 92, 0, 96, 20, 0, 103, 102, 100, 119, 23, 101, 104, 80, 105, 128, 0, 116, 114, 113, 115, 110, 117, 137, 31, 0, 120, 118, 135, 125, 43, 133, 134, 136, 39, 139, 138, 48 }; /* YYCHECK. */ const signed char fcl_parser::yycheck_[] = { 7, 7, 10, 30, 43, 28, 29, 34, 47, 36, 20, 19, 14, 15, 24, 17, 18, 31, 32, 30, 46, 35, 33, 34, 0, 9, 43, 3, 12, 46, 43, 12, 13, 46, 8, 26, 10, 28, 4, 46, 46, 46, 6, 48, 31, 32, 46, 8, 40, 46, 5, 37, 46, 41, 21, 40, 46, 46, 12, 39, 37, 43, 40, 46, 22, 40, 11, 23, 41, 39, 98, 40, 40, 24, 45, 47, 41, 127, 41, -1, 40, 12, -1, 84, 41, 47, 25, 16, 47, 41, 43, 41, 27, -1, 40, 42, 44, 41, 47, 41, 27, 24, -1, 44, 47, 41, 46, 35, 46, 46, 44, 29, 44, 46, 39 }; /* STOS_[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ const unsigned char fcl_parser::yystos_[] = { 0, 49, 0, 3, 50, 51, 46, 4, 52, 6, 53, 46, 54, 55, 8, 58, 59, 60, 40, 7, 55, 46, 10, 60, 62, 63, 37, 5, 61, 46, 19, 63, 73, 41, 46, 56, 57, 21, 72, 72, 46, 40, 7, 57, 39, 12, 64, 65, 64, 28, 29, 74, 37, 43, 46, 9, 65, 13, 70, 40, 40, 22, 77, 41, 47, 39, 40, 11, 31, 32, 35, 76, 30, 33, 34, 75, 40, 23, 79, 45, 43, 47, 66, 67, 68, 69, 14, 15, 17, 18, 71, 41, 41, 31, 32, 78, 40, 24, 81, 82, 47, 47, 41, 69, 41, 41, 30, 34, 36, 80, 47, 20, 82, 44, 42, 41, 40, 41, 47, 25, 44, 43, 46, 83, 84, 46, 26, 28, 27, 43, 46, 85, 84, 46, 46, 41, 44, 27, 46, 44 };#if YYDEBUG /* TOKEN_NUMBER_[YYLEX-NUM] -- Internal symbol number corresponding to YYLEX-NUM. */ const unsigned short int fcl_parser::yytoken_number_[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302 };#endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ const unsigned char fcl_parser::yyr1_[] = { 0, 48, 49, 49, 50, 52, 51, 53, 54, 54, 55, 56, 56, 57, 58, 59, 59, 61, 60, 62, 62, 63, 64, 64, 65, 66, 66, 67, 68, 68, 69, 70, 70, 71, 71, 71, 71, 72, 73, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 78, 78, 79, 80, 80, 80, 81, 81, 82, 83, 83, 84, 84, 85, 85 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ const unsigned char fcl_parser::yyr2_[] = { 0, 2, 0, 3, 1, 0, 5, 6, 1, 2, 4, 1, 2, 4, 3, 1, 2, 0, 6, 1, 2, 6, 1, 2, 5, 1, 1, 1, 1, 2, 5, 0, 4, 1, 1, 1, 1, 8, 7, 4, 4, 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, 4, 1, 1, 1, 1, 2, 8, 1, 3, 5, 1, 5, 1 };#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at \a yyntokens_, nonterminals. */ const char* const fcl_parser::yytname_[] = { "\"end of file\"", "error", "$undefined", "FUNCTION_BLOCK", "END_FUNCTION_BLOCK", "VAR_OUTPUT", "VAR_INPUT", "END_VAR", "FUZZIFY", "END_FUZZIFY", "DEFUZZIFY", "END_DEFUZZIFY", "TERM", "METHOD", "COG", "COGS", "COA", "LM", "RM", "RULEBLOCK", "END_RULEBLOCK", "RANGE", "ACT", "ACCU", "RULE", "IF", "THEN", "IS", "AND", "OR", "MAX", "MIN", "PROD", "ASUM", "BSUM", "BDIF", "NSUM", "REAL", "WS", "\":=\"", "\":\"", "\";\"", "\",\"", "\"(\"", "\")\"", "\"..\"", "\"identifier\"", "\"number\"", "$accept", "commands", "command", "open_function_block_declaration", "@1", "declarations", "input_vars_decls", "input_var_decl", "output_vars_decls", "output_var_decl", "function_block_body", "fuzzify_blocks", "fuzzify_block", "@2", "defuzzify_blocks", "defuzzify_block", "linguistic_terms", "linguistic_term", "membership_function", "singleton", "points", "point", "defuzzification_method", "defuzz", "range", "rule_block", "operator_definition", "or_ope", "and_ope", "activation_method", "act", "accumulation_method", "acc", "rules", "rule", "conditions", "condition", "conclusion", 0 };#endif#if YYDEBUG /* YYRHS -- A `-1'-separated list of the rules' RHS. */ const fcl_parser::rhs_number_type fcl_parser::yyrhs_[] = { 49, 0, -1, -1, 49, 50, 4, -1, 51, -1, -1, 3, 46, 52, 53, 58, -1, 6, 54, 7, 5, 56, 7, -1, 55, -1, 54, 55, -1, 46, 40, 37, 41, -1, 57, -1, 56, 57, -1, 46, 40, 37, 41, -1, 59, 62, 73, -1, 60, -1, 59, 60, -1, -1, 8, 46, 61, 72, 64, 9, -1, 63, -1, 62, 63, -1, 10, 46, 72, 64, 70, 11, -1, 65, -1, 64, 65, -1, 12, 46, 39, 66, 41, -1, 67, -1, 68, -1, 47, -1, 69, -1, 68, 69, -1, 43, 47, 42, 47, 44, -1, -1, 13, 40, 71, 41, -1, 14, -1, 15, -1, 17, -1, 18, -1, 21, 39, 43, 47, 45, 47, 44, 41, -1, 19, 46, 74, 77, 79, 81, 20, -1, 28, 40, 76, 41, -1, 29, 40, 75, 41, -1, 30, -1, 33, -1, 34, -1, 31, -1, 32, -1, 35, -1, -1, 22, 40, 78, 41, -1, 32, -1, 31, -1, 23, 40, 80, 41, -1, 30, -1, 34, -1, 36, -1, 82, -1, 81, 82, -1, 24, 47, 40, 25, 83, 26, 85, 41, -1, 84, -1, 83, 28, 84, -1, 43, 46, 27, 46, 44, -1, 46, -1, 43, 46, 27, 46, 44, -1, 46, -1 }; /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ const unsigned char fcl_parser::yyprhs_[] = { 0, 0, 3, 4, 8, 10, 11, 17, 24, 26, 29, 34, 36, 39, 44, 48, 50, 53, 54, 61, 63, 66, 73, 75, 78, 84, 86, 88, 90, 92, 95, 101, 102, 107, 109, 111, 113, 115, 124, 132, 137, 142, 144, 146, 148, 150, 152, 154, 155, 160, 162, 164, 169, 171, 173, 175, 177, 180, 189, 191, 195, 201, 203, 209 }; /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ const unsigned short int fcl_parser::yyrline_[] = { 0, 7547, 7547, 7548, 7555, 7560, 7559, 7569, 7573, 7574, 7579, 7586, 7587, 7592, 7599, 7601, 7602, 7608, 7607, 7616, 7617, 7621, 7628, 7629, 7633, 7636, 7636, 7638, 7640, 7641, 7645, 7647, 7648, 7650, 7650, 7650, 7650, 7653, 7656, 7664, 7665, 7668, 7668, 7668, 7670, 7670, 7670, 7672, 7673, 7675, 7675, 7678, 7681, 7681, 7681, 7683, 7684, 7687, 7690, 7691, 7695, 7696, 7699, 7700 }; // Print the state stack on the debug stream. void fcl_parser::yystack_print_ () { *yycdebug_ << "Stack now"; for (state_stack_type::const_iterator i = yystate_stack_.begin (); i != yystate_stack_.end (); ++i) *yycdebug_ << ' ' << *i; *yycdebug_ << std::endl; } // Report on the debug stream that the rule \a yyrule is going to be reduced. void fcl_parser::yy_reduce_print_ (int yyrule) { unsigned int yylno = yyrline_[yyrule]; int yynrhs = yyr2_[yyrule]; /* Print the symbols being reduced, and their result. */ *yycdebug_ << "Reducing stack by rule " << yyrule - 1 << " (line " << yylno << "), "; /* The symbols being reduced. */ for (int yyi = 0; yyi < yynrhs; yyi++) YY_SYMBOL_PRINT (" $" << yyi + 1 << " =", yyrhs_[yyprhs_[yyrule] + yyi], &(yysemantic_stack_[(yynrhs) - (yyi + 1)]), &(yylocation_stack_[(yynrhs) - (yyi + 1)])); }#endif // YYDEBUG /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ fcl_parser::token_number_type fcl_parser::yytranslate_ (int t) { static const token_number_type translate_table[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47 }; if ((unsigned int) t <= yyuser_token_number_max_) return translate_table[t]; else return yyundef_token_; } const int fcl_parser::yyeof_ = 0; const int fcl_parser::yylast_ = 114; const int fcl_parser::yynnts_ = 38; const int fcl_parser::yyempty_ = -2; const int fcl_parser::yyfinal_ = 2; const int fcl_parser::yyterror_ = 1; const int fcl_parser::yyerrcode_ = 256; const int fcl_parser::yyntokens_ = 48; const unsigned int fcl_parser::yyuser_token_number_max_ = 302; const fcl_parser::token_number_type fcl_parser::yyundef_token_ = 2;} // namespace yy#line 7703 "../../doc/bison.texinfo"#line 7568 "../../doc/bison.texinfo"voidyy::fcl_parser::error (const yy::fcl_parser::location_type& l, const std::string& m){ driver.error (l, m);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -