aboutsummaryrefslogtreecommitdiff
path: root/runtime/CSharp3/Sources/Antlr3.Runtime.Test/TestExpressionFeatures.g3
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/CSharp3/Sources/Antlr3.Runtime.Test/TestExpressionFeatures.g3')
-rw-r--r--runtime/CSharp3/Sources/Antlr3.Runtime.Test/TestExpressionFeatures.g3160
1 files changed, 0 insertions, 160 deletions
diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.Test/TestExpressionFeatures.g3 b/runtime/CSharp3/Sources/Antlr3.Runtime.Test/TestExpressionFeatures.g3
deleted file mode 100644
index 4fb0ae2..0000000
--- a/runtime/CSharp3/Sources/Antlr3.Runtime.Test/TestExpressionFeatures.g3
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * [The "BSD licence"]
- * Copyright (c) 2011 Terence Parr
- * All rights reserved.
- *
- * Conversion to C#:
- * Copyright (c) 2011 Sam Harwell, Pixel Mine, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-grammar TestExpressionFeatures;
-
-options {
- language=CSharp3;
- TokenLabelType=CommonToken;
- output=AST;
- ASTLabelType=CommonTree;
-}
-
-tokens {
- LPAREN = '(';
- RPAREN = ')';
- DOT = '.';
- LBRACK = '[';
- RBRACK = ']';
- INC = '++';
- DEC = '--';
- PLUS = '+';
- MINUS = '-';
- TILDE = '~';
- NOT = '!';
- //LSHIFT = '<<';
- //RSHIFT = '>>';
- //RUSHIFT = '>>>';
- EQUALS = '==';
- NOTEQ = '!=';
- MOD = '%';
- CARET = '^';
- GT = '>';
- LT = '<';
- GE = '>=';
- LE = '<=';
- BITAND = '&';
- BITOR = '|';
- AND = '&&';
- OR = '||';
-
- KW_THIS = 'this';
- KW_SUPER = 'super';
- KW_CLASS = 'class';
- KW_NEW = 'new';
- KW_INSTANCEOF = 'instanceof';
- KW_INT = 'int';
-}
-
-@lexer::namespace{Antlr3.Runtime.Test}
-@parser::namespace{Antlr3.Runtime.Test}
-
-@parser::header{using Console = System.Console;}
-
-/*
- * Parser Rules
- */
-
-public
-compileUnit
- : e EOF
- ;
-
-e : '('! e ')'!
- | 'this'
- | 'super'
- | INT
- | ID
- | type '.'^ 'class'
- | e '.'^ ID
- | e '.'^ 'this'
- | e '.'^ 'super' '('^ expressionList? ')'!
- | e '.'^ 'new'^ ID '('! expressionList? ')'!
- | 'new'^ type ( '(' expressionList? ')'! | (options {k=1;}:'[' e ']'!)+)
- | e '['^ e ']'!
- | '('^ type ')'! e
- | e ('++'^ | '--'^)
- | e '('^ expressionList? ')'!
- | ('+'^|'-'^|'++'^|'--'^) e
- | ('~'^|'!'^) e
- | e ('*'^|'/'^|'%'^) e
- | e ('+'^|'-'^) e
- | e ('<' '<' | '>' '>' '>' | '>' '>') e
- | e ('<='^ | '>='^ | '>'^ | '<'^) e
- | e 'instanceof'^ e
- | e ('=='^ | '!='^) e
- | e '&'^ e
- | e '^'<assoc=right>^ e
- | e '|'^ e
- | e '&&'^ e
- | e '||'^ e
-// | e '?' e ':' e
- | e ('='<assoc=right>^
- |'+='<assoc=right>^
- |'-='<assoc=right>^
- |'*='<assoc=right>^
- |'/='<assoc=right>^
- |'&='<assoc=right>^
- |'|='<assoc=right>^
- |'^='<assoc=right>^
- |'>>='<assoc=right>^
- |'>>>='<assoc=right>^
- |'<<='<assoc=right>^
- |'<<<='<assoc=right>^
- |'%='<assoc=right>^) e
- ;
-
-expressionList
- : e (','! e)*
- ;
-
-type: ID
- | ID '['^ ']'!
- | 'int'
- | 'int' '['^ ']'!
- ;
-
-/*
- * Lexer Rules
- */
-
-WS
- : (' ' | '\t' | '\n' | '\r') {Skip();}
- ;
-
-ID
- : ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_')*
- ;
-
-INT
- : '0'..'9'+
- ;