diff options
author | Juergen Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2016-12-06 17:04:15 +0100 |
---|---|---|
committer | Juergen Ryannel <juergen.bocklage-ryannel@pelagicore.com> | 2016-12-06 17:04:15 +0100 |
commit | 8931360982145a18225e5815d7d543ab1406eeba (patch) | |
tree | 775ed9cf0ba409b29842a31b81c9fc13c9839e96 /qface | |
parent | 1b68138a7f67101998f5cc6016c218e7a631a37d (diff) | |
download | qtivi-qface-8931360982145a18225e5815d7d543ab1406eeba.tar.gz |
Allowd semicolons after symbol blocks using interface, enum, struct
Diffstat (limited to 'qface')
-rw-r--r-- | qface/idl/parser/T.g4 | 6 | ||||
-rw-r--r-- | qface/idl/parser/TParser.py | 368 |
2 files changed, 199 insertions, 175 deletions
diff --git a/qface/idl/parser/T.g4 b/qface/idl/parser/T.g4 index 292dd59..b0fdcd0 100644 --- a/qface/idl/parser/T.g4 +++ b/qface/idl/parser/T.g4 @@ -29,7 +29,7 @@ definitionSymbol ; interfaceSymbol - : comment=DOCCOMMENT? 'interface' name=IDENTIFIER '{' interfaceMemberSymbol* '}' + : comment=DOCCOMMENT? 'interface' name=IDENTIFIER '{' interfaceMemberSymbol* '}' ';'? ; interfaceMemberSymbol @@ -77,7 +77,7 @@ modelTypeSymbol ; structSymbol - : comment=DOCCOMMENT? 'struct' name=IDENTIFIER '{' structFieldSymbol* '}' + : comment=DOCCOMMENT? 'struct' name=IDENTIFIER '{' structFieldSymbol* '}' ';'? ; structFieldSymbol @@ -85,7 +85,7 @@ structFieldSymbol ; enumSymbol - : comment=DOCCOMMENT? enumTypeSymbol name=IDENTIFIER '{' enumMemberSymbol* '}' + : comment=DOCCOMMENT? enumTypeSymbol name=IDENTIFIER '{' enumMemberSymbol* '}' ';'? ; enumTypeSymbol diff --git a/qface/idl/parser/TParser.py b/qface/idl/parser/TParser.py index a1b0c4e..228d366 100644 --- a/qface/idl/parser/TParser.py +++ b/qface/idl/parser/TParser.py @@ -6,95 +6,98 @@ from io import StringIO def serializedATN(): with StringIO() as buf: buf.write("\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\3#") - buf.write("\u00d7\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") + buf.write("\u00dd\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") buf.write("\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") buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\3\2\3\2\7\2/\n\2\f\2\16") buf.write("\2\62\13\2\3\3\3\3\7\3\66\n\3\f\3\16\39\13\3\3\4\3\4\3") buf.write("\4\3\4\5\4?\n\4\3\5\5\5B\n\5\3\5\3\5\3\5\3\5\5\5H\n\5") buf.write("\3\6\3\6\3\6\5\6M\n\6\3\7\5\7P\n\7\3\7\3\7\3\7\3\7\7\7") - buf.write("V\n\7\f\7\16\7Y\13\7\3\7\3\7\3\b\3\b\5\b_\n\b\3\t\5\t") - buf.write("b\n\t\3\t\5\te\n\t\3\t\3\t\5\ti\n\t\3\t\3\t\3\t\7\tn\n") - buf.write("\t\f\t\16\tq\13\t\3\t\3\t\5\tu\n\t\3\n\5\nx\n\n\3\n\5") - buf.write("\n{\n\n\3\n\3\n\3\n\5\n\u0080\n\n\3\13\3\13\3\13\5\13") - buf.write("\u0085\n\13\3\f\3\f\3\f\3\f\5\f\u008b\n\f\3\r\3\r\3\16") - buf.write("\3\16\3\16\3\16\3\16\5\16\u0094\n\16\3\17\3\17\3\17\3") - buf.write("\17\3\17\3\20\3\20\3\20\3\20\3\20\3\21\5\21\u00a1\n\21") - buf.write("\3\21\3\21\3\21\3\21\7\21\u00a7\n\21\f\21\16\21\u00aa") - buf.write("\13\21\3\21\3\21\3\22\5\22\u00af\n\22\3\22\3\22\3\22\5") - buf.write("\22\u00b4\n\22\3\23\5\23\u00b7\n\23\3\23\3\23\3\23\3\23") - buf.write("\7\23\u00bd\n\23\f\23\16\23\u00c0\13\23\3\23\3\23\3\24") - buf.write("\3\24\5\24\u00c6\n\24\3\25\5\25\u00c9\n\25\3\25\3\25\3") - buf.write("\25\5\25\u00ce\n\25\3\25\5\25\u00d1\n\25\3\26\3\26\5\26") - buf.write("\u00d5\n\26\3\26\2\2\27\2\4\6\b\n\f\16\20\22\24\26\30") - buf.write("\32\34\36 \"$&(*\2\2\u00e6\2,\3\2\2\2\4\63\3\2\2\2\6:") - buf.write("\3\2\2\2\bA\3\2\2\2\nL\3\2\2\2\fO\3\2\2\2\16^\3\2\2\2") - buf.write("\20a\3\2\2\2\22w\3\2\2\2\24\u0081\3\2\2\2\26\u008a\3\2") - buf.write("\2\2\30\u008c\3\2\2\2\32\u0093\3\2\2\2\34\u0095\3\2\2") - buf.write("\2\36\u009a\3\2\2\2 \u00a0\3\2\2\2\"\u00ae\3\2\2\2$\u00b6") - buf.write("\3\2\2\2&\u00c5\3\2\2\2(\u00c8\3\2\2\2*\u00d4\3\2\2\2") - buf.write(",\60\5\4\3\2-/\5\n\6\2.-\3\2\2\2/\62\3\2\2\2\60.\3\2\2") - buf.write("\2\60\61\3\2\2\2\61\3\3\2\2\2\62\60\3\2\2\2\63\67\5\b") - buf.write("\5\2\64\66\5\6\4\2\65\64\3\2\2\2\669\3\2\2\2\67\65\3\2") - buf.write("\2\2\678\3\2\2\28\5\3\2\2\29\67\3\2\2\2:;\7\3\2\2;<\7") - buf.write("\36\2\2<>\7\37\2\2=?\7\4\2\2>=\3\2\2\2>?\3\2\2\2?\7\3") - buf.write("\2\2\2@B\7 \2\2A@\3\2\2\2AB\3\2\2\2BC\3\2\2\2CD\7\5\2") - buf.write("\2DE\7\36\2\2EG\7\37\2\2FH\7\4\2\2GF\3\2\2\2GH\3\2\2\2") - buf.write("H\t\3\2\2\2IM\5\f\7\2JM\5 \21\2KM\5$\23\2LI\3\2\2\2LJ") - buf.write("\3\2\2\2LK\3\2\2\2M\13\3\2\2\2NP\7 \2\2ON\3\2\2\2OP\3") - buf.write("\2\2\2PQ\3\2\2\2QR\7\6\2\2RS\7\36\2\2SW\7\7\2\2TV\5\16") - buf.write("\b\2UT\3\2\2\2VY\3\2\2\2WU\3\2\2\2WX\3\2\2\2XZ\3\2\2\2") - buf.write("YW\3\2\2\2Z[\7\b\2\2[\r\3\2\2\2\\_\5\20\t\2]_\5\22\n\2") - buf.write("^\\\3\2\2\2^]\3\2\2\2_\17\3\2\2\2`b\7 \2\2a`\3\2\2\2a") - buf.write("b\3\2\2\2bd\3\2\2\2ce\7\t\2\2dc\3\2\2\2de\3\2\2\2eh\3") - buf.write("\2\2\2fi\5\26\f\2gi\7\n\2\2hf\3\2\2\2hg\3\2\2\2ij\3\2") - buf.write("\2\2jk\7\36\2\2ko\7\13\2\2ln\5\24\13\2ml\3\2\2\2nq\3\2") - buf.write("\2\2om\3\2\2\2op\3\2\2\2pr\3\2\2\2qo\3\2\2\2rt\7\f\2\2") - buf.write("su\7\4\2\2ts\3\2\2\2tu\3\2\2\2u\21\3\2\2\2vx\7 \2\2wv") - buf.write("\3\2\2\2wx\3\2\2\2xz\3\2\2\2y{\7\r\2\2zy\3\2\2\2z{\3\2") - buf.write("\2\2{|\3\2\2\2|}\5\26\f\2}\177\7\36\2\2~\u0080\7\4\2\2") - buf.write("\177~\3\2\2\2\177\u0080\3\2\2\2\u0080\23\3\2\2\2\u0081") - buf.write("\u0082\5\26\f\2\u0082\u0084\7\36\2\2\u0083\u0085\7\16") - buf.write("\2\2\u0084\u0083\3\2\2\2\u0084\u0085\3\2\2\2\u0085\25") - buf.write("\3\2\2\2\u0086\u008b\5\32\16\2\u0087\u008b\5\30\r\2\u0088") - buf.write("\u008b\5\34\17\2\u0089\u008b\5\36\20\2\u008a\u0086\3\2") - buf.write("\2\2\u008a\u0087\3\2\2\2\u008a\u0088\3\2\2\2\u008a\u0089") - buf.write("\3\2\2\2\u008b\27\3\2\2\2\u008c\u008d\7\36\2\2\u008d\31") - buf.write("\3\2\2\2\u008e\u0094\7\17\2\2\u008f\u0094\7\20\2\2\u0090") - buf.write("\u0094\7\21\2\2\u0091\u0094\7\22\2\2\u0092\u0094\7\23") - buf.write("\2\2\u0093\u008e\3\2\2\2\u0093\u008f\3\2\2\2\u0093\u0090") - buf.write("\3\2\2\2\u0093\u0091\3\2\2\2\u0093\u0092\3\2\2\2\u0094") - buf.write("\33\3\2\2\2\u0095\u0096\7\24\2\2\u0096\u0097\7\25\2\2") - buf.write("\u0097\u0098\5\26\f\2\u0098\u0099\7\26\2\2\u0099\35\3") - buf.write("\2\2\2\u009a\u009b\7\27\2\2\u009b\u009c\7\25\2\2\u009c") - buf.write("\u009d\5\26\f\2\u009d\u009e\7\26\2\2\u009e\37\3\2\2\2") - buf.write("\u009f\u00a1\7 \2\2\u00a0\u009f\3\2\2\2\u00a0\u00a1\3") - buf.write("\2\2\2\u00a1\u00a2\3\2\2\2\u00a2\u00a3\7\30\2\2\u00a3") - buf.write("\u00a4\7\36\2\2\u00a4\u00a8\7\7\2\2\u00a5\u00a7\5\"\22") - buf.write("\2\u00a6\u00a5\3\2\2\2\u00a7\u00aa\3\2\2\2\u00a8\u00a6") - buf.write("\3\2\2\2\u00a8\u00a9\3\2\2\2\u00a9\u00ab\3\2\2\2\u00aa") - buf.write("\u00a8\3\2\2\2\u00ab\u00ac\7\b\2\2\u00ac!\3\2\2\2\u00ad") - buf.write("\u00af\7 \2\2\u00ae\u00ad\3\2\2\2\u00ae\u00af\3\2\2\2") - buf.write("\u00af\u00b0\3\2\2\2\u00b0\u00b1\5\26\f\2\u00b1\u00b3") - buf.write("\7\36\2\2\u00b2\u00b4\7\4\2\2\u00b3\u00b2\3\2\2\2\u00b3") - buf.write("\u00b4\3\2\2\2\u00b4#\3\2\2\2\u00b5\u00b7\7 \2\2\u00b6") - buf.write("\u00b5\3\2\2\2\u00b6\u00b7\3\2\2\2\u00b7\u00b8\3\2\2\2") - buf.write("\u00b8\u00b9\5&\24\2\u00b9\u00ba\7\36\2\2\u00ba\u00be") - buf.write("\7\7\2\2\u00bb\u00bd\5(\25\2\u00bc\u00bb\3\2\2\2\u00bd") - buf.write("\u00c0\3\2\2\2\u00be\u00bc\3\2\2\2\u00be\u00bf\3\2\2\2") - buf.write("\u00bf\u00c1\3\2\2\2\u00c0\u00be\3\2\2\2\u00c1\u00c2\7") - buf.write("\b\2\2\u00c2%\3\2\2\2\u00c3\u00c6\7\31\2\2\u00c4\u00c6") - buf.write("\7\32\2\2\u00c5\u00c3\3\2\2\2\u00c5\u00c4\3\2\2\2\u00c6") - buf.write("\'\3\2\2\2\u00c7\u00c9\7 \2\2\u00c8\u00c7\3\2\2\2\u00c8") - buf.write("\u00c9\3\2\2\2\u00c9\u00ca\3\2\2\2\u00ca\u00cd\7\36\2") - buf.write("\2\u00cb\u00cc\7\33\2\2\u00cc\u00ce\5*\26\2\u00cd\u00cb") - buf.write("\3\2\2\2\u00cd\u00ce\3\2\2\2\u00ce\u00d0\3\2\2\2\u00cf") - buf.write("\u00d1\7\16\2\2\u00d0\u00cf\3\2\2\2\u00d0\u00d1\3\2\2") - buf.write("\2\u00d1)\3\2\2\2\u00d2\u00d5\7\34\2\2\u00d3\u00d5\7\35") - buf.write("\2\2\u00d4\u00d2\3\2\2\2\u00d4\u00d3\3\2\2\2\u00d5+\3") - buf.write("\2\2\2!\60\67>AGLOW^adhotwz\177\u0084\u008a\u0093\u00a0") - buf.write("\u00a8\u00ae\u00b3\u00b6\u00be\u00c5\u00c8\u00cd\u00d0") - buf.write("\u00d4") + buf.write("V\n\7\f\7\16\7Y\13\7\3\7\3\7\5\7]\n\7\3\b\3\b\5\ba\n\b") + buf.write("\3\t\5\td\n\t\3\t\5\tg\n\t\3\t\3\t\5\tk\n\t\3\t\3\t\3") + buf.write("\t\7\tp\n\t\f\t\16\ts\13\t\3\t\3\t\5\tw\n\t\3\n\5\nz\n") + buf.write("\n\3\n\5\n}\n\n\3\n\3\n\3\n\5\n\u0082\n\n\3\13\3\13\3") + buf.write("\13\5\13\u0087\n\13\3\f\3\f\3\f\3\f\5\f\u008d\n\f\3\r") + buf.write("\3\r\3\16\3\16\3\16\3\16\3\16\5\16\u0096\n\16\3\17\3\17") + buf.write("\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\21\5\21\u00a3") + buf.write("\n\21\3\21\3\21\3\21\3\21\7\21\u00a9\n\21\f\21\16\21\u00ac") + buf.write("\13\21\3\21\3\21\5\21\u00b0\n\21\3\22\5\22\u00b3\n\22") + buf.write("\3\22\3\22\3\22\5\22\u00b8\n\22\3\23\5\23\u00bb\n\23\3") + buf.write("\23\3\23\3\23\3\23\7\23\u00c1\n\23\f\23\16\23\u00c4\13") + buf.write("\23\3\23\3\23\5\23\u00c8\n\23\3\24\3\24\5\24\u00cc\n\24") + buf.write("\3\25\5\25\u00cf\n\25\3\25\3\25\3\25\5\25\u00d4\n\25\3") + buf.write("\25\5\25\u00d7\n\25\3\26\3\26\5\26\u00db\n\26\3\26\2\2") + buf.write("\27\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*\2\2") + buf.write("\u00ef\2,\3\2\2\2\4\63\3\2\2\2\6:\3\2\2\2\bA\3\2\2\2\n") + buf.write("L\3\2\2\2\fO\3\2\2\2\16`\3\2\2\2\20c\3\2\2\2\22y\3\2\2") + buf.write("\2\24\u0083\3\2\2\2\26\u008c\3\2\2\2\30\u008e\3\2\2\2") + buf.write("\32\u0095\3\2\2\2\34\u0097\3\2\2\2\36\u009c\3\2\2\2 \u00a2") + buf.write("\3\2\2\2\"\u00b2\3\2\2\2$\u00ba\3\2\2\2&\u00cb\3\2\2\2") + buf.write("(\u00ce\3\2\2\2*\u00da\3\2\2\2,\60\5\4\3\2-/\5\n\6\2.") + buf.write("-\3\2\2\2/\62\3\2\2\2\60.\3\2\2\2\60\61\3\2\2\2\61\3\3") + buf.write("\2\2\2\62\60\3\2\2\2\63\67\5\b\5\2\64\66\5\6\4\2\65\64") + buf.write("\3\2\2\2\669\3\2\2\2\67\65\3\2\2\2\678\3\2\2\28\5\3\2") + buf.write("\2\29\67\3\2\2\2:;\7\3\2\2;<\7\36\2\2<>\7\37\2\2=?\7\4") + buf.write("\2\2>=\3\2\2\2>?\3\2\2\2?\7\3\2\2\2@B\7 \2\2A@\3\2\2\2") + buf.write("AB\3\2\2\2BC\3\2\2\2CD\7\5\2\2DE\7\36\2\2EG\7\37\2\2F") + buf.write("H\7\4\2\2GF\3\2\2\2GH\3\2\2\2H\t\3\2\2\2IM\5\f\7\2JM\5") + buf.write(" \21\2KM\5$\23\2LI\3\2\2\2LJ\3\2\2\2LK\3\2\2\2M\13\3\2") + buf.write("\2\2NP\7 \2\2ON\3\2\2\2OP\3\2\2\2PQ\3\2\2\2QR\7\6\2\2") + buf.write("RS\7\36\2\2SW\7\7\2\2TV\5\16\b\2UT\3\2\2\2VY\3\2\2\2W") + buf.write("U\3\2\2\2WX\3\2\2\2XZ\3\2\2\2YW\3\2\2\2Z\\\7\b\2\2[]\7") + buf.write("\4\2\2\\[\3\2\2\2\\]\3\2\2\2]\r\3\2\2\2^a\5\20\t\2_a\5") + buf.write("\22\n\2`^\3\2\2\2`_\3\2\2\2a\17\3\2\2\2bd\7 \2\2cb\3\2") + buf.write("\2\2cd\3\2\2\2df\3\2\2\2eg\7\t\2\2fe\3\2\2\2fg\3\2\2\2") + buf.write("gj\3\2\2\2hk\5\26\f\2ik\7\n\2\2jh\3\2\2\2ji\3\2\2\2kl") + buf.write("\3\2\2\2lm\7\36\2\2mq\7\13\2\2np\5\24\13\2on\3\2\2\2p") + buf.write("s\3\2\2\2qo\3\2\2\2qr\3\2\2\2rt\3\2\2\2sq\3\2\2\2tv\7") + buf.write("\f\2\2uw\7\4\2\2vu\3\2\2\2vw\3\2\2\2w\21\3\2\2\2xz\7 ") + buf.write("\2\2yx\3\2\2\2yz\3\2\2\2z|\3\2\2\2{}\7\r\2\2|{\3\2\2\2") + buf.write("|}\3\2\2\2}~\3\2\2\2~\177\5\26\f\2\177\u0081\7\36\2\2") + buf.write("\u0080\u0082\7\4\2\2\u0081\u0080\3\2\2\2\u0081\u0082\3") + buf.write("\2\2\2\u0082\23\3\2\2\2\u0083\u0084\5\26\f\2\u0084\u0086") + buf.write("\7\36\2\2\u0085\u0087\7\16\2\2\u0086\u0085\3\2\2\2\u0086") + buf.write("\u0087\3\2\2\2\u0087\25\3\2\2\2\u0088\u008d\5\32\16\2") + buf.write("\u0089\u008d\5\30\r\2\u008a\u008d\5\34\17\2\u008b\u008d") + buf.write("\5\36\20\2\u008c\u0088\3\2\2\2\u008c\u0089\3\2\2\2\u008c") + buf.write("\u008a\3\2\2\2\u008c\u008b\3\2\2\2\u008d\27\3\2\2\2\u008e") + buf.write("\u008f\7\36\2\2\u008f\31\3\2\2\2\u0090\u0096\7\17\2\2") + buf.write("\u0091\u0096\7\20\2\2\u0092\u0096\7\21\2\2\u0093\u0096") + buf.write("\7\22\2\2\u0094\u0096\7\23\2\2\u0095\u0090\3\2\2\2\u0095") + buf.write("\u0091\3\2\2\2\u0095\u0092\3\2\2\2\u0095\u0093\3\2\2\2") + buf.write("\u0095\u0094\3\2\2\2\u0096\33\3\2\2\2\u0097\u0098\7\24") + buf.write("\2\2\u0098\u0099\7\25\2\2\u0099\u009a\5\26\f\2\u009a\u009b") + buf.write("\7\26\2\2\u009b\35\3\2\2\2\u009c\u009d\7\27\2\2\u009d") + buf.write("\u009e\7\25\2\2\u009e\u009f\5\26\f\2\u009f\u00a0\7\26") + buf.write("\2\2\u00a0\37\3\2\2\2\u00a1\u00a3\7 \2\2\u00a2\u00a1\3") + buf.write("\2\2\2\u00a2\u00a3\3\2\2\2\u00a3\u00a4\3\2\2\2\u00a4\u00a5") + buf.write("\7\30\2\2\u00a5\u00a6\7\36\2\2\u00a6\u00aa\7\7\2\2\u00a7") + buf.write("\u00a9\5\"\22\2\u00a8\u00a7\3\2\2\2\u00a9\u00ac\3\2\2") + buf.write("\2\u00aa\u00a8\3\2\2\2\u00aa\u00ab\3\2\2\2\u00ab\u00ad") + buf.write("\3\2\2\2\u00ac\u00aa\3\2\2\2\u00ad\u00af\7\b\2\2\u00ae") + buf.write("\u00b0\7\4\2\2\u00af\u00ae\3\2\2\2\u00af\u00b0\3\2\2\2") + buf.write("\u00b0!\3\2\2\2\u00b1\u00b3\7 \2\2\u00b2\u00b1\3\2\2\2") + buf.write("\u00b2\u00b3\3\2\2\2\u00b3\u00b4\3\2\2\2\u00b4\u00b5\5") + buf.write("\26\f\2\u00b5\u00b7\7\36\2\2\u00b6\u00b8\7\4\2\2\u00b7") + buf.write("\u00b6\3\2\2\2\u00b7\u00b8\3\2\2\2\u00b8#\3\2\2\2\u00b9") + buf.write("\u00bb\7 \2\2\u00ba\u00b9\3\2\2\2\u00ba\u00bb\3\2\2\2") + buf.write("\u00bb\u00bc\3\2\2\2\u00bc\u00bd\5&\24\2\u00bd\u00be\7") + buf.write("\36\2\2\u00be\u00c2\7\7\2\2\u00bf\u00c1\5(\25\2\u00c0") + buf.write("\u00bf\3\2\2\2\u00c1\u00c4\3\2\2\2\u00c2\u00c0\3\2\2\2") + buf.write("\u00c2\u00c3\3\2\2\2\u00c3\u00c5\3\2\2\2\u00c4\u00c2\3") + buf.write("\2\2\2\u00c5\u00c7\7\b\2\2\u00c6\u00c8\7\4\2\2\u00c7\u00c6") + buf.write("\3\2\2\2\u00c7\u00c8\3\2\2\2\u00c8%\3\2\2\2\u00c9\u00cc") + buf.write("\7\31\2\2\u00ca\u00cc\7\32\2\2\u00cb\u00c9\3\2\2\2\u00cb") + buf.write("\u00ca\3\2\2\2\u00cc\'\3\2\2\2\u00cd\u00cf\7 \2\2\u00ce") + buf.write("\u00cd\3\2\2\2\u00ce\u00cf\3\2\2\2\u00cf\u00d0\3\2\2\2") + buf.write("\u00d0\u00d3\7\36\2\2\u00d1\u00d2\7\33\2\2\u00d2\u00d4") + buf.write("\5*\26\2\u00d3\u00d1\3\2\2\2\u00d3\u00d4\3\2\2\2\u00d4") + buf.write("\u00d6\3\2\2\2\u00d5\u00d7\7\16\2\2\u00d6\u00d5\3\2\2") + buf.write("\2\u00d6\u00d7\3\2\2\2\u00d7)\3\2\2\2\u00d8\u00db\7\34") + buf.write("\2\2\u00d9\u00db\7\35\2\2\u00da\u00d8\3\2\2\2\u00da\u00d9") + buf.write("\3\2\2\2\u00db+\3\2\2\2$\60\67>AGLOW\\`cfjqvy|\u0081\u0086") + buf.write("\u008c\u0095\u00a2\u00aa\u00af\u00b2\u00b7\u00ba\u00c2") + buf.write("\u00c7\u00cb\u00ce\u00d3\u00d6\u00da") return buf.getvalue() @@ -606,6 +609,13 @@ class TParser ( Parser ): self.state = 88 self.match(TParser.T__5) + self.state = 90 + _la = self._input.LA(1) + if _la==TParser.T__1: + self.state = 89 + self.match(TParser.T__1) + + except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) @@ -653,18 +663,18 @@ class TParser ( Parser ): localctx = TParser.InterfaceMemberSymbolContext(self, self._ctx, self.state) self.enterRule(localctx, 12, self.RULE_interfaceMemberSymbol) try: - self.state = 92 + self.state = 94 self._errHandler.sync(self); - la_ = self._interp.adaptivePredict(self._input,8,self._ctx) + la_ = self._interp.adaptivePredict(self._input,9,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) - self.state = 90 + self.state = 92 self.operationSymbol() pass elif la_ == 2: self.enterOuterAlt(localctx, 2) - self.state = 91 + self.state = 93 self.propertySymbol() pass @@ -730,53 +740,53 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 95 + self.state = 97 _la = self._input.LA(1) if _la==TParser.DOCCOMMENT: - self.state = 94 + self.state = 96 localctx.comment = self.match(TParser.DOCCOMMENT) - self.state = 98 + self.state = 100 _la = self._input.LA(1) if _la==TParser.T__6: - self.state = 97 + self.state = 99 localctx.isEvent = self.match(TParser.T__6) - self.state = 102 + self.state = 104 token = self._input.LA(1) if token in [TParser.T__12, TParser.T__13, TParser.T__14, TParser.T__15, TParser.T__16, TParser.T__17, TParser.T__20, TParser.IDENTIFIER]: - self.state = 100 + self.state = 102 self.typeSymbol() elif token in [TParser.T__7]: - self.state = 101 + self.state = 103 self.match(TParser.T__7) else: raise NoViableAltException(self) - self.state = 104 + self.state = 106 localctx.name = self.match(TParser.IDENTIFIER) - self.state = 105 + self.state = 107 self.match(TParser.T__8) - self.state = 109 + self.state = 111 self._errHandler.sync(self) _la = self._input.LA(1) while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << TParser.T__12) | (1 << TParser.T__13) | (1 << TParser.T__14) | (1 << TParser.T__15) | (1 << TParser.T__16) | (1 << TParser.T__17) | (1 << TParser.T__20) | (1 << TParser.IDENTIFIER))) != 0): - self.state = 106 + self.state = 108 self.operationParameterSymbol() - self.state = 111 + self.state = 113 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 112 - self.match(TParser.T__9) self.state = 114 + self.match(TParser.T__9) + self.state = 116 _la = self._input.LA(1) if _la==TParser.T__1: - self.state = 113 + self.state = 115 self.match(TParser.T__1) @@ -834,28 +844,28 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 117 + self.state = 119 _la = self._input.LA(1) if _la==TParser.DOCCOMMENT: - self.state = 116 + self.state = 118 localctx.comment = self.match(TParser.DOCCOMMENT) - self.state = 120 + self.state = 122 _la = self._input.LA(1) if _la==TParser.T__10: - self.state = 119 + self.state = 121 localctx.isReadOnly = self.match(TParser.T__10) - self.state = 122 + self.state = 124 self.typeSymbol() - self.state = 123 - localctx.name = self.match(TParser.IDENTIFIER) self.state = 125 + localctx.name = self.match(TParser.IDENTIFIER) + self.state = 127 _la = self._input.LA(1) if _la==TParser.T__1: - self.state = 124 + self.state = 126 self.match(TParser.T__1) @@ -908,14 +918,14 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 127 + self.state = 129 self.typeSymbol() - self.state = 128 - localctx.name = self.match(TParser.IDENTIFIER) self.state = 130 + localctx.name = self.match(TParser.IDENTIFIER) + self.state = 132 _la = self._input.LA(1) if _la==TParser.T__11: - self.state = 129 + self.state = 131 self.match(TParser.T__11) @@ -974,26 +984,26 @@ class TParser ( Parser ): localctx = TParser.TypeSymbolContext(self, self._ctx, self.state) self.enterRule(localctx, 20, self.RULE_typeSymbol) try: - self.state = 136 + self.state = 138 token = self._input.LA(1) if token in [TParser.T__12, TParser.T__13, TParser.T__14, TParser.T__15, TParser.T__16]: self.enterOuterAlt(localctx, 1) - self.state = 132 + self.state = 134 self.primitiveTypeSymbol() elif token in [TParser.IDENTIFIER]: self.enterOuterAlt(localctx, 2) - self.state = 133 + self.state = 135 self.complexTypeSymbol() elif token in [TParser.T__17]: self.enterOuterAlt(localctx, 3) - self.state = 134 + self.state = 136 self.listTypeSymbol() elif token in [TParser.T__20]: self.enterOuterAlt(localctx, 4) - self.state = 135 + self.state = 137 self.modelTypeSymbol() else: @@ -1043,7 +1053,7 @@ class TParser ( Parser ): self.enterRule(localctx, 22, self.RULE_complexTypeSymbol) try: self.enterOuterAlt(localctx, 1) - self.state = 138 + self.state = 140 localctx.name = self.match(TParser.IDENTIFIER) except RecognitionException as re: localctx.exception = re @@ -1086,31 +1096,31 @@ class TParser ( Parser ): localctx = TParser.PrimitiveTypeSymbolContext(self, self._ctx, self.state) self.enterRule(localctx, 24, self.RULE_primitiveTypeSymbol) try: - self.state = 145 + self.state = 147 token = self._input.LA(1) if token in [TParser.T__12]: self.enterOuterAlt(localctx, 1) - self.state = 140 + self.state = 142 localctx.name = self.match(TParser.T__12) elif token in [TParser.T__13]: self.enterOuterAlt(localctx, 2) - self.state = 141 + self.state = 143 localctx.name = self.match(TParser.T__13) elif token in [TParser.T__14]: self.enterOuterAlt(localctx, 3) - self.state = 142 + self.state = 144 localctx.name = self.match(TParser.T__14) elif token in [TParser.T__15]: self.enterOuterAlt(localctx, 4) - self.state = 143 + self.state = 145 localctx.name = self.match(TParser.T__15) elif token in [TParser.T__16]: self.enterOuterAlt(localctx, 5) - self.state = 144 + self.state = 146 localctx.name = self.match(TParser.T__16) else: @@ -1161,13 +1171,13 @@ class TParser ( Parser ): self.enterRule(localctx, 26, self.RULE_listTypeSymbol) try: self.enterOuterAlt(localctx, 1) - self.state = 147 + self.state = 149 self.match(TParser.T__17) - self.state = 148 + self.state = 150 self.match(TParser.T__18) - self.state = 149 + self.state = 151 localctx.valueType = self.typeSymbol() - self.state = 150 + self.state = 152 self.match(TParser.T__19) except RecognitionException as re: localctx.exception = re @@ -1214,13 +1224,13 @@ class TParser ( Parser ): self.enterRule(localctx, 28, self.RULE_modelTypeSymbol) try: self.enterOuterAlt(localctx, 1) - self.state = 152 + self.state = 154 self.match(TParser.T__20) - self.state = 153 + self.state = 155 self.match(TParser.T__18) - self.state = 154 + self.state = 156 localctx.valueType = self.typeSymbol() - self.state = 155 + self.state = 157 self.match(TParser.T__19) except RecognitionException as re: localctx.exception = re @@ -1278,31 +1288,38 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 158 + self.state = 160 _la = self._input.LA(1) if _la==TParser.DOCCOMMENT: - self.state = 157 + self.state = 159 localctx.comment = self.match(TParser.DOCCOMMENT) - self.state = 160 + self.state = 162 self.match(TParser.T__21) - self.state = 161 + self.state = 163 localctx.name = self.match(TParser.IDENTIFIER) - self.state = 162 + self.state = 164 self.match(TParser.T__4) - self.state = 166 + self.state = 168 self._errHandler.sync(self) _la = self._input.LA(1) while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << TParser.T__12) | (1 << TParser.T__13) | (1 << TParser.T__14) | (1 << TParser.T__15) | (1 << TParser.T__16) | (1 << TParser.T__17) | (1 << TParser.T__20) | (1 << TParser.IDENTIFIER) | (1 << TParser.DOCCOMMENT))) != 0): - self.state = 163 + self.state = 165 self.structFieldSymbol() - self.state = 168 + self.state = 170 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 169 + self.state = 171 self.match(TParser.T__5) + self.state = 173 + _la = self._input.LA(1) + if _la==TParser.T__1: + self.state = 172 + self.match(TParser.T__1) + + except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) @@ -1356,21 +1373,21 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 172 + self.state = 176 _la = self._input.LA(1) if _la==TParser.DOCCOMMENT: - self.state = 171 + self.state = 175 localctx.comment = self.match(TParser.DOCCOMMENT) - self.state = 174 + self.state = 178 self.typeSymbol() - self.state = 175 + self.state = 179 localctx.name = self.match(TParser.IDENTIFIER) - self.state = 177 + self.state = 181 _la = self._input.LA(1) if _la==TParser.T__1: - self.state = 176 + self.state = 180 self.match(TParser.T__1) @@ -1434,31 +1451,38 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 180 + self.state = 184 _la = self._input.LA(1) if _la==TParser.DOCCOMMENT: - self.state = 179 + self.state = 183 localctx.comment = self.match(TParser.DOCCOMMENT) - self.state = 182 + self.state = 186 self.enumTypeSymbol() - self.state = 183 + self.state = 187 localctx.name = self.match(TParser.IDENTIFIER) - self.state = 184 - self.match(TParser.T__4) self.state = 188 + self.match(TParser.T__4) + self.state = 192 self._errHandler.sync(self) _la = self._input.LA(1) while _la==TParser.IDENTIFIER or _la==TParser.DOCCOMMENT: - self.state = 185 + self.state = 189 self.enumMemberSymbol() - self.state = 190 + self.state = 194 self._errHandler.sync(self) _la = self._input.LA(1) - self.state = 191 + self.state = 195 self.match(TParser.T__5) + self.state = 197 + _la = self._input.LA(1) + if _la==TParser.T__1: + self.state = 196 + self.match(TParser.T__1) + + except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) @@ -1501,16 +1525,16 @@ class TParser ( Parser ): localctx = TParser.EnumTypeSymbolContext(self, self._ctx, self.state) self.enterRule(localctx, 36, self.RULE_enumTypeSymbol) try: - self.state = 195 + self.state = 201 token = self._input.LA(1) if token in [TParser.T__22]: self.enterOuterAlt(localctx, 1) - self.state = 193 + self.state = 199 localctx.isEnum = self.match(TParser.T__22) elif token in [TParser.T__23]: self.enterOuterAlt(localctx, 2) - self.state = 194 + self.state = 200 localctx.isFlag = self.match(TParser.T__23) else: @@ -1569,28 +1593,28 @@ class TParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 198 + self.state = 204 _la = self._input.LA(1) if _la==TParser.DOCCOMMENT: - self.state = 197 + self.state = 203 localctx.comment = self.match(TParser.DOCCOMMENT) - self.state = 200 + self.state = 206 localctx.name = self.match(TParser.IDENTIFIER) - self.state = 203 + self.state = 209 _la = self._input.LA(1) if _la==TParser.T__24: - self.state = 201 + self.state = 207 self.match(TParser.T__24) - self.state = 202 + self.state = 208 self.intSymbol() - self.state = 206 + self.state = 212 _la = self._input.LA(1) if _la==TParser.T__11: - self.state = 205 + self.state = 211 self.match(TParser.T__11) @@ -1640,16 +1664,16 @@ class TParser ( Parser ): localctx = TParser.IntSymbolContext(self, self._ctx, self.state) self.enterRule(localctx, 40, self.RULE_intSymbol) try: - self.state = 210 + self.state = 216 token = self._input.LA(1) if token in [TParser.INTCONSTANT]: self.enterOuterAlt(localctx, 1) - self.state = 208 + self.state = 214 localctx.value = self.match(TParser.INTCONSTANT) elif token in [TParser.HEXCONSTANT]: self.enterOuterAlt(localctx, 2) - self.state = 209 + self.state = 215 localctx.value = self.match(TParser.HEXCONSTANT) else: |