Delete ExprParser.g4
This commit is contained in:
126
ExprParser.g4
126
ExprParser.g4
@@ -1,126 +0,0 @@
|
|||||||
// parser grammar ExprParser;
|
|
||||||
|
|
||||||
// options {
|
|
||||||
// tokenVocab=ExprLexer;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Class Parser rules
|
|
||||||
// prog : class EOF;
|
|
||||||
|
|
||||||
// class:(Public | Private | Protected ) Class ID SLPAREN method+ SRPAREN;
|
|
||||||
|
|
||||||
// //Method Decloration
|
|
||||||
// method: Public Static Void ID LPAREN arg* RPAREN SLPAREN methodCode SRPAREN
|
|
||||||
// | Private Static Void ID SLPAREN methodCode SRPAREN
|
|
||||||
// | Protected Static Void ID SLPAREN methodCode SRPAREN
|
|
||||||
// ;
|
|
||||||
|
|
||||||
// methodCode: systemOutPrint* forloop*
|
|
||||||
// ;
|
|
||||||
|
|
||||||
// systemOutPrint
|
|
||||||
// : SYSTEM DOT OUT DOT PRINT LPAREN data RPAREN SEMI;
|
|
||||||
|
|
||||||
// forloop: For LPAREN arg RPAREN SLPAREN methodCode SRPAREN;
|
|
||||||
|
|
||||||
// arg: String arraydef* ID
|
|
||||||
// | exp SEMI exp SEMI exp
|
|
||||||
// ;
|
|
||||||
|
|
||||||
// exp: define
|
|
||||||
// | ID GreterEql INTE
|
|
||||||
// | ID INCMENT
|
|
||||||
// ;
|
|
||||||
// define : Int ID EQL INTE;
|
|
||||||
// arraydef: SqLPAREN (data T)* SqRPAREN;
|
|
||||||
// data: STRING ;
|
|
||||||
|
|
||||||
|
|
||||||
// //TODO: sections 4 to 9
|
|
||||||
|
|
||||||
// //Primitive Types
|
|
||||||
// type:
|
|
||||||
// primitiveType dims? //Handle int[] or just int
|
|
||||||
// |name dims?;
|
|
||||||
|
|
||||||
// primitiveType:
|
|
||||||
// primitiveNumericType
|
|
||||||
// |Boolean;
|
|
||||||
|
|
||||||
// primitiveNumericType:
|
|
||||||
// primitiveIntegralType
|
|
||||||
// |primitiveFloatingPointType;
|
|
||||||
|
|
||||||
// primitiveIntegralType:
|
|
||||||
// Byte
|
|
||||||
// |Short
|
|
||||||
// |Int
|
|
||||||
// |Long
|
|
||||||
// |Char;
|
|
||||||
|
|
||||||
// primitiveFloatingPointType:
|
|
||||||
// Float
|
|
||||||
// |Double;
|
|
||||||
|
|
||||||
// dims:
|
|
||||||
// (LBracket RBracket)*;
|
|
||||||
|
|
||||||
// name:
|
|
||||||
// Identifier (Dot Identifier)*;
|
|
||||||
// // Operators 15.20 Relational Operators
|
|
||||||
// relationalExpression:
|
|
||||||
// shiftExpression
|
|
||||||
// |relationalExpression LessThan ShiftExpression
|
|
||||||
// |relationalExpression GreaterThan ShiftExpression
|
|
||||||
// |relationalExpression LessOrEqual ShiftExpression
|
|
||||||
// |relationalExpression GreaterOrEqual ShiftExpression
|
|
||||||
// |relationalExpression InstanceOf ReferenceType;
|
|
||||||
|
|
||||||
// //Equality Operators
|
|
||||||
|
|
||||||
// equalityExpression:
|
|
||||||
// relationalExpression
|
|
||||||
// |equalityExpression EqualEqual relationalExpression
|
|
||||||
// |equalityExpression NotEqualTo relationalExpression;
|
|
||||||
|
|
||||||
// //Bitwise and Logical Operators
|
|
||||||
// andExpression:
|
|
||||||
// equalityExpression
|
|
||||||
// |andExpression BitwiseAND andExpression;
|
|
||||||
// exclusiveOrExpression:
|
|
||||||
// andExpression
|
|
||||||
// |exclusiveOrExpression BitwiseXOR andExpression;
|
|
||||||
// inclusiveOrExpression:
|
|
||||||
// exclusiveOrExpression
|
|
||||||
// inclusiveOrExpression BitwiseOR exclusiveOrExpression;
|
|
||||||
// //Conditional And (&&)
|
|
||||||
// conditionalAndExpression:
|
|
||||||
// inclusiveOrExpression
|
|
||||||
// |conditionalAndExpression ConditionalAnd inclusiveOrExpression;
|
|
||||||
// //conditional Or (||)
|
|
||||||
// conditionalOrExpression:
|
|
||||||
// conditionalAndExpression
|
|
||||||
// |conditionalOrExpression ConditionalOr conditionalAndExpression;
|
|
||||||
// //conditional Operator (?)
|
|
||||||
// conditionalExpression:
|
|
||||||
// conditionalOrExpression
|
|
||||||
// |conditionalOrExpression QuestionMark exp Colon conditionalOrExpression;
|
|
||||||
|
|
||||||
// //Assignment operators
|
|
||||||
// assignmentExpression:
|
|
||||||
// conditionalExpression
|
|
||||||
// |assignment;
|
|
||||||
// assignment:
|
|
||||||
// leftHandSide assignmentOperator assignmentExpression;
|
|
||||||
// leftHandSide:
|
|
||||||
// expressionName;
|
|
||||||
// |fieldAccess
|
|
||||||
// |arrayAccess;
|
|
||||||
// assignmentOperator:
|
|
||||||
// Assignment | MultiplyAssign | DivideAssign | RemainderAssign | AddAssign | SubtractAssign | LeftShiftAssign
|
|
||||||
// | SighnedRightShiftAssign | BitwiseANDAssign | BitwiseXORAssign | BitwiseORAssign;
|
|
||||||
|
|
||||||
// //Determining Meaning of a Name (Section 6.5)
|
|
||||||
// expressionName:
|
|
||||||
// name;
|
|
||||||
// |ambiguousName Dot name;
|
|
||||||
Reference in New Issue
Block a user