Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/torque/Torque.g4')
-rw-r--r--deps/v8/src/torque/Torque.g4315
1 files changed, 0 insertions, 315 deletions
diff --git a/deps/v8/src/torque/Torque.g4 b/deps/v8/src/torque/Torque.g4
deleted file mode 100644
index 1497aaf9c1d..00000000000
--- a/deps/v8/src/torque/Torque.g4
+++ /dev/null
@@ -1,315 +0,0 @@
-// Copyright 2018 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-grammar Torque;
-
-options {
- language=Cpp;
-}
-
-// parser rules start with lowercase letters, lexer rules with uppercase
-MACRO: 'macro';
-BUILTIN: 'builtin';
-RUNTIME: 'runtime';
-MODULE: 'module';
-JAVASCRIPT: 'javascript';
-DEFERRED: 'deferred';
-IF: 'if';
-FOR: 'for';
-WHILE: 'while';
-RETURN: 'return';
-CONSTEXPR: 'constexpr';
-CONTINUE: 'continue';
-BREAK: 'break';
-GOTO: 'goto';
-OTHERWISE: 'otherwise';
-TRY: 'try';
-LABEL: 'label';
-LABELS: 'labels';
-TAIL: 'tail';
-ISNT: 'isnt';
-IS: 'is';
-LET: 'let';
-CONST: 'const';
-EXTERN: 'extern';
-ASSERT_TOKEN: 'assert';
-CHECK_TOKEN: 'check';
-UNREACHABLE_TOKEN: 'unreachable';
-DEBUG_TOKEN: 'debug';
-
-ASSIGNMENT: '=';
-ASSIGNMENT_OPERATOR
- : '*='
- | '/='
- | '%='
- | '+='
- | '-='
- | '<<='
- | '>>='
- | '>>>='
- | '&='
- | '^='
- | '|='
- ;
-
-EQUAL: '==';
-PLUS: '+';
-MINUS: '-';
-MULTIPLY: '*';
-DIVIDE: '/';
-MODULO: '%';
-BIT_OR: '|';
-BIT_AND: '&';
-BIT_NOT: '~';
-MAX: 'max';
-MIN: 'min';
-NOT_EQUAL: '!=';
-LESS_THAN: '<';
-LESS_THAN_EQUAL: '<=';
-GREATER_THAN: '>';
-GREATER_THAN_EQUAL: '>=';
-SHIFT_LEFT: '<<';
-SHIFT_RIGHT: '>>';
-SHIFT_RIGHT_ARITHMETIC: '>>>';
-VARARGS: '...';
-
-EQUALITY_OPERATOR: EQUAL | NOT_EQUAL;
-
-INCREMENT: '++';
-DECREMENT: '--';
-NOT: '!';
-
-STRING_LITERAL : ('"' ( ESCAPE | ~('"' | '\\' | '\n' | '\r') ) * '"')
- | ('\'' ( ESCAPE | ~('\'' | '\\' | '\n' | '\r') ) * '\'');
-fragment ESCAPE : '\\' ( '\'' | '\\' | '"' | 'n' | 'r' );
-
-IDENTIFIER : [A-Za-z][0-9A-Za-z_]* ;
-
-WS : [ \t\r\n\f]+ -> channel(HIDDEN);
-
-BLOCK_COMMENT
- : '/*' .*? ('*/' | EOF) -> channel(HIDDEN)
- ;
-
-LINE_COMMENT
- : '//' ~[\r\n]* -> channel(HIDDEN)
- ;
-
-fragment DECIMAL_DIGIT
- : [0-9]
- ;
-
-fragment DECIMAL_INTEGER_LITERAL
- : '0'
- | [1-9] DECIMAL_DIGIT*
- ;
-
-fragment EXPONENT_PART
- : [eE] [+-]? DECIMAL_DIGIT+
- ;
-
-DECIMAL_LITERAL
- : MINUS? DECIMAL_INTEGER_LITERAL '.' DECIMAL_DIGIT* EXPONENT_PART?
- | MINUS? '.' DECIMAL_DIGIT+ EXPONENT_PART?
- | MINUS? DECIMAL_INTEGER_LITERAL EXPONENT_PART?
- | MINUS? '0x' [0-9a-fA-F]+
- ;
-
-type : CONSTEXPR? IDENTIFIER
- | BUILTIN '(' typeList ')' '=>' type
- | type BIT_OR type
- | '(' type ')'
- ;
-
-typeList : (type (',' type)*)?;
-genericSpecializationTypeList: '<' typeList '>';
-
-optionalGenericTypeList: ('<' IDENTIFIER ':' 'type' (',' IDENTIFIER ':' 'type')* '>')?;
-
-typeListMaybeVarArgs: '(' type? (',' type)* (',' VARARGS)? ')'
- | '(' VARARGS ')';
-
-labelParameter: IDENTIFIER ( '(' typeList ')' )?;
-
-optionalType: (':' type)?;
-optionalLabelList: (LABELS labelParameter (',' labelParameter)*)?;
-optionalOtherwise: (OTHERWISE IDENTIFIER (',' IDENTIFIER)*)?;
-
-parameter: IDENTIFIER ':' type?;
-parameterList
- : '(' parameter? (',' parameter)* ')'
- | '(' parameter ',' parameter ',' VARARGS IDENTIFIER ')';
-labelDeclaration: IDENTIFIER parameterList?;
-
-expression
- : conditionalExpression;
-
-conditionalExpression
- : logicalORExpression
- | conditionalExpression '?' logicalORExpression ':' logicalORExpression;
-
-logicalORExpression
- : logicalANDExpression
- | logicalORExpression '||' logicalANDExpression;
-
-logicalANDExpression
- : bitwiseExpression
- | logicalANDExpression '&&' bitwiseExpression;
-
-bitwiseExpression
- : equalityExpression
- | bitwiseExpression op=(BIT_AND | BIT_OR) equalityExpression;
-
-equalityExpression
- : relationalExpression
- | equalityExpression
- op=(EQUAL | NOT_EQUAL)
- relationalExpression;
-
-relationalExpression
- : shiftExpression
- | relationalExpression
- op=(LESS_THAN | LESS_THAN_EQUAL | GREATER_THAN | GREATER_THAN_EQUAL)
- shiftExpression;
-
-shiftExpression
- : additiveExpression
- | shiftExpression op=(SHIFT_RIGHT | SHIFT_LEFT | SHIFT_RIGHT_ARITHMETIC) additiveExpression;
-
-additiveExpression
- : multiplicativeExpression
- | additiveExpression op=(PLUS | MINUS) multiplicativeExpression;
-
-multiplicativeExpression
- : unaryExpression
- | multiplicativeExpression op=(MULTIPLY | DIVIDE | MODULO) unaryExpression;
-
-unaryExpression
- : assignmentExpression
- | op=(PLUS | MINUS | BIT_NOT | NOT) unaryExpression;
-
-locationExpression
- : IDENTIFIER
- | locationExpression '.' IDENTIFIER
- | primaryExpression '.' IDENTIFIER
- | locationExpression '[' expression ']'
- | primaryExpression '[' expression ']';
-
-incrementDecrement
- : INCREMENT locationExpression
- | DECREMENT locationExpression
- | locationExpression op=INCREMENT
- | locationExpression op=DECREMENT
- ;
-
-assignment
- : incrementDecrement
- | locationExpression ((ASSIGNMENT | ASSIGNMENT_OPERATOR) expression)?;
-
-assignmentExpression
- : functionPointerExpression
- | assignment;
-
-structExpression
- : IDENTIFIER '{' (expression (',' expression)*)? '}';
-
-functionPointerExpression
- : primaryExpression
- | IDENTIFIER genericSpecializationTypeList?
- ;
-
-primaryExpression
- : helperCall
- | structExpression
- | DECIMAL_LITERAL
- | STRING_LITERAL
- | ('(' expression ')')
- ;
-
-forInitialization : variableDeclarationWithInitialization?;
-forLoop: FOR '(' forInitialization ';' expression ';' assignment ')' statementBlock;
-
-rangeSpecifier: '[' begin=expression? ':' end=expression? ']';
-forOfRange: rangeSpecifier?;
-forOfLoop: FOR '(' variableDeclaration 'of' expression forOfRange ')' statementBlock;
-
-argument: expression;
-argumentList: '(' argument? (',' argument)* ')';
-
-helperCall: (MIN | MAX | IDENTIFIER) genericSpecializationTypeList? argumentList optionalOtherwise;
-
-labelReference: IDENTIFIER;
-variableDeclaration: (LET | CONST) IDENTIFIER ':' type;
-variableDeclarationWithInitialization: variableDeclaration (ASSIGNMENT expression)?;
-helperCallStatement: (TAIL)? helperCall;
-expressionStatement: assignment;
-ifStatement: IF CONSTEXPR? '(' expression ')' statementBlock ('else' statementBlock)?;
-whileLoop: WHILE '(' expression ')' statementBlock;
-returnStatement: RETURN expression?;
-breakStatement: BREAK;
-continueStatement: CONTINUE;
-gotoStatement: GOTO labelReference argumentList?;
-handlerWithStatement: LABEL labelDeclaration statementBlock;
-tryLabelStatement: TRY statementBlock handlerWithStatement+;
-
-diagnosticStatement: ((ASSERT_TOKEN | CHECK_TOKEN) '(' expression ')') | UNREACHABLE_TOKEN | DEBUG_TOKEN;
-
-statement : variableDeclarationWithInitialization ';'
- | helperCallStatement ';'
- | expressionStatement ';'
- | returnStatement ';'
- | breakStatement ';'
- | continueStatement ';'
- | gotoStatement ';'
- | ifStatement
- | diagnosticStatement ';'
- | whileLoop
- | forOfLoop
- | forLoop
- | tryLabelStatement
- ;
-
-statementList : statement*;
-statementScope : DEFERRED? '{' statementList '}';
-statementBlock
- : statement
- | statementScope;
-
-helperBody : statementScope;
-
-fieldDeclaration: IDENTIFIER ':' type ';';
-fieldListDeclaration: fieldDeclaration*;
-
-extendsDeclaration: 'extends' IDENTIFIER;
-generatesDeclaration: 'generates' STRING_LITERAL;
-constexprDeclaration: 'constexpr' STRING_LITERAL;
-typeDeclaration : 'type' IDENTIFIER extendsDeclaration? generatesDeclaration? constexprDeclaration?';';
-typeAliasDeclaration : 'type' IDENTIFIER '=' type ';';
-
-externalBuiltin : EXTERN JAVASCRIPT? BUILTIN IDENTIFIER optionalGenericTypeList '(' typeList ')' optionalType ';';
-externalMacro : EXTERN ('operator' STRING_LITERAL)? MACRO IDENTIFIER optionalGenericTypeList typeListMaybeVarArgs optionalType optionalLabelList ';';
-externalRuntime : EXTERN RUNTIME IDENTIFIER typeListMaybeVarArgs optionalType ';';
-builtinDeclaration : JAVASCRIPT? BUILTIN IDENTIFIER optionalGenericTypeList parameterList optionalType (helperBody | ';');
-genericSpecialization: IDENTIFIER genericSpecializationTypeList parameterList optionalType optionalLabelList helperBody;
-macroDeclaration : ('operator' STRING_LITERAL)? MACRO IDENTIFIER optionalGenericTypeList parameterList optionalType optionalLabelList (helperBody | ';');
-externConstDeclaration : CONST IDENTIFIER ':' type generatesDeclaration ';';
-constDeclaration: CONST IDENTIFIER ':' type ASSIGNMENT expression ';';
-structDeclaration : 'struct' IDENTIFIER '{' fieldListDeclaration '}';
-
-declaration
- : structDeclaration
- | typeDeclaration
- | typeAliasDeclaration
- | builtinDeclaration
- | genericSpecialization
- | macroDeclaration
- | externalMacro
- | externalBuiltin
- | externalRuntime
- | externConstDeclaration
- | constDeclaration;
-
-moduleDeclaration : MODULE IDENTIFIER '{' declaration* '}';
-
-file: (moduleDeclaration | declaration)*;