This is an automated email from the ASF dual-hosted git repository. mboehm7 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/systemds.git
commit 98b98314e79107678cc36b5308d63beaead35d0a Author: Matthias Boehm <[email protected]> AuthorDate: Wed Feb 23 21:59:36 2022 +0100 [MINOR] Fixed outdated generated ANTLR parser (4.5.3 vs 4.8) --- .../java/org/apache/sysds/parser/dml/Dml.interp | 165 +++++++++++++++ .../apache/sysds/parser/dml/DmlBaseListener.java | 2 +- .../org/apache/sysds/parser/dml/DmlLexer.interp | 229 +++++++++++++++++++++ .../java/org/apache/sysds/parser/dml/DmlLexer.java | 110 +++++----- .../org/apache/sysds/parser/dml/DmlListener.java | 2 +- .../org/apache/sysds/parser/dml/DmlParser.java | 186 ++++++++++++----- 6 files changed, 589 insertions(+), 105 deletions(-) diff --git a/src/main/java/org/apache/sysds/parser/dml/Dml.interp b/src/main/java/org/apache/sysds/parser/dml/Dml.interp new file mode 100644 index 0000000..d106522 --- /dev/null +++ b/src/main/java/org/apache/sysds/parser/dml/Dml.interp @@ -0,0 +1,165 @@ +token literal names: +null +'source' +'(' +')' +'as' +';' +'setwd' +'=' +'<-' +',' +'[' +']' +'ifdef' +'+=' +'if' +'{' +'}' +'else' +'for' +'in' +'parfor' +'while' +':' +'function' +'return' +'externalFunction' +'implemented' +'^' +'-' +'+' +'%*%' +'%/%' +'%%' +'*' +'/' +'>' +'>=' +'<' +'<=' +'==' +'!=' +'!' +'&' +'&&' +'|' +'||' +'TRUE' +'FALSE' +'int' +'integer' +'string' +'boolean' +'double' +'unknown' +'Int' +'Integer' +'String' +'Boolean' +'Double' +'Unknown' +null +null +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +ID +INT +DOUBLE +DIGIT +ALPHABET +COMMANDLINE_NAMED_ID +COMMANDLINE_POSITION_ID +STRING +LINE_COMMENT +MULTILINE_BLOCK_COMMENT +WHITESPACE + +rule names: +programroot +statement +iterablePredicate +functionStatement +dataIdentifier +expression +typedArgNoAssign +typedArgAssign +parameterizedExpression +strictParameterizedExpression +strictParameterizedKeyValueString +ml_type +valueType +dataType + + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 72, 560, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 3, 2, 3, 2, 7, 2, 33, 10, 2, 12, 2, 14, 2, 36, 11, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 47, 10, 3, 12, 3, 14, 3, 50, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 57, 10, 3, 12, 3, 14, 3, 60, 11, 3, 3, 3, 3, 3, 3, 3, [...] \ No newline at end of file diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlBaseListener.java b/src/main/java/org/apache/sysds/parser/dml/DmlBaseListener.java index b165586..2d033c8 100644 --- a/src/main/java/org/apache/sysds/parser/dml/DmlBaseListener.java +++ b/src/main/java/org/apache/sysds/parser/dml/DmlBaseListener.java @@ -1,4 +1,4 @@ -// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.5.3 +// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.8 package org.apache.sysds.parser.dml; /* diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlLexer.interp b/src/main/java/org/apache/sysds/parser/dml/DmlLexer.interp new file mode 100644 index 0000000..e9647b3 --- /dev/null +++ b/src/main/java/org/apache/sysds/parser/dml/DmlLexer.interp @@ -0,0 +1,229 @@ +token literal names: +null +'source' +'(' +')' +'as' +';' +'setwd' +'=' +'<-' +',' +'[' +']' +'ifdef' +'+=' +'if' +'{' +'}' +'else' +'for' +'in' +'parfor' +'while' +':' +'function' +'return' +'externalFunction' +'implemented' +'^' +'-' +'+' +'%*%' +'%/%' +'%%' +'*' +'/' +'>' +'>=' +'<' +'<=' +'==' +'!=' +'!' +'&' +'&&' +'|' +'||' +'TRUE' +'FALSE' +'int' +'integer' +'string' +'boolean' +'double' +'unknown' +'Int' +'Integer' +'String' +'Boolean' +'Double' +'Unknown' +null +null +null +null +null +null +null +null +null +null +null + +token symbolic names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +ID +INT +DOUBLE +DIGIT +ALPHABET +COMMANDLINE_NAMED_ID +COMMANDLINE_POSITION_ID +STRING +LINE_COMMENT +MULTILINE_BLOCK_COMMENT +WHITESPACE + +rule names: +T__0 +T__1 +T__2 +T__3 +T__4 +T__5 +T__6 +T__7 +T__8 +T__9 +T__10 +T__11 +T__12 +T__13 +T__14 +T__15 +T__16 +T__17 +T__18 +T__19 +T__20 +T__21 +T__22 +T__23 +T__24 +T__25 +T__26 +T__27 +T__28 +T__29 +T__30 +T__31 +T__32 +T__33 +T__34 +T__35 +T__36 +T__37 +T__38 +T__39 +T__40 +T__41 +T__42 +T__43 +T__44 +T__45 +T__46 +T__47 +T__48 +T__49 +T__50 +T__51 +T__52 +T__53 +T__54 +T__55 +T__56 +T__57 +T__58 +ID +INT +DOUBLE +DIGIT +ALPHABET +EXP +COMMANDLINE_NAMED_ID +COMMANDLINE_POSITION_ID +STRING +ESC +LINE_COMMENT +MULTILINE_BLOCK_COMMENT +WHITESPACE + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 72, 701, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, [...] \ No newline at end of file diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java b/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java index 3dd23d2..719af52 100644 --- a/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java +++ b/src/main/java/org/apache/sysds/parser/dml/DmlLexer.java @@ -1,4 +1,4 @@ -// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.5.3 +// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.8 package org.apache.sysds.parser.dml; /* @@ -31,7 +31,7 @@ import org.antlr.v4.runtime.misc.*; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class DmlLexer extends Lexer { - static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + static { RuntimeMetaData.checkVersion("4.8", RuntimeMetaData.VERSION); } protected static final DFA[] _decisionToDFA; protected static final PredictionContextCache _sharedContextCache = @@ -48,42 +48,55 @@ public class DmlLexer extends Lexer { ID=60, INT=61, DOUBLE=62, DIGIT=63, ALPHABET=64, COMMANDLINE_NAMED_ID=65, COMMANDLINE_POSITION_ID=66, STRING=67, LINE_COMMENT=68, MULTILINE_BLOCK_COMMENT=69, WHITESPACE=70; + public static String[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + public static String[] modeNames = { "DEFAULT_MODE" }; - public static final String[] ruleNames = { - "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", - "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", - "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", - "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32", - "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40", - "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47", "T__48", - "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", "T__56", - "T__57", "T__58", "ID", "INT", "DOUBLE", "DIGIT", "ALPHABET", "EXP", "COMMANDLINE_NAMED_ID", - "COMMANDLINE_POSITION_ID", "STRING", "ESC", "LINE_COMMENT", "MULTILINE_BLOCK_COMMENT", - "WHITESPACE" - }; + private static String[] makeRuleNames() { + return new String[] { + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", + "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", + "T__25", "T__26", "T__27", "T__28", "T__29", "T__30", "T__31", "T__32", + "T__33", "T__34", "T__35", "T__36", "T__37", "T__38", "T__39", "T__40", + "T__41", "T__42", "T__43", "T__44", "T__45", "T__46", "T__47", "T__48", + "T__49", "T__50", "T__51", "T__52", "T__53", "T__54", "T__55", "T__56", + "T__57", "T__58", "ID", "INT", "DOUBLE", "DIGIT", "ALPHABET", "EXP", + "COMMANDLINE_NAMED_ID", "COMMANDLINE_POSITION_ID", "STRING", "ESC", "LINE_COMMENT", + "MULTILINE_BLOCK_COMMENT", "WHITESPACE" + }; + } + public static final String[] ruleNames = makeRuleNames(); - private static final String[] _LITERAL_NAMES = { - null, "'source'", "'('", "')'", "'as'", "';'", "'setwd'", "'='", "'<-'", - "','", "'['", "']'", "'ifdef'", "'+='", "'if'", "'{'", "'}'", "'else'", - "'for'", "'in'", "'parfor'", "'while'", "':'", "'function'", "'return'", - "'externalFunction'", "'implemented'", "'^'", "'-'", "'+'", "'%*%'", "'%/%'", - "'%%'", "'*'", "'/'", "'>'", "'>='", "'<'", "'<='", "'=='", "'!='", "'!'", - "'&'", "'&&'", "'|'", "'||'", "'TRUE'", "'FALSE'", "'int'", "'integer'", - "'string'", "'boolean'", "'double'", "'unknown'", "'Int'", "'Integer'", - "'String'", "'Boolean'", "'Double'", "'Unknown'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - "ID", "INT", "DOUBLE", "DIGIT", "ALPHABET", "COMMANDLINE_NAMED_ID", "COMMANDLINE_POSITION_ID", - "STRING", "LINE_COMMENT", "MULTILINE_BLOCK_COMMENT", "WHITESPACE" - }; + private static String[] makeLiteralNames() { + return new String[] { + null, "'source'", "'('", "')'", "'as'", "';'", "'setwd'", "'='", "'<-'", + "','", "'['", "']'", "'ifdef'", "'+='", "'if'", "'{'", "'}'", "'else'", + "'for'", "'in'", "'parfor'", "'while'", "':'", "'function'", "'return'", + "'externalFunction'", "'implemented'", "'^'", "'-'", "'+'", "'%*%'", + "'%/%'", "'%%'", "'*'", "'/'", "'>'", "'>='", "'<'", "'<='", "'=='", + "'!='", "'!'", "'&'", "'&&'", "'|'", "'||'", "'TRUE'", "'FALSE'", "'int'", + "'integer'", "'string'", "'boolean'", "'double'", "'unknown'", "'Int'", + "'Integer'", "'String'", "'Boolean'", "'Double'", "'Unknown'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + "ID", "INT", "DOUBLE", "DIGIT", "ALPHABET", "COMMANDLINE_NAMED_ID", "COMMANDLINE_POSITION_ID", + "STRING", "LINE_COMMENT", "MULTILINE_BLOCK_COMMENT", "WHITESPACE" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); /** @@ -133,13 +146,16 @@ public class DmlLexer extends Lexer { public String getSerializedATN() { return _serializedATN; } @Override + public String[] getChannelNames() { return channelNames; } + + @Override public String[] getModeNames() { return modeNames; } @Override public ATN getATN() { return _ATN; } public static final String _serializedATN = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2H\u02bd\b\1\4\2\t"+ + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2H\u02bd\b\1\4\2\t"+ "\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+ "\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+ "\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+ @@ -186,19 +202,19 @@ public class DmlLexer extends Lexer { "A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60_\61a\62c\63e\64g\65i\66k\67m8o9q:s"+ ";u<w=y>{?}@\177A\u0081B\u0083\2\u0085C\u0087D\u0089E\u008b\2\u008dF\u008f"+ "G\u0091H\3\2\n\4\2NNnn\4\2C\\c|\4\2GGgg\4\2--//\4\2$$^^\4\2))^^\n\2$$"+ - "))^^ddhhppttvv\5\2\13\f\17\17\"\"\u02eb\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3"+ - "\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2"+ - "\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35"+ - "\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)"+ - "\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2"+ - "\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2"+ - "A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3"+ - "\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2"+ - "\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2"+ - "g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s\3"+ - "\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177\3"+ - "\2\2\2\2\u0081\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2\2"+ - "\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\3\u0093\3\2\2\2\5\u009a"+ + "))^^ddhhppttvv\5\2\13\f\17\17\"\"\2\u02eb\2\3\3\2\2\2\2\5\3\2\2\2\2\7"+ + "\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2"+ + "\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2"+ + "\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2"+ + "\2)\3\2\2\2\2+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2"+ + "\2\65\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2"+ + "\2A\3\2\2\2\2C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M"+ + "\3\2\2\2\2O\3\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2"+ + "\2\2\2[\3\2\2\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2"+ + "\2g\3\2\2\2\2i\3\2\2\2\2k\3\2\2\2\2m\3\2\2\2\2o\3\2\2\2\2q\3\2\2\2\2s"+ + "\3\2\2\2\2u\3\2\2\2\2w\3\2\2\2\2y\3\2\2\2\2{\3\2\2\2\2}\3\2\2\2\2\177"+ + "\3\2\2\2\2\u0081\3\2\2\2\2\u0085\3\2\2\2\2\u0087\3\2\2\2\2\u0089\3\2\2"+ + "\2\2\u008d\3\2\2\2\2\u008f\3\2\2\2\2\u0091\3\2\2\2\3\u0093\3\2\2\2\5\u009a"+ "\3\2\2\2\7\u009c\3\2\2\2\t\u009e\3\2\2\2\13\u00a1\3\2\2\2\r\u00a3\3\2"+ "\2\2\17\u00a9\3\2\2\2\21\u00ab\3\2\2\2\23\u00ae\3\2\2\2\25\u00b0\3\2\2"+ "\2\27\u00b2\3\2\2\2\31\u00b4\3\2\2\2\33\u00ba\3\2\2\2\35\u00bd\3\2\2\2"+ diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlListener.java b/src/main/java/org/apache/sysds/parser/dml/DmlListener.java index 36904af..470d22f 100644 --- a/src/main/java/org/apache/sysds/parser/dml/DmlListener.java +++ b/src/main/java/org/apache/sysds/parser/dml/DmlListener.java @@ -1,4 +1,4 @@ -// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.5.3 +// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.8 package org.apache.sysds.parser.dml; /* diff --git a/src/main/java/org/apache/sysds/parser/dml/DmlParser.java b/src/main/java/org/apache/sysds/parser/dml/DmlParser.java index c751526..531b93c 100644 --- a/src/main/java/org/apache/sysds/parser/dml/DmlParser.java +++ b/src/main/java/org/apache/sysds/parser/dml/DmlParser.java @@ -1,4 +1,4 @@ -// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.5.3 +// Generated from org\apache\sysds\parser\dml\Dml.g4 by ANTLR 4.8 package org.apache.sysds.parser.dml; /* @@ -31,7 +31,7 @@ import java.util.ArrayList; @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"}) public class DmlParser extends Parser { - static { RuntimeMetaData.checkVersion("4.5.3", RuntimeMetaData.VERSION); } + static { RuntimeMetaData.checkVersion("4.8", RuntimeMetaData.VERSION); } protected static final DFA[] _decisionToDFA; protected static final PredictionContextCache _sharedContextCache = @@ -54,32 +54,41 @@ public class DmlParser extends Parser { RULE_typedArgNoAssign = 6, RULE_typedArgAssign = 7, RULE_parameterizedExpression = 8, RULE_strictParameterizedExpression = 9, RULE_strictParameterizedKeyValueString = 10, RULE_ml_type = 11, RULE_valueType = 12, RULE_dataType = 13; - public static final String[] ruleNames = { - "programroot", "statement", "iterablePredicate", "functionStatement", - "dataIdentifier", "expression", "typedArgNoAssign", "typedArgAssign", - "parameterizedExpression", "strictParameterizedExpression", "strictParameterizedKeyValueString", - "ml_type", "valueType", "dataType" - }; - - private static final String[] _LITERAL_NAMES = { - null, "'source'", "'('", "')'", "'as'", "';'", "'setwd'", "'='", "'<-'", - "','", "'['", "']'", "'ifdef'", "'+='", "'if'", "'{'", "'}'", "'else'", - "'for'", "'in'", "'parfor'", "'while'", "':'", "'function'", "'return'", - "'externalFunction'", "'implemented'", "'^'", "'-'", "'+'", "'%*%'", "'%/%'", - "'%%'", "'*'", "'/'", "'>'", "'>='", "'<'", "'<='", "'=='", "'!='", "'!'", - "'&'", "'&&'", "'|'", "'||'", "'TRUE'", "'FALSE'", "'int'", "'integer'", - "'string'", "'boolean'", "'double'", "'unknown'", "'Int'", "'Integer'", - "'String'", "'Boolean'", "'Double'", "'Unknown'" - }; - private static final String[] _SYMBOLIC_NAMES = { - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, null, null, null, null, - "ID", "INT", "DOUBLE", "DIGIT", "ALPHABET", "COMMANDLINE_NAMED_ID", "COMMANDLINE_POSITION_ID", - "STRING", "LINE_COMMENT", "MULTILINE_BLOCK_COMMENT", "WHITESPACE" - }; + private static String[] makeRuleNames() { + return new String[] { + "programroot", "statement", "iterablePredicate", "functionStatement", + "dataIdentifier", "expression", "typedArgNoAssign", "typedArgAssign", + "parameterizedExpression", "strictParameterizedExpression", "strictParameterizedKeyValueString", + "ml_type", "valueType", "dataType" + }; + } + public static final String[] ruleNames = makeRuleNames(); + + private static String[] makeLiteralNames() { + return new String[] { + null, "'source'", "'('", "')'", "'as'", "';'", "'setwd'", "'='", "'<-'", + "','", "'['", "']'", "'ifdef'", "'+='", "'if'", "'{'", "'}'", "'else'", + "'for'", "'in'", "'parfor'", "'while'", "':'", "'function'", "'return'", + "'externalFunction'", "'implemented'", "'^'", "'-'", "'+'", "'%*%'", + "'%/%'", "'%%'", "'*'", "'/'", "'>'", "'>='", "'<'", "'<='", "'=='", + "'!='", "'!'", "'&'", "'&&'", "'|'", "'||'", "'TRUE'", "'FALSE'", "'int'", + "'integer'", "'string'", "'boolean'", "'double'", "'unknown'", "'Int'", + "'Integer'", "'String'", "'Boolean'", "'Double'", "'Unknown'" + }; + } + private static final String[] _LITERAL_NAMES = makeLiteralNames(); + private static String[] makeSymbolicNames() { + return new String[] { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + "ID", "INT", "DOUBLE", "DIGIT", "ALPHABET", "COMMANDLINE_NAMED_ID", "COMMANDLINE_POSITION_ID", + "STRING", "LINE_COMMENT", "MULTILINE_BLOCK_COMMENT", "WHITESPACE" + }; + } + private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames(); public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES); /** @@ -129,6 +138,7 @@ public class DmlParser extends Parser { super(input); _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache); } + public static class ProgramrootContext extends ParserRuleContext { public StatementContext statement; public List<StatementContext> blocks = new ArrayList<StatementContext>(); @@ -576,7 +586,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { _errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } } @@ -587,6 +600,7 @@ public class DmlParser extends Parser { setState(65); match(T__1); setState(74); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__9) | (1L << T__27) | (1L << T__28) | (1L << T__40) | (1L << T__45) | (1L << T__46) | (1L << ID) | (1L << INT) | (1L << DOUBLE))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (COMMANDLINE_NAMED_ID - 65)) | (1L << (COMMANDLINE_POSITION_ID - 65)) | (1L << (STRING - 65)))) != 0)) { { @@ -665,7 +679,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { _errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(94); @@ -673,6 +690,7 @@ public class DmlParser extends Parser { setState(95); match(T__1); setState(104); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__9) | (1L << T__27) | (1L << T__28) | (1L << T__40) | (1L << T__45) | (1L << T__46) | (1L << ID) | (1L << INT) | (1L << DOUBLE))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (COMMANDLINE_NAMED_ID - 65)) | (1L << (COMMANDLINE_POSITION_ID - 65)) | (1L << (STRING - 65)))) != 0)) { { @@ -730,7 +748,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { ((IfdefAssignmentStatementContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(115); @@ -774,7 +795,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { ((AssignmentStatementContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(129); @@ -838,6 +862,7 @@ public class DmlParser extends Parser { setState(148); match(T__2); setState(170); + _errHandler.sync(this); switch (_input.LA(1)) { case T__0: case T__5: @@ -919,6 +944,7 @@ public class DmlParser extends Parser { setState(172); match(T__16); setState(194); + _errHandler.sync(this); switch (_input.LA(1)) { case T__0: case T__5: @@ -1031,6 +1057,7 @@ public class DmlParser extends Parser { setState(210); match(T__2); setState(232); + _errHandler.sync(this); switch (_input.LA(1)) { case T__0: case T__5: @@ -1140,6 +1167,7 @@ public class DmlParser extends Parser { setState(246); match(T__2); setState(268); + _errHandler.sync(this); switch (_input.LA(1)) { case T__0: case T__5: @@ -1228,6 +1256,7 @@ public class DmlParser extends Parser { setState(273); match(T__2); setState(295); + _errHandler.sync(this); switch (_input.LA(1)) { case T__0: case T__5: @@ -1409,6 +1438,7 @@ public class DmlParser extends Parser { setState(307); ((IterablePredicateSeqExpressionContext)_localctx).to = expression(0); setState(310); + _errHandler.sync(this); _la = _input.LA(1); if (_la==T__8) { { @@ -1539,7 +1569,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { _errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(318); @@ -1547,6 +1580,7 @@ public class DmlParser extends Parser { setState(319); match(T__1); setState(328); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56) | (1L << T__57) | (1L << T__58) | (1L << ID))) != 0)) { { @@ -1576,6 +1610,7 @@ public class DmlParser extends Parser { setState(330); match(T__2); setState(344); + _errHandler.sync(this); _la = _input.LA(1); if (_la==T__23) { { @@ -1584,6 +1619,7 @@ public class DmlParser extends Parser { setState(332); match(T__1); setState(341); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56) | (1L << T__57) | (1L << T__58) | (1L << ID))) != 0)) { { @@ -1674,7 +1710,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__6 || _la==T__7) ) { _errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(368); @@ -1682,6 +1721,7 @@ public class DmlParser extends Parser { setState(369); match(T__1); setState(378); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56) | (1L << T__57) | (1L << T__58) | (1L << ID))) != 0)) { { @@ -1711,6 +1751,7 @@ public class DmlParser extends Parser { setState(380); match(T__2); setState(394); + _errHandler.sync(this); _la = _input.LA(1); if (_la==T__23) { { @@ -1719,6 +1760,7 @@ public class DmlParser extends Parser { setState(382); match(T__1); setState(391); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56) | (1L << T__57) | (1L << T__58) | (1L << ID))) != 0)) { { @@ -1757,6 +1799,7 @@ public class DmlParser extends Parser { setState(398); match(T__1); setState(407); + _errHandler.sync(this); _la = _input.LA(1); if (_la==ID) { { @@ -1909,12 +1952,14 @@ public class DmlParser extends Parser { setState(419); match(T__9); setState(425); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__9) | (1L << T__27) | (1L << T__28) | (1L << T__40) | (1L << T__45) | (1L << T__46) | (1L << ID) | (1L << INT) | (1L << DOUBLE))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (COMMANDLINE_NAMED_ID - 65)) | (1L << (COMMANDLINE_POSITION_ID - 65)) | (1L << (STRING - 65)))) != 0)) { { setState(420); ((IndexedExpressionContext)_localctx).rowLower = expression(0); setState(423); + _errHandler.sync(this); _la = _input.LA(1); if (_la==T__21) { { @@ -1929,18 +1974,21 @@ public class DmlParser extends Parser { } setState(435); + _errHandler.sync(this); _la = _input.LA(1); if (_la==T__8) { { setState(427); match(T__8); setState(433); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__9) | (1L << T__27) | (1L << T__28) | (1L << T__40) | (1L << T__45) | (1L << T__46) | (1L << ID) | (1L << INT) | (1L << DOUBLE))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (COMMANDLINE_NAMED_ID - 65)) | (1L << (COMMANDLINE_POSITION_ID - 65)) | (1L << (STRING - 65)))) != 0)) { { setState(428); ((IndexedExpressionContext)_localctx).colLower = expression(0); setState(431); + _errHandler.sync(this); _la = _input.LA(1); if (_la==T__21) { { @@ -2366,7 +2414,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__27 || _la==T__28) ) { ((UnaryExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(445); @@ -2394,6 +2445,7 @@ public class DmlParser extends Parser { setState(449); match(T__1); setState(458); + _errHandler.sync(this); _la = _input.LA(1); if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__1) | (1L << T__9) | (1L << T__27) | (1L << T__28) | (1L << T__40) | (1L << T__45) | (1L << T__46) | (1L << ID) | (1L << INT) | (1L << DOUBLE))) != 0) || ((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (COMMANDLINE_NAMED_ID - 65)) | (1L << (COMMANDLINE_POSITION_ID - 65)) | (1L << (STRING - 65)))) != 0)) { { @@ -2589,7 +2641,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__30 || _la==T__31) ) { ((ModIntDivExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(498); @@ -2608,7 +2663,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__32 || _la==T__33) ) { ((MultDivExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(501); @@ -2627,7 +2685,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__27 || _la==T__28) ) { ((AddSubExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(504); @@ -2646,7 +2707,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__34) | (1L << T__35) | (1L << T__36) | (1L << T__37) | (1L << T__38) | (1L << T__39))) != 0)) ) { ((RelationalExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(507); @@ -2665,7 +2729,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__41 || _la==T__42) ) { ((BooleanAndExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(510); @@ -2684,7 +2751,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !(_la==T__43 || _la==T__44) ) { ((BooleanOrExpressionContext)_localctx).op = (Token)_errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } setState(513); @@ -2999,6 +3069,7 @@ public class DmlParser extends Parser { enterRule(_localctx, 22, RULE_ml_type); try { setState(551); + _errHandler.sync(this); switch (_input.LA(1)) { case T__47: case T__48: @@ -3072,7 +3143,10 @@ public class DmlParser extends Parser { _la = _input.LA(1); if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__47) | (1L << T__48) | (1L << T__49) | (1L << T__50) | (1L << T__51) | (1L << T__52) | (1L << T__53) | (1L << T__54) | (1L << T__55) | (1L << T__56) | (1L << T__57) | (1L << T__58))) != 0)) ) { _errHandler.recoverInline(this); - } else { + } + else { + if ( _input.LA(1)==Token.EOF ) matchedEOF = true; + _errHandler.reportMatch(this); consume(); } } @@ -3164,7 +3238,7 @@ public class DmlParser extends Parser { } public static final String _serializedATN = - "\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3H\u0230\4\2\t\2\4"+ + "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3H\u0230\4\2\t\2\4"+ "\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+ "\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\3\2\3\2\7\2!\n\2\f\2\16\2$\13"+ "\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\7\3/\n\3\f\3\16\3\62\13\3\3\3\3"+ @@ -3208,19 +3282,19 @@ public class DmlParser extends Parser { "\n\3\n\3\13\3\13\3\13\3\13\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r\5\r"+ "\u022a\n\r\3\16\3\16\3\17\3\17\3\17\2\3\f\20\2\4\6\b\n\f\16\20\22\24\26"+ "\30\32\34\2\n\3\2\t\n\3\2\36\37\3\2!\"\3\2#$\3\2%*\3\2,-\3\2./\3\2\62"+ - "=\u0286\2\"\3\2\2\2\4\u012b\3\2\2\2\6\u013c\3\2\2\2\b\u01a2\3\2\2\2\n"+ - "\u01bb\3\2\2\2\f\u01ea\3\2\2\2\16\u0209\3\2\2\2\20\u020c\3\2\2\2\22\u0217"+ - "\3\2\2\2\24\u021b\3\2\2\2\26\u021f\3\2\2\2\30\u0229\3\2\2\2\32\u022b\3"+ - "\2\2\2\34\u022d\3\2\2\2\36!\5\4\3\2\37!\5\b\5\2 \36\3\2\2\2 \37\3\2\2"+ - "\2!$\3\2\2\2\" \3\2\2\2\"#\3\2\2\2#%\3\2\2\2$\"\3\2\2\2%&\7\2\2\3&\3\3"+ - "\2\2\2\'(\7\3\2\2()\7\4\2\2)*\7E\2\2*+\7\5\2\2+,\7\6\2\2,\60\7>\2\2-/"+ - "\7\7\2\2.-\3\2\2\2/\62\3\2\2\2\60.\3\2\2\2\60\61\3\2\2\2\61\u012c\3\2"+ - "\2\2\62\60\3\2\2\2\63\64\7\b\2\2\64\65\7\4\2\2\65\66\7E\2\2\66:\7\5\2"+ - "\2\679\7\7\2\28\67\3\2\2\29<\3\2\2\2:8\3\2\2\2:;\3\2\2\2;\u012c\3\2\2"+ - "\2<:\3\2\2\2=>\5\n\6\2>?\t\2\2\2?A\3\2\2\2@=\3\2\2\2@A\3\2\2\2AB\3\2\2"+ - "\2BC\7>\2\2CL\7\4\2\2DI\5\22\n\2EF\7\13\2\2FH\5\22\n\2GE\3\2\2\2HK\3\2"+ - "\2\2IG\3\2\2\2IJ\3\2\2\2JM\3\2\2\2KI\3\2\2\2LD\3\2\2\2LM\3\2\2\2MN\3\2"+ - "\2\2NR\7\5\2\2OQ\7\7\2\2PO\3\2\2\2QT\3\2\2\2RP\3\2\2\2RS\3\2\2\2S\u012c"+ + "=\2\u0286\2\"\3\2\2\2\4\u012b\3\2\2\2\6\u013c\3\2\2\2\b\u01a2\3\2\2\2"+ + "\n\u01bb\3\2\2\2\f\u01ea\3\2\2\2\16\u0209\3\2\2\2\20\u020c\3\2\2\2\22"+ + "\u0217\3\2\2\2\24\u021b\3\2\2\2\26\u021f\3\2\2\2\30\u0229\3\2\2\2\32\u022b"+ + "\3\2\2\2\34\u022d\3\2\2\2\36!\5\4\3\2\37!\5\b\5\2 \36\3\2\2\2 \37\3\2"+ + "\2\2!$\3\2\2\2\" \3\2\2\2\"#\3\2\2\2#%\3\2\2\2$\"\3\2\2\2%&\7\2\2\3&\3"+ + "\3\2\2\2\'(\7\3\2\2()\7\4\2\2)*\7E\2\2*+\7\5\2\2+,\7\6\2\2,\60\7>\2\2"+ + "-/\7\7\2\2.-\3\2\2\2/\62\3\2\2\2\60.\3\2\2\2\60\61\3\2\2\2\61\u012c\3"+ + "\2\2\2\62\60\3\2\2\2\63\64\7\b\2\2\64\65\7\4\2\2\65\66\7E\2\2\66:\7\5"+ + "\2\2\679\7\7\2\28\67\3\2\2\29<\3\2\2\2:8\3\2\2\2:;\3\2\2\2;\u012c\3\2"+ + "\2\2<:\3\2\2\2=>\5\n\6\2>?\t\2\2\2?A\3\2\2\2@=\3\2\2\2@A\3\2\2\2AB\3\2"+ + "\2\2BC\7>\2\2CL\7\4\2\2DI\5\22\n\2EF\7\13\2\2FH\5\22\n\2GE\3\2\2\2HK\3"+ + "\2\2\2IG\3\2\2\2IJ\3\2\2\2JM\3\2\2\2KI\3\2\2\2LD\3\2\2\2LM\3\2\2\2MN\3"+ + "\2\2\2NR\7\5\2\2OQ\7\7\2\2PO\3\2\2\2QT\3\2\2\2RP\3\2\2\2RS\3\2\2\2S\u012c"+ "\3\2\2\2TR\3\2\2\2UV\7\f\2\2V[\5\n\6\2WX\7\13\2\2XZ\5\n\6\2YW\3\2\2\2"+ "Z]\3\2\2\2[Y\3\2\2\2[\\\3\2\2\2\\^\3\2\2\2][\3\2\2\2^_\7\r\2\2_`\t\2\2"+ "\2`a\7>\2\2aj\7\4\2\2bg\5\22\n\2cd\7\13\2\2df\5\22\n\2ec\3\2\2\2fi\3\2"+
