📄 qscriptparser.cpp
字号:
case 161: { sym(1).Node = QScript::makeAstNode<QScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 162: { sym(1).Node = QScript::makeAstNode<QScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclaration); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 163: { sym(1).Node = QScript::makeAstNode<QScript::AST::VariableDeclarationList> (driver->nodePool(), sym(1).VariableDeclarationList, sym(3).VariableDeclaration); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 164: { sym(1).Node = QScript::makeAstNode<QScript::AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 165: { sym(1).Node = QScript::makeAstNode<QScript::AST::VariableDeclaration> (driver->nodePool(), sym(1).sval, sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 166: { sym(1) = sym(2); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 167: { sym(1).Node = 0;} break;case 169: { sym(1) = sym(2); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 170: { sym(1).Node = 0;} break;case 172: { sym(1).Node = QScript::makeAstNode<QScript::AST::EmptyStatement> (driver->nodePool()); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 174: { sym(1).Node = QScript::makeAstNode<QScript::AST::ExpressionStatement> (driver->nodePool(), sym(1).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 175: { sym(1).Node = QScript::makeAstNode<QScript::AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement, sym(7).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(7));} break;case 176: { sym(1).Node = QScript::makeAstNode<QScript::AST::IfStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;case 178: { sym(1).Node = QScript::makeAstNode<QScript::AST::DoWhileStatement> (driver->nodePool(), sym(2).Statement, sym(5).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(7));} break;case 179: { sym(1).Node = QScript::makeAstNode<QScript::AST::WhileStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;case 180: { sym(1).Node = QScript::makeAstNode<QScript::AST::ForStatement> (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Expression, sym(9).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(9));} break;case 181: { sym(1).Node = QScript::makeAstNode<QScript::AST::LocalForStatement> (driver->nodePool(), sym(4).VariableDeclarationList->finish (/*readOnly=*/false), sym(6).Expression, sym(8).Expression, sym(10).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(10));} break;case 182: { sym(1).Node = QScript::makeAstNode<QScript::AST::ForEachStatement> (driver->nodePool(), sym(3).Expression, sym(5).Expression, sym(7).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(7));} break;case 183: { sym(1).Node = QScript::makeAstNode<QScript::AST::LocalForEachStatement> (driver->nodePool(), sym(4).VariableDeclaration, sym(6).Expression, sym(8).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(8));} break;case 185: { sym(1).Node = QScript::makeAstNode<QScript::AST::ContinueStatement> (driver->nodePool()); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 187: { sym(1).Node = QScript::makeAstNode<QScript::AST::ContinueStatement> (driver->nodePool(), sym(2).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 189: { sym(1).Node = QScript::makeAstNode<QScript::AST::BreakStatement> (driver->nodePool()); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 191: { sym(1).Node = QScript::makeAstNode<QScript::AST::BreakStatement> (driver->nodePool(), sym(2).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 193: { sym(1).Node = QScript::makeAstNode<QScript::AST::ReturnStatement> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 194: { sym(1).Node = QScript::makeAstNode<QScript::AST::WithStatement> (driver->nodePool(), sym(3).Expression, sym(5).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;case 195: { sym(1).Node = QScript::makeAstNode<QScript::AST::SwitchStatement> (driver->nodePool(), sym(3).Expression, sym(5).CaseBlock); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;case 196: { sym(1).Node = QScript::makeAstNode<QScript::AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 197: { sym(1).Node = QScript::makeAstNode<QScript::AST::CaseBlock> (driver->nodePool(), sym(2).CaseClauses, sym(3).DefaultClause, sym(4).CaseClauses); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;case 198: { sym(1).Node = QScript::makeAstNode<QScript::AST::CaseClauses> (driver->nodePool(), sym(1).CaseClause); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 199: { sym(1).Node = QScript::makeAstNode<QScript::AST::CaseClauses> (driver->nodePool(), sym(1).CaseClauses, sym(2).CaseClause); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 200: { sym(1).Node = 0;} break;case 201: { sym(1).Node = sym(1).CaseClauses->finish (); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 202: { sym(1).Node = QScript::makeAstNode<QScript::AST::CaseClause> (driver->nodePool(), sym(2).Expression, sym(4).StatementList); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4));} break;case 203: { sym(1).Node = QScript::makeAstNode<QScript::AST::DefaultClause> (driver->nodePool(), sym(3).StatementList); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 204: { sym(1).Node = QScript::makeAstNode<QScript::AST::LabelledStatement> (driver->nodePool(), sym(1).sval, sym(3).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 206: { sym(1).Node = QScript::makeAstNode<QScript::AST::ThrowStatement> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 207: { sym(1).Node = QScript::makeAstNode<QScript::AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 208: { sym(1).Node = QScript::makeAstNode<QScript::AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Finally); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 209: { sym(1).Node = QScript::makeAstNode<QScript::AST::TryStatement> (driver->nodePool(), sym(2).Statement, sym(3).Catch, sym(4).Finally); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4));} break;case 210: { sym(1).Node = QScript::makeAstNode<QScript::AST::Catch> (driver->nodePool(), sym(3).sval, sym(5).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;case 211: { sym(1).Node = QScript::makeAstNode<QScript::AST::Finally> (driver->nodePool(), sym(2).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 212: { sym(1).Node = QScript::makeAstNode<QScript::AST::FunctionDeclaration> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(8));} break;case 213: { sym(1).Node = QScript::makeAstNode<QScript::AST::FunctionExpression> (driver->nodePool(), sym(2).sval, sym(4).FormalParameterList, sym(7).FunctionBody); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(8));} break;case 214: { sym(1).Node = QScript::makeAstNode<QScript::AST::FormalParameterList> (driver->nodePool(), sym(1).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 215: { sym(1).Node = QScript::makeAstNode<QScript::AST::FormalParameterList> (driver->nodePool(), sym(1).FormalParameterList, sym(3).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;case 216: { sym(1).Node = 0;} break;case 217: { sym(1).Node = sym(1).FormalParameterList->finish (); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 218: { sym(1).Node = 0;} break;case 220: { sym(1).Node = QScript::makeAstNode<QScript::AST::FunctionBody> (driver->nodePool(), sym(1).SourceElements->finish ()); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 221: { sym(1).Node = QScript::makeAstNode<QScript::AST::Program> (driver->nodePool(), sym(1).SourceElements->finish ()); driver->changeAbstractSyntaxTree(sym(1).Node); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 222: { sym(1).Node = QScript::makeAstNode<QScript::AST::SourceElements> (driver->nodePool(), sym(1).SourceElement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 223: { sym(1).Node = QScript::makeAstNode<QScript::AST::SourceElements> (driver->nodePool(), sym(1).SourceElements, sym(2).SourceElement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;case 224: { sym(1).Node = QScript::makeAstNode<QScript::AST::StatementSourceElement> (driver->nodePool(), sym(1).Statement); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 225: { sym(1).Node = QScript::makeAstNode<QScript::AST::FunctionSourceElement> (driver->nodePool(), sym(1).FunctionDeclaration); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;case 226: { sym(1).sval = 0;} break;case 228: { sym(1).Node = 0;} break; } // switch state_stack [tos] = nt_action (act, lhs [r] - TERMINAL_COUNT); if (rhs[r] > 1) { location_stack[tos - 1].endLine = location_stack[tos + rhs[r] - 2].endLine; location_stack[tos - 1].endColumn = location_stack[tos + rhs[r] - 2].endColumn; location_stack[tos] = location_stack[tos + rhs[r] - 1]; } } else { if (saved_yytoken == -1 && automatic (driver, yytoken) && t_action (state, T_AUTOMATIC_SEMICOLON) > 0) { saved_yytoken = yytoken; yytoken = T_SEMICOLON; continue; } else if ((state == INITIAL_STATE) && (yytoken == 0)) { // accept empty input yytoken = T_SEMICOLON; continue; } int ers = state; int shifts = 0; int reduces = 0; int expected_tokens [3]; for (int tk = 0; tk < TERMINAL_COUNT; ++tk) { int k = t_action (ers, tk); if (! k) continue; else if (k < 0) ++reduces; else if (spell [tk]) { if (shifts < 3) expected_tokens [shifts] = tk; ++shifts; } } error_message.clear (); if (shifts && shifts < 3) { bool first = true; for (int s = 0; s < shifts; ++s) { if (first) error_message += QLatin1String ("Expected "); else error_message += QLatin1String (", "); first = false; error_message += QLatin1String("`"); error_message += QLatin1String (spell [expected_tokens [s]]); error_message += QLatin1String("'"); } } if (error_message.isEmpty()) error_message = lexer->errorMessage(); error_lineno = lexer->startLineNo(); error_column = lexer->startColumnNo(); return false; } } return false;}#endif // QT_NO_SCRIPT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -