📄 qscript.g
字号:
PrimaryExpression: T_LBRACE PropertyNameAndValueListOpt T_RBRACE ;/.case $rule_number: { if (sym(2).Node) sym(1).Node = QScript::makeAstNode<QScript::AST::ObjectLiteral> (driver->nodePool(), sym(2).PropertyNameAndValueList->finish ()); else sym(1).Node = QScript::makeAstNode<QScript::AST::ObjectLiteral> (driver->nodePool()); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./PrimaryExpression: T_LPAREN Expression T_RPAREN ;/.case $rule_number: { sym(1) = sym(2); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./ElementList: ElisionOpt AssignmentExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::ElementList> (driver->nodePool(), sym(1).Elision, sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./ElementList: ElementList T_COMMA ElisionOpt AssignmentExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::ElementList> (driver->nodePool(), sym(1).ElementList, sym(3).Elision, sym(4).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4));} break;./Elision: T_COMMA ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::Elision> (driver->nodePool()); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;./Elision: Elision T_COMMA ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::Elision> (driver->nodePool(), sym(1).Elision); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./ElisionOpt: ;/.case $rule_number: { sym(1).Node = 0;} break;./ElisionOpt: Elision ;/.case $rule_number: { sym(1).Elision = sym(1).Elision->finish (); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;./PropertyNameAndValueList: PropertyName T_COLON AssignmentExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::PropertyNameAndValueList> (driver->nodePool(), sym(1).PropertyName, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./PropertyNameAndValueList: PropertyNameAndValueList T_COMMA PropertyName T_COLON AssignmentExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::PropertyNameAndValueList> (driver->nodePool(), sym(1).PropertyNameAndValueList, sym(3).PropertyName, sym(5).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(5));} break;./PropertyName: T_IDENTIFIER ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::IdentifierPropertyName> (driver->nodePool(), sym(1).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;./PropertyName: T_STRING_LITERAL ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::StringLiteralPropertyName> (driver->nodePool(), sym(1).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;./PropertyName: T_NUMERIC_LITERAL ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::NumericLiteralPropertyName> (driver->nodePool(), sym(1).dval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;./MemberExpression: PrimaryExpression ;MemberExpression: FunctionExpression ;MemberExpression: MemberExpression T_LBRACKET Expression T_RBRACKET ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4));} break;./MemberExpression: MemberExpression T_DOT ExtraIdentifiersMarker T_IDENTIFIER ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(4).sval); lexer->scanExtraIdentifiers(false); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4));} break;./ExtraIdentifiersMarker: ;/.case $rule_number: { lexer->scanExtraIdentifiers(true);} break;./MemberExpression: T_NEW MemberExpression Arguments ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::NewMemberExpression> (driver->nodePool(), sym(2).Expression, sym(3).ArgumentList); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./NewExpression: MemberExpression ;NewExpression: T_NEW NewExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::NewExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./CallExpression: MemberExpression Arguments ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(2).ArgumentList); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./CallExpression: CallExpression Arguments ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::CallExpression> (driver->nodePool(), sym(1).Expression, sym(2).ArgumentList); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./CallExpression: CallExpression T_LBRACKET Expression T_RBRACKET ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::ArrayMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(4));} break;./CallExpression: CallExpression T_DOT T_IDENTIFIER ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::FieldMemberExpression> (driver->nodePool(), sym(1).Expression, sym(3).sval); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./Arguments: T_LPAREN T_RPAREN ;/.case $rule_number: { sym(1).Node = 0;} break;./Arguments: T_LPAREN ArgumentList T_RPAREN ;/.case $rule_number: { sym(1).Node = sym(2).ArgumentList->finish (); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./ArgumentList: AssignmentExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::ArgumentList> (driver->nodePool(), sym(1).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(1));} break;./ArgumentList: ArgumentList T_COMMA AssignmentExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::ArgumentList> (driver->nodePool(), sym(1).ArgumentList, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./LeftHandSideExpression: NewExpression ;LeftHandSideExpression: CallExpression ;PostfixExpression: LeftHandSideExpression ;PostfixExpression: LeftHandSideExpression T_PLUS_PLUS ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::PostIncrementExpression> (driver->nodePool(), sym(1).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./PostfixExpression: LeftHandSideExpression T_MINUS_MINUS ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::PostDecrementExpression> (driver->nodePool(), sym(1).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: PostfixExpression ;UnaryExpression: T_DELETE UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::DeleteExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_VOID UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::VoidExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_TYPEOF UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::TypeOfExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_PLUS_PLUS UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::PreIncrementExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_MINUS_MINUS UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::PreDecrementExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_PLUS UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::UnaryPlusExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_MINUS UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::UnaryMinusExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_TILDE UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::TildeExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./UnaryExpression: T_NOT UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::NotExpression> (driver->nodePool(), sym(2).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(2));} break;./MultiplicativeExpression: UnaryExpression ;MultiplicativeExpression: MultiplicativeExpression T_STAR UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Mul, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./MultiplicativeExpression: MultiplicativeExpression T_DIVIDE_ UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Div, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./MultiplicativeExpression: MultiplicativeExpression T_REMAINDER UnaryExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Mod, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./AdditiveExpression: MultiplicativeExpression ;AdditiveExpression: AdditiveExpression T_PLUS MultiplicativeExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Add, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./AdditiveExpression: AdditiveExpression T_MINUS MultiplicativeExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Sub, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./ShiftExpression: AdditiveExpression ;ShiftExpression: ShiftExpression T_LT_LT AdditiveExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::LShift, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./ShiftExpression: ShiftExpression T_GT_GT AdditiveExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::RShift, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./ShiftExpression: ShiftExpression T_GT_GT_GT AdditiveExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::URShift, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpression: ShiftExpression ;RelationalExpression: RelationalExpression T_LT ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpression: RelationalExpression T_GT ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpression: RelationalExpression T_LE ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpression: RelationalExpression T_GE ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpression: RelationalExpression T_INSTANCEOF ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpression: RelationalExpression T_IN ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::In, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpressionNotIn: ShiftExpression ;RelationalExpressionNotIn: RelationalExpressionNotIn T_LT ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Lt, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpressionNotIn: RelationalExpressionNotIn T_GT ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Gt, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpressionNotIn: RelationalExpressionNotIn T_LE ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Le, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpressionNotIn: RelationalExpressionNotIn T_GE ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::Ge, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./RelationalExpressionNotIn: RelationalExpressionNotIn T_INSTANCEOF ShiftExpression ;/.case $rule_number: { sym(1).Node = QScript::makeAstNode<QScript::AST::BinaryExpression> (driver->nodePool(), sym(1).Expression, QSOperator::InstanceOf, sym(3).Expression); Q_SCRIPT_UPDATE_POSITION(sym(1).Node, loc(1), loc(3));} break;./EqualityExpression: RelationalExpression ;EqualityExpression: EqualityExpression T_EQ_EQ RelationalExpression ;/.case $rule_number: {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -