Skip to content

Commit 704e6c8

Browse files
committed
waiting for javacc/javacc#28
1 parent 3494657 commit 704e6c8

File tree

4 files changed

+37
-126
lines changed

4 files changed

+37
-126
lines changed

src/main/java/net/sf/jsqlparser/parser/CCJSqlParserManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class CCJSqlParserManager implements JSqlParser {
3333

3434
@Override
3535
public Statement parse(Reader statementReader) throws JSQLParserException {
36-
CCJSqlParser parser = new CCJSqlParser(statementReader);
36+
CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader));
3737
try {
3838
return parser.Statement();
3939
} catch (Exception ex) {

src/main/java/net/sf/jsqlparser/parser/CCJSqlParserUtil.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ private CCJSqlParserUtil() {
4040
}
4141

4242
public static Statement parse(Reader statementReader) throws JSQLParserException {
43-
CCJSqlParser parser = new CCJSqlParser(statementReader);
43+
CCJSqlParser parser = new CCJSqlParser(new StreamProvider(statementReader));
4444
try {
4545
return parser.Statement();
4646
} catch (Exception ex) {
@@ -49,7 +49,7 @@ public static Statement parse(Reader statementReader) throws JSQLParserException
4949
}
5050

5151
public static Statement parse(String sql) throws JSQLParserException {
52-
CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));
52+
CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql));
5353
try {
5454
return parser.Statement();
5555
} catch (Exception ex) {
@@ -58,7 +58,7 @@ public static Statement parse(String sql) throws JSQLParserException {
5858
}
5959

6060
public static Node parseAST(String sql) throws JSQLParserException {
61-
CCJSqlParser parser = new CCJSqlParser(new StringReader(sql));
61+
CCJSqlParser parser = new CCJSqlParser(new StringProvider(sql));
6262
try {
6363
parser.Statement();
6464
return parser.jjtree.rootNode();
@@ -68,17 +68,17 @@ public static Node parseAST(String sql) throws JSQLParserException {
6868
}
6969

7070
public static Statement parse(InputStream is) throws JSQLParserException {
71-
CCJSqlParser parser = new CCJSqlParser(is);
7271
try {
72+
CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is));
7373
return parser.Statement();
7474
} catch (Exception ex) {
7575
throw new JSQLParserException(ex);
7676
}
7777
}
7878

7979
public static Statement parse(InputStream is, String encoding) throws JSQLParserException {
80-
CCJSqlParser parser = new CCJSqlParser(is, encoding);
8180
try {
81+
CCJSqlParser parser = new CCJSqlParser(new StreamProvider(is, encoding));
8282
return parser.Statement();
8383
} catch (Exception ex) {
8484
throw new JSQLParserException(ex);
@@ -97,7 +97,7 @@ public static Expression parseExpression(String expression) throws JSQLParserExc
9797
}
9898

9999
public static Expression parseExpression(String expression, boolean allowPartialParse) throws JSQLParserException {
100-
CCJSqlParser parser = new CCJSqlParser(new StringReader(expression));
100+
CCJSqlParser parser = new CCJSqlParser(new StringProvider(expression));
101101
try {
102102
Expression expr = parser.SimpleExpression();
103103
if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) {
@@ -130,7 +130,7 @@ public static Expression parseCondExpression(String condExpr) throws JSQLParserE
130130
* @return
131131
*/
132132
public static Expression parseCondExpression(String condExpr, boolean allowPartialParse) throws JSQLParserException {
133-
CCJSqlParser parser = new CCJSqlParser(new StringReader(condExpr));
133+
CCJSqlParser parser = new CCJSqlParser(new StringProvider(condExpr));
134134
try {
135135
Expression expr = parser.Expression();
136136
if (!allowPartialParse && parser.getNextToken().kind != CCJSqlParserTokenManager.EOF) {
@@ -148,7 +148,7 @@ public static Expression parseCondExpression(String condExpr, boolean allowParti
148148
* Parse a statement list.
149149
*/
150150
public static Statements parseStatements(String sqls) throws JSQLParserException {
151-
CCJSqlParser parser = new CCJSqlParser(new StringReader(sqls));
151+
CCJSqlParser parser = new CCJSqlParser(new StringProvider(sqls));
152152
try {
153153
return parser.Statements();
154154
} catch (Exception ex) {

src/main/java/net/sf/jsqlparser/parser/SimpleCharStream.java

Lines changed: 7 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class SimpleCharStream {
5050
protected boolean prevCharIsCR = false;
5151
protected boolean prevCharIsLF = false;
5252

53-
protected java.io.Reader inputStream;
53+
protected Provider inputStream;
5454

5555
protected char[] buffer;
5656
protected int maxNextCharInd = 0;
@@ -286,7 +286,7 @@ public void backup(int amount) {
286286
/**
287287
* Constructor.
288288
*/
289-
public SimpleCharStream(java.io.Reader dstream, int startline,
289+
public SimpleCharStream(Provider dstream, int startline,
290290
int startcolumn, int buffersize) {
291291
inputStream = dstream;
292292
line = startline;
@@ -301,22 +301,22 @@ public SimpleCharStream(java.io.Reader dstream, int startline,
301301
/**
302302
* Constructor.
303303
*/
304-
public SimpleCharStream(java.io.Reader dstream, int startline,
304+
public SimpleCharStream(Provider dstream, int startline,
305305
int startcolumn) {
306306
this(dstream, startline, startcolumn, 4096);
307307
}
308308

309309
/**
310310
* Constructor.
311311
*/
312-
public SimpleCharStream(java.io.Reader dstream) {
312+
public SimpleCharStream(Provider dstream) {
313313
this(dstream, 1, 1, 4096);
314314
}
315315

316316
/**
317317
* Reinitialise.
318318
*/
319-
public void ReInit(java.io.Reader dstream, int startline,
319+
public void ReInit(Provider dstream, int startline,
320320
int startcolumn, int buffersize) {
321321
inputStream = dstream;
322322
line = startline;
@@ -336,110 +336,18 @@ public void ReInit(java.io.Reader dstream, int startline,
336336
/**
337337
* Reinitialise.
338338
*/
339-
public void ReInit(java.io.Reader dstream, int startline,
339+
public void ReInit(Provider dstream, int startline,
340340
int startcolumn) {
341341
ReInit(dstream, startline, startcolumn, 4096);
342342
}
343343

344344
/**
345345
* Reinitialise.
346346
*/
347-
public void ReInit(java.io.Reader dstream) {
347+
public void ReInit(Provider dstream) {
348348
ReInit(dstream, 1, 1, 4096);
349349
}
350350

351-
/**
352-
* Constructor.
353-
*/
354-
public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
355-
int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException {
356-
this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
357-
}
358-
359-
/**
360-
* Constructor.
361-
*/
362-
public SimpleCharStream(java.io.InputStream dstream, int startline,
363-
int startcolumn, int buffersize) {
364-
this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
365-
}
366-
367-
/**
368-
* Constructor.
369-
*/
370-
public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
371-
int startcolumn) throws java.io.UnsupportedEncodingException {
372-
this(dstream, encoding, startline, startcolumn, 4096);
373-
}
374-
375-
/**
376-
* Constructor.
377-
*/
378-
public SimpleCharStream(java.io.InputStream dstream, int startline,
379-
int startcolumn) {
380-
this(dstream, startline, startcolumn, 4096);
381-
}
382-
383-
/**
384-
* Constructor.
385-
*/
386-
public SimpleCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException {
387-
this(dstream, encoding, 1, 1, 4096);
388-
}
389-
390-
/**
391-
* Constructor.
392-
*/
393-
public SimpleCharStream(java.io.InputStream dstream) {
394-
this(dstream, 1, 1, 4096);
395-
}
396-
397-
/**
398-
* Reinitialise.
399-
*/
400-
public void ReInit(java.io.InputStream dstream, String encoding, int startline,
401-
int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException {
402-
ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
403-
}
404-
405-
/**
406-
* Reinitialise.
407-
*/
408-
public void ReInit(java.io.InputStream dstream, int startline,
409-
int startcolumn, int buffersize) {
410-
ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
411-
}
412-
413-
/**
414-
* Reinitialise.
415-
*/
416-
public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException {
417-
ReInit(dstream, encoding, 1, 1, 4096);
418-
}
419-
420-
/**
421-
* Reinitialise.
422-
*/
423-
public void ReInit(java.io.InputStream dstream) {
424-
ReInit(dstream, 1, 1, 4096);
425-
}
426-
427-
/**
428-
* Reinitialise.
429-
*/
430-
public void ReInit(java.io.InputStream dstream, String encoding, int startline,
431-
int startcolumn) throws java.io.UnsupportedEncodingException {
432-
ReInit(dstream, encoding, startline, startcolumn, 4096);
433-
}
434-
435-
/**
436-
* Reinitialise.
437-
*/
438-
public void ReInit(java.io.InputStream dstream, int startline,
439-
int startcolumn) {
440-
ReInit(dstream, startline, startcolumn, 4096);
441-
}
442-
443351
/**
444352
* Get token literal value.
445353
*/

src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ options{
2929
CACHE_TOKENS=false;
3030
// FORCE_LA_CHECK=true;
3131
UNICODE_INPUT=true;
32-
JAVA_TEMPLATE_TYPE = "classic";
32+
JAVA_TEMPLATE_TYPE = "modern";
3333
JDK_VERSION = "1.6";
3434
TOKEN_EXTENDS ="BaseToken";
3535
COMMON_TOKEN_ACTION=true;
36+
LEGACY_EXCEPTION_HANDLING = false;
3637
}
3738

3839
PARSER_BEGIN(CCJSqlParser)
@@ -337,15 +338,12 @@ TOKEN:
337338
}
338339

339340
Statement Statement() #Statement:
340-
{ Statement stm; }
341+
{ Statement stm = null; }
341342
{
342343
try {
343344
stm = SingleStatement()
344345
[<ST_SEMICOLON>]
345346
<EOF>
346-
{
347-
return stm;
348-
}
349347
} catch (ParseException e) {
350348
if (errorRecovery) {
351349
parseErrors.add(e);
@@ -354,6 +352,10 @@ Statement Statement() #Statement:
354352
else
355353
throw e;
356354
}
355+
356+
{
357+
return stm;
358+
}
357359
}
358360

359361
Statement SingleStatement() :
@@ -2565,19 +2567,20 @@ WindowOffset WindowOffset():
25652567
}
25662568
{
25672569
(
2568-
2569-
<K_UNBOUNDED> (<K_PRECEDING> { offset.setType(WindowOffset.Type.PRECEDING); return offset; } |
2570-
<K_FOLLOWING> { offset.setType(WindowOffset.Type.FOLLOWING); return offset; } )
2571-
)
2572-
|
2573-
( <K_CURRENT> <K_ROW> { offset.setType(WindowOffset.Type.CURRENT); return offset;} )
2574-
|
2575-
( expr = SimpleExpression() {
2576-
offset.setType(WindowOffset.Type.EXPR);
2577-
offset.setExpression(expr);
2578-
}
2579-
(<K_PRECEDING> { offset.setType(WindowOffset.Type.PRECEDING); } | <K_FOLLOWING> { offset.setType(WindowOffset.Type.FOLLOWING); } )
2580-
)
2570+
(
2571+
<K_UNBOUNDED> (<K_PRECEDING> { offset.setType(WindowOffset.Type.PRECEDING); } |
2572+
<K_FOLLOWING> { offset.setType(WindowOffset.Type.FOLLOWING); } )
2573+
)
2574+
|
2575+
( <K_CURRENT> <K_ROW> { offset.setType(WindowOffset.Type.CURRENT); } )
2576+
|
2577+
( expr = SimpleExpression() {
2578+
offset.setType(WindowOffset.Type.EXPR);
2579+
offset.setExpression(expr);
2580+
}
2581+
(<K_PRECEDING> { offset.setType(WindowOffset.Type.PRECEDING); } | <K_FOLLOWING> { offset.setType(WindowOffset.Type.FOLLOWING); } )
2582+
)
2583+
)
25812584

25822585
{
25832586
return offset;

0 commit comments

Comments
 (0)