summaryrefslogtreecommitdiff
path: root/qface
diff options
context:
space:
mode:
authorJuergen Ryannel <juergen.bocklage-ryannel@pelagicore.com>2016-12-06 17:04:15 +0100
committerJuergen Ryannel <juergen.bocklage-ryannel@pelagicore.com>2016-12-06 17:04:15 +0100
commit8931360982145a18225e5815d7d543ab1406eeba (patch)
tree775ed9cf0ba409b29842a31b81c9fc13c9839e96 /qface
parent1b68138a7f67101998f5cc6016c218e7a631a37d (diff)
downloadqtivi-qface-8931360982145a18225e5815d7d543ab1406eeba.tar.gz
Allowd semicolons after symbol blocks using interface, enum, struct
Diffstat (limited to 'qface')
-rw-r--r--qface/idl/parser/T.g46
-rw-r--r--qface/idl/parser/TParser.py368
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: