fixed parsing front slash

This commit is contained in:
Piotr Szymanski
2020-03-06 12:29:49 +01:00
parent 38ce869b12
commit 7d9322734e
3 changed files with 26 additions and 1 deletions

View File

@@ -3191,7 +3191,7 @@ ASTMultiplicativeExpression MultiplicativeExpression() #MultiplicativeExpression
//UnaryExpression() ( ( "*" | "/" | <MOD> ) UnaryExpression() )*
(
(simpleNode = UnaryExpression(true) ) { sb.append(simpleNode.getImage()); }
( LOOKAHEAD(2)
( LOOKAHEAD("**" | "*" | "/" | <MOD> , {getToken(1).specialToken == null || getToken(1).specialToken.kind != EOL})
( ("**" ) { sb.append(" ** "); } //Exponentiation
| ("*" ) { sb.append(" * "); }
| ("/" ) { sb.append(" / "); }

View File

@@ -0,0 +1,18 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.plsql.ast;
import org.junit.Test;
import net.sourceforge.pmd.lang.plsql.AbstractPLSQLParserTst;
public class SlashAsDivisionTest extends AbstractPLSQLParserTst {
@Test
public void parseSlashAsDivision() {
plsql.parseResource("SlashAsDivision.sql");
}
}

View File

@@ -0,0 +1,7 @@
update name
set street = 'Main Street'
/
update name
set n01 = 2/2
/