changed to [] from {} for projection and selection (including first and last selection). addresses the problem of clashes with template prefix/suffix
This commit is contained in:
@@ -93,7 +93,7 @@ public class Projection extends SpelNodeImpl {
|
||||
@Override
|
||||
public String toStringAST() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
return sb.append("!{").append(getChild(0).toStringAST()).append("}").toString();
|
||||
return sb.append("![").append(getChild(0).toStringAST()).append("]").toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -41,9 +41,9 @@ import org.springframework.expression.spel.SpelMessages;
|
||||
*/
|
||||
public class Selection extends SpelNodeImpl {
|
||||
|
||||
public final static int ALL = 0; // ?{}
|
||||
public final static int FIRST = 1; // ^{}
|
||||
public final static int LAST = 2; // ${}
|
||||
public final static int ALL = 0; // ?[]
|
||||
public final static int FIRST = 1; // ^[]
|
||||
public final static int LAST = 2; // $[]
|
||||
|
||||
private final int variant;
|
||||
|
||||
@@ -140,16 +140,16 @@ public class Selection extends SpelNodeImpl {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
switch (variant) {
|
||||
case ALL:
|
||||
sb.append("?{");
|
||||
sb.append("?[");
|
||||
break;
|
||||
case FIRST:
|
||||
sb.append("^{");
|
||||
sb.append("^[");
|
||||
break;
|
||||
case LAST:
|
||||
sb.append("${");
|
||||
sb.append("$[");
|
||||
break;
|
||||
}
|
||||
return sb.append(getChild(0).toStringAST()).append("}").toString();
|
||||
return sb.append(getChild(0).toStringAST()).append("]").toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,268 +1,268 @@
|
||||
grammar SpringExpressions;
|
||||
|
||||
options {
|
||||
language = Java;
|
||||
output=AST;
|
||||
k=2;
|
||||
}
|
||||
|
||||
tokens {
|
||||
INTEGER_LITERAL;
|
||||
EXPRESSION;
|
||||
QUALIFIED_IDENTIFIER;
|
||||
PROPERTY_OR_FIELD;
|
||||
INDEXER;
|
||||
CONSTRUCTOR;
|
||||
HOLDER;
|
||||
NAMED_ARGUMENT;
|
||||
FUNCTIONREF;
|
||||
TYPEREF;
|
||||
VARIABLEREF;
|
||||
METHOD;
|
||||
ADD;
|
||||
SUBTRACT;
|
||||
NUMBER;
|
||||
}
|
||||
|
||||
// applies only to the parser:
|
||||
@header {package org.springframework.expression.spel.generated;}
|
||||
|
||||
// applies only to the lexer:
|
||||
@lexer::header {package org.springframework.expression.spel.generated;}
|
||||
|
||||
@members {
|
||||
// For collecting info whilst processing rules that can be used in messages
|
||||
protected Stack<String> paraphrase = new Stack<String>();
|
||||
}
|
||||
|
||||
@rulecatch {
|
||||
catch(RecognitionException e) {
|
||||
reportError(e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
expr: expression EOF!;
|
||||
|
||||
expression :
|
||||
logicalOrExpression
|
||||
( (ASSIGN^ logicalOrExpression)
|
||||
| (DEFAULT^ logicalOrExpression)
|
||||
| (QMARK^ expression COLON! expression))?;
|
||||
|
||||
parenExpr : LPAREN! expression RPAREN!;
|
||||
|
||||
logicalOrExpression
|
||||
: logicalAndExpression (OR^ logicalAndExpression)*;
|
||||
|
||||
logicalAndExpression
|
||||
: relationalExpression (AND^ relationalExpression)*;
|
||||
|
||||
relationalExpression : sumExpression (relationalOperator^ sumExpression)?;
|
||||
|
||||
sumExpression
|
||||
: productExpression ( (PLUS^ | MINUS^) productExpression)*;
|
||||
|
||||
productExpression
|
||||
: powerExpr ((STAR^ | DIV^| MOD^) powerExpr)* ;
|
||||
|
||||
powerExpr : unaryExpression (POWER^ unaryExpression)? ;
|
||||
|
||||
unaryExpression
|
||||
: (PLUS^ | MINUS^ | BANG^) unaryExpression
|
||||
| primaryExpression ;
|
||||
|
||||
primaryExpression
|
||||
: startNode (node)? -> ^(EXPRESSION startNode (node)?);
|
||||
|
||||
startNode
|
||||
:
|
||||
parenExpr
|
||||
| methodOrProperty
|
||||
| functionOrVar
|
||||
| indexer
|
||||
| literal
|
||||
| type
|
||||
| constructor
|
||||
| projection
|
||||
| selection
|
||||
| firstSelection
|
||||
| lastSelection
|
||||
;
|
||||
|
||||
node
|
||||
: ((DOT dottedNode) | nonDottedNode)+;
|
||||
|
||||
nonDottedNode
|
||||
: indexer;
|
||||
|
||||
dottedNode
|
||||
:
|
||||
((methodOrProperty
|
||||
| functionOrVar
|
||||
| projection
|
||||
| selection
|
||||
| firstSelection
|
||||
| lastSelection
|
||||
))
|
||||
;
|
||||
|
||||
functionOrVar
|
||||
: (POUND ID LPAREN) => function
|
||||
| var
|
||||
;
|
||||
|
||||
function : POUND id=ID methodArgs -> ^(FUNCTIONREF[$id] methodArgs);
|
||||
|
||||
var : POUND id=ID -> ^(VARIABLEREF[$id]);
|
||||
|
||||
|
||||
methodOrProperty
|
||||
: (ID LPAREN) => id=ID methodArgs -> ^(METHOD[$id] methodArgs)
|
||||
| property
|
||||
;
|
||||
|
||||
// may have to preserve these commas to make it easier to offer suggestions in the right place
|
||||
// mod at 9th feb 19:13 - added the second 'COMMA?' to allow for code completion "foo(A,"
|
||||
// TODO need to preserve commas and then check for badly formed call later (optimizing tree walk) to disallow "foo(a,b,c,)"
|
||||
methodArgs : LPAREN! (argument (COMMA! argument)* (COMMA!)?)? RPAREN!;
|
||||
|
||||
// If we match ID then create a node called PROPERTY_OR_FIELD and copy the id info into it.
|
||||
// this means the propertyOrField.text is what id.text would have been, rather than having to
|
||||
// access id as a child of the new node.
|
||||
property: id=ID -> ^(PROPERTY_OR_FIELD[$id]);
|
||||
|
||||
|
||||
indexer: LBRACKET r1=argument (COMMA r2=argument)* RBRACKET -> ^(INDEXER $r1 ($r2)*);
|
||||
|
||||
// argument;
|
||||
// TODO make expression conditional with ? if want completion for when the RCURLY is missing
|
||||
projection: PROJECT^ expression RCURLY!;
|
||||
|
||||
selection: SELECT^ expression RCURLY!;
|
||||
|
||||
firstSelection: SELECT_FIRST^ expression RCURLY!;
|
||||
|
||||
lastSelection: SELECT_LAST^ expression RCURLY!;
|
||||
|
||||
// TODO cope with array types
|
||||
type: TYPE qualifiedId RPAREN -> ^(TYPEREF qualifiedId);
|
||||
//type: TYPE tn=qualifiedId (LBRACKET RBRACKET)? (COMMA qid=qualifiedId)? RPAREN
|
||||
|
||||
|
||||
constructor
|
||||
: ('new' qualifiedId LPAREN) => 'new' qualifiedId ctorArgs -> ^(CONSTRUCTOR qualifiedId ctorArgs)
|
||||
;
|
||||
|
||||
ctorArgs
|
||||
: LPAREN! (namedArgument (COMMA! namedArgument)*)? RPAREN!;
|
||||
|
||||
argument : expression;
|
||||
|
||||
namedArgument
|
||||
: (ID ASSIGN) => id=ID ASSIGN expression
|
||||
-> ^(NAMED_ARGUMENT[$id] expression)
|
||||
| argument ;
|
||||
|
||||
qualifiedId : ID (DOT ID)* -> ^(QUALIFIED_IDENTIFIER ID*);
|
||||
|
||||
contextName : ID (DIV ID)* -> ^(QUALIFIED_IDENTIFIER ID*);
|
||||
|
||||
literal
|
||||
: INTEGER_LITERAL
|
||||
| STRING_LITERAL
|
||||
| DQ_STRING_LITERAL
|
||||
| boolLiteral
|
||||
| NULL_LITERAL
|
||||
| HEXADECIMAL_INTEGER_LITERAL
|
||||
| REAL_LITERAL
|
||||
;
|
||||
|
||||
boolLiteral: TRUE | FALSE;
|
||||
|
||||
INTEGER_LITERAL
|
||||
: (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
HEXADECIMAL_INTEGER_LITERAL : ('0x' | '0X') (HEX_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
relationalOperator
|
||||
: EQUAL
|
||||
| NOT_EQUAL
|
||||
| LESS_THAN
|
||||
| LESS_THAN_OR_EQUAL
|
||||
| GREATER_THAN
|
||||
| GREATER_THAN_OR_EQUAL
|
||||
| INSTANCEOF
|
||||
| BETWEEN
|
||||
| MATCHES
|
||||
;
|
||||
|
||||
ASSIGN: '=';
|
||||
EQUAL: '==';
|
||||
NOT_EQUAL: '!=';
|
||||
LESS_THAN: '<';
|
||||
LESS_THAN_OR_EQUAL: '<=';
|
||||
GREATER_THAN: '>';
|
||||
GREATER_THAN_OR_EQUAL: '>=';
|
||||
INSTANCEOF: 'instanceof';
|
||||
BETWEEN:'between';
|
||||
MATCHES:'matches';
|
||||
NULL_LITERAL: 'null';
|
||||
|
||||
SEMI: ';';
|
||||
DOT: '.';
|
||||
COMMA: ',';
|
||||
LPAREN: '(';
|
||||
RPAREN: ')';
|
||||
LCURLY: '{';
|
||||
RCURLY: '}';
|
||||
LBRACKET: '[';
|
||||
RBRACKET: ']';
|
||||
PIPE: '|';
|
||||
|
||||
AND: 'and';
|
||||
OR: 'or';
|
||||
FALSE: 'false';
|
||||
TRUE: 'true';
|
||||
|
||||
PLUS: '+';
|
||||
MINUS: '-';
|
||||
DIV: '/';
|
||||
STAR: '*';
|
||||
MOD: '%';
|
||||
POWER: '^';
|
||||
BANG: '!';
|
||||
POUND: '#';
|
||||
QMARK: '?';
|
||||
DEFAULT: '??';
|
||||
PROJECT: '!{';
|
||||
SELECT: '?{';
|
||||
SELECT_FIRST: '^{';
|
||||
SELECT_LAST: '${';
|
||||
TYPE: 'T(';
|
||||
|
||||
STRING_LITERAL: '\''! (APOS|~'\'')* '\''!;
|
||||
DQ_STRING_LITERAL: '"'! (~'"')* '"'!;
|
||||
ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|DOT_ESCAPED)*;
|
||||
DOT_ESCAPED: '\\.';
|
||||
WS: ( ' ' | '\t' | '\n' |'\r')+ { $channel=HIDDEN; } ;
|
||||
DOLLAR: '$';
|
||||
AT: '@';
|
||||
UPTO: '..';
|
||||
COLON: ':';
|
||||
|
||||
|
||||
REAL_LITERAL :
|
||||
('.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX));
|
||||
|
||||
fragment APOS : '\''! '\'';
|
||||
fragment DECIMAL_DIGIT : '0'..'9' ;
|
||||
fragment INTEGER_TYPE_SUFFIX : ( 'L' | 'l' );
|
||||
fragment HEX_DIGIT : '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'A'|'B'|'C'|'D'|'E'|'F'|'a'|'b'|'c'|'d'|'e'|'f';
|
||||
|
||||
fragment EXPONENT_PART : 'e' (SIGN)* (DECIMAL_DIGIT)+ | 'E' (SIGN)* (DECIMAL_DIGIT)+ ;
|
||||
fragment SIGN : '+' | '-' ;
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd';
|
||||
grammar SpringExpressions;
|
||||
|
||||
options {
|
||||
language = Java;
|
||||
output=AST;
|
||||
k=2;
|
||||
}
|
||||
|
||||
tokens {
|
||||
INTEGER_LITERAL;
|
||||
EXPRESSION;
|
||||
QUALIFIED_IDENTIFIER;
|
||||
PROPERTY_OR_FIELD;
|
||||
INDEXER;
|
||||
CONSTRUCTOR;
|
||||
HOLDER;
|
||||
NAMED_ARGUMENT;
|
||||
FUNCTIONREF;
|
||||
TYPEREF;
|
||||
VARIABLEREF;
|
||||
METHOD;
|
||||
ADD;
|
||||
SUBTRACT;
|
||||
NUMBER;
|
||||
}
|
||||
|
||||
// applies only to the parser:
|
||||
@header {package org.springframework.expression.spel.generated;}
|
||||
|
||||
// applies only to the lexer:
|
||||
@lexer::header {package org.springframework.expression.spel.generated;}
|
||||
|
||||
@members {
|
||||
// For collecting info whilst processing rules that can be used in messages
|
||||
protected Stack<String> paraphrase = new Stack<String>();
|
||||
}
|
||||
|
||||
@rulecatch {
|
||||
catch(RecognitionException e) {
|
||||
reportError(e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
expr: expression EOF!;
|
||||
|
||||
expression :
|
||||
logicalOrExpression
|
||||
( (ASSIGN^ logicalOrExpression)
|
||||
| (DEFAULT^ logicalOrExpression)
|
||||
| (QMARK^ expression COLON! expression))?;
|
||||
|
||||
parenExpr : LPAREN! expression RPAREN!;
|
||||
|
||||
logicalOrExpression
|
||||
: logicalAndExpression (OR^ logicalAndExpression)*;
|
||||
|
||||
logicalAndExpression
|
||||
: relationalExpression (AND^ relationalExpression)*;
|
||||
|
||||
relationalExpression : sumExpression (relationalOperator^ sumExpression)?;
|
||||
|
||||
sumExpression
|
||||
: productExpression ( (PLUS^ | MINUS^) productExpression)*;
|
||||
|
||||
productExpression
|
||||
: powerExpr ((STAR^ | DIV^| MOD^) powerExpr)* ;
|
||||
|
||||
powerExpr : unaryExpression (POWER^ unaryExpression)? ;
|
||||
|
||||
unaryExpression
|
||||
: (PLUS^ | MINUS^ | BANG^) unaryExpression
|
||||
| primaryExpression ;
|
||||
|
||||
primaryExpression
|
||||
: startNode (node)? -> ^(EXPRESSION startNode (node)?);
|
||||
|
||||
startNode
|
||||
:
|
||||
parenExpr
|
||||
| methodOrProperty
|
||||
| functionOrVar
|
||||
| indexer
|
||||
| literal
|
||||
| type
|
||||
| constructor
|
||||
| projection
|
||||
| selection
|
||||
| firstSelection
|
||||
| lastSelection
|
||||
;
|
||||
|
||||
node
|
||||
: ((DOT dottedNode) | nonDottedNode)+;
|
||||
|
||||
nonDottedNode
|
||||
: indexer;
|
||||
|
||||
dottedNode
|
||||
:
|
||||
((methodOrProperty
|
||||
| functionOrVar
|
||||
| projection
|
||||
| selection
|
||||
| firstSelection
|
||||
| lastSelection
|
||||
))
|
||||
;
|
||||
|
||||
functionOrVar
|
||||
: (POUND ID LPAREN) => function
|
||||
| var
|
||||
;
|
||||
|
||||
function : POUND id=ID methodArgs -> ^(FUNCTIONREF[$id] methodArgs);
|
||||
|
||||
var : POUND id=ID -> ^(VARIABLEREF[$id]);
|
||||
|
||||
|
||||
methodOrProperty
|
||||
: (ID LPAREN) => id=ID methodArgs -> ^(METHOD[$id] methodArgs)
|
||||
| property
|
||||
;
|
||||
|
||||
// may have to preserve these commas to make it easier to offer suggestions in the right place
|
||||
// mod at 9th feb 19:13 - added the second 'COMMA?' to allow for code completion "foo(A,"
|
||||
// TODO need to preserve commas and then check for badly formed call later (optimizing tree walk) to disallow "foo(a,b,c,)"
|
||||
methodArgs : LPAREN! (argument (COMMA! argument)* (COMMA!)?)? RPAREN!;
|
||||
|
||||
// If we match ID then create a node called PROPERTY_OR_FIELD and copy the id info into it.
|
||||
// this means the propertyOrField.text is what id.text would have been, rather than having to
|
||||
// access id as a child of the new node.
|
||||
property: id=ID -> ^(PROPERTY_OR_FIELD[$id]);
|
||||
|
||||
|
||||
indexer: LBRACKET r1=argument (COMMA r2=argument)* RBRACKET -> ^(INDEXER $r1 ($r2)*);
|
||||
|
||||
// argument;
|
||||
// TODO make expression conditional with ? if want completion for when the RCURLY is missing
|
||||
projection: PROJECT^ expression RBRACKET!;
|
||||
|
||||
selection: SELECT^ expression RBRACKET!;
|
||||
|
||||
firstSelection: SELECT_FIRST^ expression RBRACKET!;
|
||||
|
||||
lastSelection: SELECT_LAST^ expression RBRACKET!;
|
||||
|
||||
// TODO cope with array types
|
||||
type: TYPE qualifiedId RPAREN -> ^(TYPEREF qualifiedId);
|
||||
//type: TYPE tn=qualifiedId (LBRACKET RBRACKET)? (COMMA qid=qualifiedId)? RPAREN
|
||||
|
||||
|
||||
constructor
|
||||
: ('new' qualifiedId LPAREN) => 'new' qualifiedId ctorArgs -> ^(CONSTRUCTOR qualifiedId ctorArgs)
|
||||
;
|
||||
|
||||
ctorArgs
|
||||
: LPAREN! (namedArgument (COMMA! namedArgument)*)? RPAREN!;
|
||||
|
||||
argument : expression;
|
||||
|
||||
namedArgument
|
||||
: (ID ASSIGN) => id=ID ASSIGN expression
|
||||
-> ^(NAMED_ARGUMENT[$id] expression)
|
||||
| argument ;
|
||||
|
||||
qualifiedId : ID (DOT ID)* -> ^(QUALIFIED_IDENTIFIER ID*);
|
||||
|
||||
contextName : ID (DIV ID)* -> ^(QUALIFIED_IDENTIFIER ID*);
|
||||
|
||||
literal
|
||||
: INTEGER_LITERAL
|
||||
| STRING_LITERAL
|
||||
| DQ_STRING_LITERAL
|
||||
| boolLiteral
|
||||
| NULL_LITERAL
|
||||
| HEXADECIMAL_INTEGER_LITERAL
|
||||
| REAL_LITERAL
|
||||
;
|
||||
|
||||
boolLiteral: TRUE | FALSE;
|
||||
|
||||
INTEGER_LITERAL
|
||||
: (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
HEXADECIMAL_INTEGER_LITERAL : ('0x' | '0X') (HEX_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
relationalOperator
|
||||
: EQUAL
|
||||
| NOT_EQUAL
|
||||
| LESS_THAN
|
||||
| LESS_THAN_OR_EQUAL
|
||||
| GREATER_THAN
|
||||
| GREATER_THAN_OR_EQUAL
|
||||
| INSTANCEOF
|
||||
| BETWEEN
|
||||
| MATCHES
|
||||
;
|
||||
|
||||
ASSIGN: '=';
|
||||
EQUAL: '==';
|
||||
NOT_EQUAL: '!=';
|
||||
LESS_THAN: '<';
|
||||
LESS_THAN_OR_EQUAL: '<=';
|
||||
GREATER_THAN: '>';
|
||||
GREATER_THAN_OR_EQUAL: '>=';
|
||||
INSTANCEOF: 'instanceof';
|
||||
BETWEEN:'between';
|
||||
MATCHES:'matches';
|
||||
NULL_LITERAL: 'null';
|
||||
|
||||
SEMI: ';';
|
||||
DOT: '.';
|
||||
COMMA: ',';
|
||||
LPAREN: '(';
|
||||
RPAREN: ')';
|
||||
LCURLY: '{';
|
||||
RCURLY: '}';
|
||||
LBRACKET: '[';
|
||||
RBRACKET: ']';
|
||||
PIPE: '|';
|
||||
|
||||
AND: 'and';
|
||||
OR: 'or';
|
||||
FALSE: 'false';
|
||||
TRUE: 'true';
|
||||
|
||||
PLUS: '+';
|
||||
MINUS: '-';
|
||||
DIV: '/';
|
||||
STAR: '*';
|
||||
MOD: '%';
|
||||
POWER: '^';
|
||||
BANG: '!';
|
||||
POUND: '#';
|
||||
QMARK: '?';
|
||||
DEFAULT: '??';
|
||||
PROJECT: '![';
|
||||
SELECT: '?[';
|
||||
SELECT_FIRST: '^[';
|
||||
SELECT_LAST: '$[';
|
||||
TYPE: 'T(';
|
||||
|
||||
STRING_LITERAL: '\''! (APOS|~'\'')* '\''!;
|
||||
DQ_STRING_LITERAL: '"'! (~'"')* '"'!;
|
||||
ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|DOT_ESCAPED)*;
|
||||
DOT_ESCAPED: '\\.';
|
||||
WS: ( ' ' | '\t' | '\n' |'\r')+ { $channel=HIDDEN; } ;
|
||||
DOLLAR: '$';
|
||||
AT: '@';
|
||||
UPTO: '..';
|
||||
COLON: ':';
|
||||
|
||||
|
||||
REAL_LITERAL :
|
||||
('.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX));
|
||||
|
||||
fragment APOS : '\''! '\'';
|
||||
fragment DECIMAL_DIGIT : '0'..'9' ;
|
||||
fragment INTEGER_TYPE_SUFFIX : ( 'L' | 'l' );
|
||||
fragment HEX_DIGIT : '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'A'|'B'|'C'|'D'|'E'|'F'|'a'|'b'|'c'|'d'|'e'|'f';
|
||||
|
||||
fragment EXPONENT_PART : 'e' (SIGN)* (DECIMAL_DIGIT)+ | 'E' (SIGN)* (DECIMAL_DIGIT)+ ;
|
||||
fragment SIGN : '+' | '-' ;
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd';
|
||||
|
||||
@@ -1,74 +1,74 @@
|
||||
GREATER_THAN_OR_EQUAL=61
|
||||
HOLDER=10
|
||||
COMMA=37
|
||||
SELECT_FIRST=43
|
||||
GREATER_THAN=60
|
||||
TYPE=45
|
||||
MINUS=28
|
||||
SELECT_LAST=44
|
||||
NUMBER=18
|
||||
LESS_THAN=58
|
||||
BANG=33
|
||||
FALSE=52
|
||||
METHOD=15
|
||||
PROPERTY_OR_FIELD=7
|
||||
LBRACKET=38
|
||||
INDEXER=8
|
||||
MOD=31
|
||||
FUNCTIONREF=12
|
||||
NULL_LITERAL=48
|
||||
NAMED_ARGUMENT=11
|
||||
OR=25
|
||||
PIPE=67
|
||||
DOT=34
|
||||
RCURLY=41
|
||||
EXPRESSION=5
|
||||
AND=26
|
||||
LCURLY=66
|
||||
REAL_TYPE_SUFFIX=75
|
||||
STRING_LITERAL=46
|
||||
QUALIFIED_IDENTIFIER=6
|
||||
SELECT=42
|
||||
ASSIGN=19
|
||||
SUBTRACT=17
|
||||
RBRACKET=39
|
||||
INSTANCEOF=62
|
||||
BETWEEN=63
|
||||
RPAREN=24
|
||||
SIGN=76
|
||||
LPAREN=23
|
||||
HEX_DIGIT=55
|
||||
PLUS=27
|
||||
APOS=68
|
||||
INTEGER_LITERAL=4
|
||||
AT=72
|
||||
ID=36
|
||||
NOT_EQUAL=57
|
||||
POWER=32
|
||||
TYPEREF=13
|
||||
DECIMAL_DIGIT=53
|
||||
WS=70
|
||||
DOLLAR=71
|
||||
LESS_THAN_OR_EQUAL=59
|
||||
DQ_STRING_LITERAL=47
|
||||
HEXADECIMAL_INTEGER_LITERAL=49
|
||||
SEMI=65
|
||||
CONSTRUCTOR=9
|
||||
INTEGER_TYPE_SUFFIX=54
|
||||
EQUAL=56
|
||||
MATCHES=64
|
||||
DOT_ESCAPED=69
|
||||
UPTO=73
|
||||
QMARK=21
|
||||
DEFAULT=20
|
||||
COLON=22
|
||||
PROJECT=40
|
||||
DIV=30
|
||||
DECIMAL_DIGIT=52
|
||||
APOS=68
|
||||
TYPEREF=13
|
||||
HEXADECIMAL_INTEGER_LITERAL=48
|
||||
STAR=29
|
||||
REAL_LITERAL=50
|
||||
MOD=31
|
||||
VARIABLEREF=14
|
||||
EXPONENT_PART=74
|
||||
TRUE=51
|
||||
AND=26
|
||||
ID=36
|
||||
SUBTRACT=17
|
||||
UPTO=73
|
||||
LPAREN=23
|
||||
TYPE=44
|
||||
HOLDER=10
|
||||
AT=72
|
||||
LBRACKET=38
|
||||
QUALIFIED_IDENTIFIER=6
|
||||
RPAREN=24
|
||||
STRING_LITERAL=45
|
||||
MATCHES=63
|
||||
REAL_LITERAL=49
|
||||
NOT_EQUAL=56
|
||||
COMMA=37
|
||||
FUNCTIONREF=12
|
||||
EQUAL=55
|
||||
PIPE=67
|
||||
PLUS=27
|
||||
RBRACKET=39
|
||||
DOT=34
|
||||
SELECT=41
|
||||
EXPRESSION=5
|
||||
ADD=16
|
||||
LESS_THAN_OR_EQUAL=58
|
||||
GREATER_THAN=59
|
||||
POUND=35
|
||||
PROJECT=40
|
||||
SELECT_LAST=43
|
||||
DEFAULT=20
|
||||
NUMBER=18
|
||||
REAL_TYPE_SUFFIX=75
|
||||
HEX_DIGIT=54
|
||||
POWER=32
|
||||
LCURLY=65
|
||||
NULL_LITERAL=47
|
||||
PROPERTY_OR_FIELD=7
|
||||
BANG=33
|
||||
INSTANCEOF=61
|
||||
MINUS=28
|
||||
SEMI=64
|
||||
TRUE=50
|
||||
COLON=22
|
||||
GREATER_THAN_OR_EQUAL=60
|
||||
WS=70
|
||||
DOT_ESCAPED=69
|
||||
DQ_STRING_LITERAL=46
|
||||
INTEGER_LITERAL=4
|
||||
RCURLY=66
|
||||
INDEXER=8
|
||||
OR=25
|
||||
LESS_THAN=57
|
||||
ASSIGN=19
|
||||
NAMED_ARGUMENT=11
|
||||
SELECT_FIRST=42
|
||||
DIV=30
|
||||
FALSE=51
|
||||
EXPONENT_PART=74
|
||||
BETWEEN=62
|
||||
INTEGER_TYPE_SUFFIX=53
|
||||
METHOD=15
|
||||
CONSTRUCTOR=9
|
||||
QMARK=21
|
||||
'new'=77
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,136 +7,136 @@ options {
|
||||
|
||||
T77 : 'new' ;
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 183
|
||||
INTEGER_LITERAL
|
||||
: (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 186
|
||||
HEXADECIMAL_INTEGER_LITERAL : ('0x' | '0X') (HEX_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 200
|
||||
ASSIGN: '=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 201
|
||||
EQUAL: '==';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 202
|
||||
NOT_EQUAL: '!=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 203
|
||||
LESS_THAN: '<';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 204
|
||||
LESS_THAN_OR_EQUAL: '<=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 205
|
||||
GREATER_THAN: '>';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 206
|
||||
GREATER_THAN_OR_EQUAL: '>=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 207
|
||||
INSTANCEOF: 'instanceof';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 208
|
||||
BETWEEN:'between';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 209
|
||||
MATCHES:'matches';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 210
|
||||
NULL_LITERAL: 'null';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 212
|
||||
SEMI: ';';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 213
|
||||
DOT: '.';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 214
|
||||
COMMA: ',';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 215
|
||||
LPAREN: '(';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 216
|
||||
RPAREN: ')';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 217
|
||||
LCURLY: '{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 218
|
||||
RCURLY: '}';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 219
|
||||
LBRACKET: '[';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 220
|
||||
RBRACKET: ']';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 221
|
||||
PIPE: '|';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 223
|
||||
AND: 'and';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 224
|
||||
OR: 'or';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 225
|
||||
FALSE: 'false';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 226
|
||||
TRUE: 'true';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 228
|
||||
PLUS: '+';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 229
|
||||
MINUS: '-';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 230
|
||||
DIV: '/';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 231
|
||||
STAR: '*';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 232
|
||||
MOD: '%';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 233
|
||||
POWER: '^';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 234
|
||||
BANG: '!';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 235
|
||||
POUND: '#';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 236
|
||||
QMARK: '?';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 237
|
||||
DEFAULT: '??';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 238
|
||||
PROJECT: '!{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 239
|
||||
SELECT: '?{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 240
|
||||
SELECT_FIRST: '^{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 241
|
||||
SELECT_LAST: '${';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 242
|
||||
TYPE: 'T(';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 244
|
||||
STRING_LITERAL: '\''! (APOS|~'\'')* '\''!;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 245
|
||||
DQ_STRING_LITERAL: '"'! (~'"')* '"'!;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 246
|
||||
ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|DOT_ESCAPED)*;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 247
|
||||
DOT_ESCAPED: '\\.';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 248
|
||||
WS: ( ' ' | '\t' | '\n' |'\r')+ { $channel=HIDDEN; } ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 249
|
||||
DOLLAR: '$';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 250
|
||||
AT: '@';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 251
|
||||
UPTO: '..';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 252
|
||||
COLON: ':';
|
||||
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 255
|
||||
REAL_LITERAL :
|
||||
('.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX));
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 261
|
||||
fragment APOS : '\''! '\'';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 262
|
||||
fragment DECIMAL_DIGIT : '0'..'9' ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 263
|
||||
fragment INTEGER_TYPE_SUFFIX : ( 'L' | 'l' );
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 264
|
||||
fragment HEX_DIGIT : '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'A'|'B'|'C'|'D'|'E'|'F'|'a'|'b'|'c'|'d'|'e'|'f';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 266
|
||||
fragment EXPONENT_PART : 'e' (SIGN)* (DECIMAL_DIGIT)+ | 'E' (SIGN)* (DECIMAL_DIGIT)+ ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 267
|
||||
fragment SIGN : '+' | '-' ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 268
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 183
|
||||
INTEGER_LITERAL
|
||||
: (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 186
|
||||
HEXADECIMAL_INTEGER_LITERAL : ('0x' | '0X') (HEX_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 200
|
||||
ASSIGN: '=';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 201
|
||||
EQUAL: '==';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 202
|
||||
NOT_EQUAL: '!=';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 203
|
||||
LESS_THAN: '<';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 204
|
||||
LESS_THAN_OR_EQUAL: '<=';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 205
|
||||
GREATER_THAN: '>';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 206
|
||||
GREATER_THAN_OR_EQUAL: '>=';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 207
|
||||
INSTANCEOF: 'instanceof';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 208
|
||||
BETWEEN:'between';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 209
|
||||
MATCHES:'matches';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 210
|
||||
NULL_LITERAL: 'null';
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 212
|
||||
SEMI: ';';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 213
|
||||
DOT: '.';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 214
|
||||
COMMA: ',';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 215
|
||||
LPAREN: '(';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 216
|
||||
RPAREN: ')';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 217
|
||||
LCURLY: '{';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 218
|
||||
RCURLY: '}';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 219
|
||||
LBRACKET: '[';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 220
|
||||
RBRACKET: ']';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 221
|
||||
PIPE: '|';
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 223
|
||||
AND: 'and';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 224
|
||||
OR: 'or';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 225
|
||||
FALSE: 'false';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 226
|
||||
TRUE: 'true';
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 228
|
||||
PLUS: '+';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 229
|
||||
MINUS: '-';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 230
|
||||
DIV: '/';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 231
|
||||
STAR: '*';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 232
|
||||
MOD: '%';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 233
|
||||
POWER: '^';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 234
|
||||
BANG: '!';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 235
|
||||
POUND: '#';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 236
|
||||
QMARK: '?';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 237
|
||||
DEFAULT: '??';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 238
|
||||
PROJECT: '![';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 239
|
||||
SELECT: '?[';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 240
|
||||
SELECT_FIRST: '^[';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 241
|
||||
SELECT_LAST: '$[';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 242
|
||||
TYPE: 'T(';
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 244
|
||||
STRING_LITERAL: '\''! (APOS|~'\'')* '\''!;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 245
|
||||
DQ_STRING_LITERAL: '"'! (~'"')* '"'!;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 246
|
||||
ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|DOT_ESCAPED)*;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 247
|
||||
DOT_ESCAPED: '\\.';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 248
|
||||
WS: ( ' ' | '\t' | '\n' |'\r')+ { $channel=HIDDEN; } ;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 249
|
||||
DOLLAR: '$';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 250
|
||||
AT: '@';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 251
|
||||
UPTO: '..';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 252
|
||||
COLON: ':';
|
||||
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 255
|
||||
REAL_LITERAL :
|
||||
('.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX));
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 261
|
||||
fragment APOS : '\''! '\'';
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 262
|
||||
fragment DECIMAL_DIGIT : '0'..'9' ;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 263
|
||||
fragment INTEGER_TYPE_SUFFIX : ( 'L' | 'l' );
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 264
|
||||
fragment HEX_DIGIT : '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'A'|'B'|'C'|'D'|'E'|'F'|'a'|'b'|'c'|'d'|'e'|'f';
|
||||
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 266
|
||||
fragment EXPONENT_PART : 'e' (SIGN)* (DECIMAL_DIGIT)+ | 'E' (SIGN)* (DECIMAL_DIGIT)+ ;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 267
|
||||
fragment SIGN : '+' | '-' ;
|
||||
// $ANTLR src "F:\svn\sfw2\org.springframework.expression\src\main\java\org\springframework\expression\spel\generated\SpringExpressions.g" 268
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd';
|
||||
|
||||
Reference in New Issue
Block a user