@@ -2259,15 +2259,18 @@ Expression RegularCondition() #RegularCondition:
22592259Expression SQLCondition():
22602260{
22612261 Expression result;
2262+ Expression left;
22622263}
22632264{
22642265 (
22652266 result=ExistsExpression()
22662267 | LOOKAHEAD(InExpression()) result=InExpression()
2267- | LOOKAHEAD(Between()) result=Between()
2268- | LOOKAHEAD(IsNullExpression()) result=IsNullExpression()
2269- | LOOKAHEAD(3) result=LikeExpression()
2270- | result=SimilarToExpression()
2268+ | left = SimpleExpression()
2269+ (LOOKAHEAD(2) result=Between(left)
2270+ | LOOKAHEAD(2) result=IsNullExpression(left)
2271+ | LOOKAHEAD(2) result=LikeExpression(left)
2272+ | result=SimilarToExpression(left)
2273+ )
22712274 )
22722275 { return result; }
22732276}
@@ -2299,15 +2302,13 @@ Expression InExpression() #InExpression :
22992302 }
23002303}
23012304
2302- Expression Between() :
2305+ Expression Between(Expression leftExpression ) :
23032306{
23042307 Between result = new Between();
2305- Expression leftExpression = null;
23062308 Expression betweenExpressionStart = null;
23072309 Expression betweenExpressionEnd = null;
23082310}
23092311{
2310- leftExpression=SimpleExpression()
23112312 [<K_NOT> { result.setNot(true); }]
23122313 <K_BETWEEN> betweenExpressionStart=SimpleExpression() <K_AND> betweenExpressionEnd=SimpleExpression()
23132314
@@ -2319,14 +2320,12 @@ Expression Between() :
23192320 }
23202321}
23212322
2322- Expression LikeExpression() #LikeExpression:
2323+ Expression LikeExpression(Expression leftExpression ) #LikeExpression:
23232324{
23242325 LikeExpression result = new LikeExpression();
2325- Expression leftExpression = null;
23262326 Expression rightExpression = null;
23272327}
23282328{
2329- leftExpression=SimpleExpression()
23302329 [<K_NOT> { result.setNot(true); } ] ( <K_LIKE> | <K_ILIKE> { result.setCaseInsensitive(true); } ) rightExpression=SimpleExpression()
23312330 [<K_ESCAPE> token=<S_CHAR_LITERAL> { result.setEscape((new StringValue(token.image)).getValue()); }]
23322331 {
@@ -2337,14 +2336,12 @@ Expression LikeExpression() #LikeExpression:
23372336 }
23382337}
23392338
2340- Expression SimilarToExpression() #SimilarToExpression:
2339+ Expression SimilarToExpression(Expression leftExpression ) #SimilarToExpression:
23412340{
23422341 SimilarToExpression result = new SimilarToExpression();
2343- Expression leftExpression = null;
23442342 Expression rightExpression = null;
23452343}
23462344{
2347- leftExpression=SimpleExpression()
23482345 [<K_NOT> { result.setNot(true); } ]
23492346 <K_SIMILAR> <K_TO>
23502347 rightExpression=SimpleExpression()
@@ -2357,13 +2354,11 @@ Expression SimilarToExpression() #SimilarToExpression:
23572354 }
23582355}
23592356
2360- Expression IsNullExpression():
2357+ Expression IsNullExpression(Expression leftExpression ):
23612358{
23622359 IsNullExpression result = new IsNullExpression();
2363- Expression leftExpression = null;
23642360}
23652361{
2366- leftExpression=SimpleExpression()
23672362 (<K_ISNULL> { result.setUseIsNull(true); } | <K_IS> [<K_NOT> { result.setNot(true); } ] <K_NULL> )
23682363
23692364 {
0 commit comments