Skip to content

Commit 260a6e9

Browse files
committed
Added exponential notation support in number literals
1 parent b3464b8 commit 260a6e9

File tree

5 files changed

+10
-2
lines changed

5 files changed

+10
-2
lines changed

src/main/java/fr/adrienbrault/idea/symfony2plugin/expressionLanguage/ExpressionLanguage.bnf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
extends(".*expr")=expr
1616
tokens=[
1717
space='regexp:\s+'
18-
number='regexp:\d+(\.\d*)?'
18+
number='regexp:\d+(\.\d*)?([Ee][+\-]\d+)?'
1919
null="regexp:NULL|null"
2020
true="regexp:TRUE|true"
2121
false="regexp:FALSE|false"

src/main/java/fr/adrienbrault/idea/symfony2plugin/expressionLanguage/ExpressionLanguage.flex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ EOL=\R
2626
WHITE_SPACE=\s+
2727

2828
SPACE=[ \t\n\x0B\f\r]+
29-
NUMBER=[0-9]+(\.[0-9]*)?
29+
NUMBER=[0-9]+(\.[0-9]*)?([Ee][+\-][0-9]+)?
3030
NULL=NULL|null
3131
TRUE=TRUE|true
3232
FALSE=FALSE|false

src/test/java/fr/adrienbrault/idea/symfony2plugin/tests/expressionLanguage/ExpressionLanguageParsingTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ public void testNumberLiteralWithFraction() {
129129
doTest(true);
130130
}
131131

132+
public void testExponentialNotationLiteral() {
133+
doTest(true);
134+
}
135+
132136
public void testStringDoubleQuoteLiteral() {
133137
doTest(true);
134138
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.99E+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Expression Language File
2+
ExpressionLanguageLiteralExprImpl(LITERAL_EXPR)
3+
PsiElement( ExpressionLanguageType.number)('1.99E+3')

0 commit comments

Comments
 (0)