cariboujs 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +13 -3
  2. package/ada/ada2012/AdaLexer.js +486 -316
  3. package/ada/ada2012/AdaLexerBase.js +25 -0
  4. package/ada/ada2012/AdaParser.js +4547 -3823
  5. package/ada/ada2012/AdaParserBase.js +682 -0
  6. package/ada/ada2012/AdaParserListener.js +36 -0
  7. package/ada/ada2012/AdaParserVisitor.js +24 -0
  8. package/ada/ada2012/Symbol.js +20 -0
  9. package/ada/ada2012/SymbolTable.js +144 -0
  10. package/ada/ada2012/TypeClassification.js +15 -0
  11. package/ada/ada2022/AdaLexer.js +699 -0
  12. package/ada/ada2022/AdaLexerBase.js +25 -0
  13. package/ada/ada2022/AdaParser.js +37818 -0
  14. package/ada/ada2022/AdaParserBase.js +686 -0
  15. package/ada/ada2022/AdaParserListener.js +3024 -0
  16. package/ada/ada2022/AdaParserVisitor.js +2020 -0
  17. package/ada/ada2022/Symbol.js +20 -0
  18. package/ada/ada2022/SymbolTable.js +144 -0
  19. package/ada/ada2022/TypeClassification.js +15 -0
  20. package/c/CLexer.js +918 -0
  21. package/c/CLexerBase.js +96 -0
  22. package/c/CParser.js +14878 -0
  23. package/c/CParserBase.js +617 -0
  24. package/c/CParserListener.js +1062 -0
  25. package/c/CParserVisitor.js +712 -0
  26. package/c/ErrorListener.js +50 -0
  27. package/c/Symbol.js +28 -0
  28. package/c/SymbolTable.js +220 -0
  29. package/c/TypeClassification.js +21 -0
  30. package/cpp/CPP14Parser.js +630 -619
  31. package/cpp/CPP14ParserListener.js +56 -56
  32. package/cpp/CPP14ParserVisitor.js +28 -28
  33. package/csharp/v7/CSharpLexer.js +1339 -0
  34. package/csharp/v7/CSharpLexerBase.js +332 -0
  35. package/csharp/v7/CSharpParser.js +29239 -0
  36. package/csharp/v7/CSharpParserBase.js +48 -0
  37. package/csharp/v7/CSharpParserListener.js +2304 -0
  38. package/csharp/v7/CSharpParserVisitor.js +1540 -0
  39. package/csharp/v8-spec/CSharpLexer.js +1549 -0
  40. package/csharp/v8-spec/CSharpLexerBase.js +296 -0
  41. package/csharp/v8-spec/CSharpParser.js +45055 -0
  42. package/csharp/v8-spec/CSharpParserBase.js +587 -0
  43. package/csharp/v8-spec/CSharpParserListener.js +3582 -0
  44. package/csharp/v8-spec/CSharpParserVisitor.js +2392 -0
  45. package/cypher/CypherParser.js +1171 -780
  46. package/cypher/CypherParserListener.js +27 -0
  47. package/cypher/CypherParserVisitor.js +18 -0
  48. package/geekcode/geekcodeLexer.js +232 -0
  49. package/geekcode/geekcodeListener.js +81 -0
  50. package/geekcode/geekcodeParser.js +1516 -0
  51. package/geekcode/geekcodeVisitor.js +58 -0
  52. package/gql/GQLLexer.js +2203 -0
  53. package/gql/GQLListener.js +5499 -0
  54. package/gql/GQLParser.js +58653 -0
  55. package/gql/GQLVisitor.js +3670 -0
  56. package/kotlin/kotlin/KotlinLexer.js +1257 -1247
  57. package/kotlin/kotlin/KotlinParser.js +3991 -3425
  58. package/kotlin/kotlin/KotlinParserListener.js +36 -0
  59. package/kotlin/kotlin/KotlinParserVisitor.js +24 -0
  60. package/maml/MAMLLexer.js +116 -0
  61. package/maml/MAMLListener.js +72 -0
  62. package/maml/MAMLParser.js +935 -0
  63. package/maml/MAMLVisitor.js +52 -0
  64. package/odin/odinLexer.js +739 -0
  65. package/odin/odinListener.js +882 -0
  66. package/odin/odinParser.js +12189 -0
  67. package/odin/odinVisitor.js +592 -0
  68. package/package.json +1 -1
  69. package/plantUML/PlantUMLLexer.js +215 -316
  70. package/plantUML/PlantUMLParser.js +1045 -2393
  71. package/plantUML/PlantUMLParserListener.js +171 -0
  72. package/plantUML/PlantUMLParserVisitor.js +118 -0
  73. package/sql/mysql/Oracle/MySQLLexer.js +3689 -3668
  74. package/sql/mysql/Oracle/MySQLParser.js +4383 -4399
  75. package/sql/plsql/PlSqlLexer.js +13604 -13587
  76. package/sql/plsql/PlSqlParser.js +51622 -64188
  77. package/sql/plsql/PlSqlParserBase.js +30 -0
  78. package/sql/plsql/PlSqlParserListener.js +36 -9
  79. package/sql/plsql/PlSqlParserVisitor.js +24 -6
  80. package/sql/postgresql/PostgreSQLParser.js +91 -91
  81. package/sql/snowflake/SnowflakeLexer.js +5675 -5497
  82. package/sql/snowflake/SnowflakeParser.js +27252 -22655
  83. package/sql/snowflake/SnowflakeParserListener.js +278 -8
  84. package/sql/snowflake/SnowflakeParserVisitor.js +184 -4
  85. package/sql/sqlite/SQLiteParser.js +2638 -2301
  86. package/sql/sqlite/SQLiteParserListener.js +9 -9
  87. package/sql/sqlite/SQLiteParserVisitor.js +6 -6
  88. package/sysml-v2/SysMLv2Lexer.js +1047 -0
  89. package/sysml-v2/SysMLv2Parser.js +51339 -0
  90. package/sysml-v2/SysMLv2ParserListener.js +4464 -0
  91. package/sysml-v2/SysMLv2ParserVisitor.js +2980 -0
  92. package/turtle/TURTLELexer.js +155 -156
  93. package/vba/vba7_1/vbaLexer.js +1689 -0
  94. package/vba/vba7_1/vbaParser.js +42797 -0
  95. package/vba/vba7_1/vbaParserListener.js +3267 -0
  96. package/vba/vba7_1/vbaParserVisitor.js +2182 -0
  97. package/vhdl/vhdl2008/vhdl2008Listener.js +9 -0
  98. package/vhdl/vhdl2008/vhdl2008Parser.js +2840 -2705
  99. package/vhdl/vhdl2008/vhdl2008Visitor.js +6 -0
  100. package/wkt/wktLexer.js +177 -148
  101. package/wkt/wktListener.js +123 -60
  102. package/wkt/wktParser.js +1802 -1125
  103. package/wkt/wktVisitor.js +72 -30
  104. package/plantUML/PlantUMLListener.js +0 -279
  105. package/plantUML/PlantUMLVisitor.js +0 -190
  106. /package/scala/{ScalaLexer.js → scala2/ScalaLexer.js} +0 -0
  107. /package/scala/{ScalaListener.js → scala2/ScalaListener.js} +0 -0
  108. /package/scala/{ScalaParser.js → scala2/ScalaParser.js} +0 -0
  109. /package/scala/{ScalaVisitor.js → scala2/ScalaVisitor.js} +0 -0
@@ -1,141 +1,67 @@
1
- // Generated from PlantUML.g4 by ANTLR 4.13.2
1
+ // Generated from PlantUMLParser.g4 by ANTLR 4.13.2
2
2
  // jshint ignore: start
3
3
  import antlr4 from 'antlr4';
4
- import PlantUMLListener from './PlantUMLListener.js';
5
- import PlantUMLVisitor from './PlantUMLVisitor.js';
4
+ import PlantUMLParserListener from './PlantUMLParserListener.js';
5
+ import PlantUMLParserVisitor from './PlantUMLParserVisitor.js';
6
6
 
7
- const serializedATN = [4,1,79,399,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
7
+ const serializedATN = [4,1,51,183,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,
8
8
  4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,
9
- 2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,
10
- 20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,
11
- 7,27,2,28,7,28,2,29,7,29,1,0,1,0,5,0,63,8,0,10,0,12,0,66,9,0,1,0,1,0,1,0,
12
- 1,1,1,1,1,1,3,1,74,8,1,1,1,3,1,77,8,1,1,1,1,1,1,1,3,1,82,8,1,1,1,3,1,85,
13
- 8,1,1,1,1,1,1,1,1,1,3,1,91,8,1,1,1,3,1,94,8,1,1,1,1,1,1,1,3,1,99,8,1,1,1,
14
- 3,1,102,8,1,1,1,1,1,1,1,3,1,107,8,1,1,1,3,1,110,8,1,1,1,1,1,1,1,3,1,115,
15
- 8,1,1,1,3,1,118,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,129,8,1,1,2,
16
- 1,2,5,2,133,8,2,10,2,12,2,136,9,2,1,2,1,2,1,3,1,3,3,3,142,8,3,1,4,1,4,4,
17
- 4,146,8,4,11,4,12,4,147,1,4,1,4,1,5,1,5,1,5,1,5,3,5,156,8,5,1,5,1,5,1,6,
18
- 1,6,1,6,1,6,3,6,164,8,6,1,6,3,6,167,8,6,1,6,3,6,170,8,6,1,6,1,6,1,6,1,6,
19
- 1,6,3,6,177,8,6,1,6,3,6,180,8,6,1,6,1,6,1,6,1,6,3,6,186,8,6,1,7,1,7,1,7,
20
- 3,7,191,8,7,1,7,1,7,1,7,3,7,196,8,7,1,7,1,7,1,8,1,8,1,8,1,8,3,8,204,8,8,
21
- 1,8,3,8,207,8,8,1,8,3,8,210,8,8,1,8,1,8,1,8,3,8,215,8,8,1,8,1,8,1,8,1,8,
22
- 1,8,1,8,3,8,223,8,8,1,8,3,8,226,8,8,1,8,1,8,1,8,3,8,231,8,8,1,8,1,8,1,8,
23
- 1,8,3,8,237,8,8,1,9,1,9,1,9,5,9,242,8,9,10,9,12,9,245,9,9,1,9,1,9,1,10,1,
24
- 10,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,
25
- 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,
26
- 13,1,13,1,13,1,13,1,13,1,13,3,13,285,8,13,1,13,1,13,1,13,1,13,1,13,1,13,
27
- 1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,
28
- 13,1,13,1,13,1,13,3,13,311,8,13,1,14,1,14,1,14,3,14,316,8,14,1,14,1,14,1,
29
- 15,1,15,1,16,1,16,1,17,1,17,3,17,326,8,17,1,17,1,17,3,17,330,8,17,1,17,1,
30
- 17,3,17,334,8,17,1,18,1,18,1,19,1,19,3,19,340,8,19,1,19,1,19,3,19,344,8,
31
- 19,1,19,1,19,3,19,348,8,19,1,20,1,20,1,21,1,21,3,21,354,8,21,1,21,1,21,3,
32
- 21,358,8,21,1,21,1,21,3,21,362,8,21,1,22,1,22,1,23,1,23,3,23,368,8,23,1,
33
- 23,1,23,3,23,372,8,23,1,23,1,23,3,23,376,8,23,1,24,1,24,1,25,1,25,3,25,382,
34
- 8,25,1,25,1,25,1,25,1,25,1,25,3,25,389,8,25,1,26,1,26,1,27,1,27,1,28,1,28,
35
- 1,29,1,29,1,29,0,0,30,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,
36
- 38,40,42,44,46,48,50,52,54,56,58,0,10,1,0,17,20,2,0,5,5,21,22,1,0,33,37,
37
- 1,0,38,42,2,0,18,18,43,48,1,0,49,52,1,0,53,60,1,0,61,66,1,0,67,68,1,0,70,
38
- 71,440,0,60,1,0,0,0,2,128,1,0,0,0,4,130,1,0,0,0,6,141,1,0,0,0,8,143,1,0,
39
- 0,0,10,151,1,0,0,0,12,185,1,0,0,0,14,187,1,0,0,0,16,236,1,0,0,0,18,243,1,
40
- 0,0,0,20,248,1,0,0,0,22,252,1,0,0,0,24,254,1,0,0,0,26,310,1,0,0,0,28,312,
41
- 1,0,0,0,30,319,1,0,0,0,32,321,1,0,0,0,34,323,1,0,0,0,36,335,1,0,0,0,38,337,
42
- 1,0,0,0,40,349,1,0,0,0,42,351,1,0,0,0,44,363,1,0,0,0,46,365,1,0,0,0,48,377,
43
- 1,0,0,0,50,388,1,0,0,0,52,390,1,0,0,0,54,392,1,0,0,0,56,394,1,0,0,0,58,396,
44
- 1,0,0,0,60,64,5,1,0,0,61,63,3,2,1,0,62,61,1,0,0,0,63,66,1,0,0,0,64,62,1,
45
- 0,0,0,64,65,1,0,0,0,65,67,1,0,0,0,66,64,1,0,0,0,67,68,5,2,0,0,68,69,5,0,
46
- 0,1,69,1,1,0,0,0,70,71,5,3,0,0,71,73,3,54,27,0,72,74,3,20,10,0,73,72,1,0,
47
- 0,0,73,74,1,0,0,0,74,76,1,0,0,0,75,77,3,4,2,0,76,75,1,0,0,0,76,77,1,0,0,
48
- 0,77,129,1,0,0,0,78,79,5,4,0,0,79,81,3,54,27,0,80,82,3,20,10,0,81,80,1,0,
49
- 0,0,81,82,1,0,0,0,82,84,1,0,0,0,83,85,3,4,2,0,84,83,1,0,0,0,84,85,1,0,0,
50
- 0,85,129,1,0,0,0,86,87,5,5,0,0,87,88,5,3,0,0,88,90,3,54,27,0,89,91,3,20,
51
- 10,0,90,89,1,0,0,0,90,91,1,0,0,0,91,93,1,0,0,0,92,94,3,4,2,0,93,92,1,0,0,
52
- 0,93,94,1,0,0,0,94,129,1,0,0,0,95,96,5,5,0,0,96,98,3,54,27,0,97,99,3,20,
53
- 10,0,98,97,1,0,0,0,98,99,1,0,0,0,99,101,1,0,0,0,100,102,3,4,2,0,101,100,
54
- 1,0,0,0,101,102,1,0,0,0,102,129,1,0,0,0,103,104,5,6,0,0,104,106,3,54,27,
55
- 0,105,107,3,20,10,0,106,105,1,0,0,0,106,107,1,0,0,0,107,109,1,0,0,0,108,
56
- 110,3,4,2,0,109,108,1,0,0,0,109,110,1,0,0,0,110,129,1,0,0,0,111,112,5,7,
57
- 0,0,112,114,3,54,27,0,113,115,3,20,10,0,114,113,1,0,0,0,114,115,1,0,0,0,
58
- 115,117,1,0,0,0,116,118,3,8,4,0,117,116,1,0,0,0,117,118,1,0,0,0,118,129,
59
- 1,0,0,0,119,120,5,8,0,0,120,129,3,54,27,0,121,129,3,28,14,0,122,129,3,34,
60
- 17,0,123,129,3,38,19,0,124,129,3,10,5,0,125,129,3,42,21,0,126,129,3,46,23,
61
- 0,127,129,3,14,7,0,128,70,1,0,0,0,128,78,1,0,0,0,128,86,1,0,0,0,128,95,1,
62
- 0,0,0,128,103,1,0,0,0,128,111,1,0,0,0,128,119,1,0,0,0,128,121,1,0,0,0,128,
63
- 122,1,0,0,0,128,123,1,0,0,0,128,124,1,0,0,0,128,125,1,0,0,0,128,126,1,0,
64
- 0,0,128,127,1,0,0,0,129,3,1,0,0,0,130,134,5,9,0,0,131,133,3,6,3,0,132,131,
65
- 1,0,0,0,133,136,1,0,0,0,134,132,1,0,0,0,134,135,1,0,0,0,135,137,1,0,0,0,
66
- 136,134,1,0,0,0,137,138,5,10,0,0,138,5,1,0,0,0,139,142,3,16,8,0,140,142,
67
- 3,12,6,0,141,139,1,0,0,0,141,140,1,0,0,0,142,7,1,0,0,0,143,145,5,9,0,0,144,
68
- 146,3,54,27,0,145,144,1,0,0,0,146,147,1,0,0,0,147,145,1,0,0,0,147,148,1,
69
- 0,0,0,148,149,1,0,0,0,149,150,5,10,0,0,150,9,1,0,0,0,151,152,3,54,27,0,152,
70
- 153,5,11,0,0,153,155,3,26,13,0,154,156,3,22,11,0,155,154,1,0,0,0,155,156,
71
- 1,0,0,0,156,157,1,0,0,0,157,158,3,54,27,0,158,11,1,0,0,0,159,160,5,9,0,0,
72
- 160,161,3,24,12,0,161,162,5,10,0,0,162,164,1,0,0,0,163,159,1,0,0,0,163,164,
73
- 1,0,0,0,164,166,1,0,0,0,165,167,3,26,13,0,166,165,1,0,0,0,166,167,1,0,0,
74
- 0,167,169,1,0,0,0,168,170,3,22,11,0,169,168,1,0,0,0,169,170,1,0,0,0,170,
75
- 171,1,0,0,0,171,186,3,54,27,0,172,173,5,9,0,0,173,174,3,24,12,0,174,175,
76
- 5,10,0,0,175,177,1,0,0,0,176,172,1,0,0,0,176,177,1,0,0,0,177,179,1,0,0,0,
77
- 178,180,3,22,11,0,179,178,1,0,0,0,179,180,1,0,0,0,180,181,1,0,0,0,181,182,
78
- 3,54,27,0,182,183,5,11,0,0,183,184,3,26,13,0,184,186,1,0,0,0,185,163,1,0,
79
- 0,0,185,176,1,0,0,0,186,13,1,0,0,0,187,188,3,54,27,0,188,190,5,11,0,0,189,
80
- 191,3,22,11,0,190,189,1,0,0,0,190,191,1,0,0,0,191,192,1,0,0,0,192,193,3,
81
- 54,27,0,193,195,5,12,0,0,194,196,3,18,9,0,195,194,1,0,0,0,195,196,1,0,0,
82
- 0,196,197,1,0,0,0,197,198,5,13,0,0,198,15,1,0,0,0,199,200,5,9,0,0,200,201,
83
- 3,24,12,0,201,202,5,10,0,0,202,204,1,0,0,0,203,199,1,0,0,0,203,204,1,0,0,
84
- 0,204,206,1,0,0,0,205,207,3,26,13,0,206,205,1,0,0,0,206,207,1,0,0,0,207,
85
- 209,1,0,0,0,208,210,3,22,11,0,209,208,1,0,0,0,209,210,1,0,0,0,210,211,1,
86
- 0,0,0,211,212,3,54,27,0,212,214,5,12,0,0,213,215,3,18,9,0,214,213,1,0,0,
87
- 0,214,215,1,0,0,0,215,216,1,0,0,0,216,217,5,13,0,0,217,237,1,0,0,0,218,219,
88
- 5,9,0,0,219,220,3,24,12,0,220,221,5,10,0,0,221,223,1,0,0,0,222,218,1,0,0,
89
- 0,222,223,1,0,0,0,223,225,1,0,0,0,224,226,3,22,11,0,225,224,1,0,0,0,225,
90
- 226,1,0,0,0,226,227,1,0,0,0,227,228,3,54,27,0,228,230,5,12,0,0,229,231,3,
91
- 18,9,0,230,229,1,0,0,0,230,231,1,0,0,0,231,232,1,0,0,0,232,233,5,13,0,0,
92
- 233,234,5,11,0,0,234,235,3,26,13,0,235,237,1,0,0,0,236,203,1,0,0,0,236,222,
93
- 1,0,0,0,237,17,1,0,0,0,238,239,3,54,27,0,239,240,5,14,0,0,240,242,1,0,0,
94
- 0,241,238,1,0,0,0,242,245,1,0,0,0,243,241,1,0,0,0,243,244,1,0,0,0,244,246,
95
- 1,0,0,0,245,243,1,0,0,0,246,247,3,54,27,0,247,19,1,0,0,0,248,249,5,15,0,
96
- 0,249,250,3,54,27,0,250,251,5,16,0,0,251,21,1,0,0,0,252,253,7,0,0,0,253,
97
- 23,1,0,0,0,254,255,7,1,0,0,255,25,1,0,0,0,256,257,5,23,0,0,257,258,5,12,
98
- 0,0,258,259,3,26,13,0,259,260,5,13,0,0,260,311,1,0,0,0,261,262,5,24,0,0,
99
- 262,263,5,12,0,0,263,264,3,26,13,0,264,265,5,13,0,0,265,311,1,0,0,0,266,
100
- 267,5,25,0,0,267,268,5,12,0,0,268,269,3,26,13,0,269,270,5,13,0,0,270,311,
101
- 1,0,0,0,271,272,5,26,0,0,272,273,5,12,0,0,273,274,3,26,13,0,274,275,5,13,
102
- 0,0,275,311,1,0,0,0,276,277,5,27,0,0,277,278,5,12,0,0,278,279,3,26,13,0,
103
- 279,280,5,13,0,0,280,311,1,0,0,0,281,282,3,54,27,0,282,284,5,28,0,0,283,
104
- 285,3,58,29,0,284,283,1,0,0,0,284,285,1,0,0,0,285,286,1,0,0,0,286,287,5,
105
- 29,0,0,287,311,1,0,0,0,288,289,5,30,0,0,289,290,5,12,0,0,290,291,3,26,13,
106
- 0,291,292,5,14,0,0,292,293,3,26,13,0,293,294,5,13,0,0,294,311,1,0,0,0,295,
107
- 296,5,31,0,0,296,297,5,12,0,0,297,298,3,26,13,0,298,299,5,14,0,0,299,300,
108
- 3,26,13,0,300,301,5,13,0,0,301,311,1,0,0,0,302,303,5,32,0,0,303,304,5,12,
109
- 0,0,304,305,3,26,13,0,305,306,5,14,0,0,306,307,3,26,13,0,307,308,5,13,0,
110
- 0,308,311,1,0,0,0,309,311,3,54,27,0,310,256,1,0,0,0,310,261,1,0,0,0,310,
111
- 266,1,0,0,0,310,271,1,0,0,0,310,276,1,0,0,0,310,281,1,0,0,0,310,288,1,0,
112
- 0,0,310,295,1,0,0,0,310,302,1,0,0,0,310,309,1,0,0,0,311,27,1,0,0,0,312,315,
113
- 3,54,27,0,313,316,3,30,15,0,314,316,3,32,16,0,315,313,1,0,0,0,315,314,1,
114
- 0,0,0,316,317,1,0,0,0,317,318,3,54,27,0,318,29,1,0,0,0,319,320,7,2,0,0,320,
115
- 31,1,0,0,0,321,322,7,3,0,0,322,33,1,0,0,0,323,325,3,54,27,0,324,326,3,56,
116
- 28,0,325,324,1,0,0,0,325,326,1,0,0,0,326,327,1,0,0,0,327,329,3,36,18,0,328,
117
- 330,3,56,28,0,329,328,1,0,0,0,329,330,1,0,0,0,330,331,1,0,0,0,331,333,3,
118
- 54,27,0,332,334,3,50,25,0,333,332,1,0,0,0,333,334,1,0,0,0,334,35,1,0,0,0,
119
- 335,336,7,4,0,0,336,37,1,0,0,0,337,339,3,54,27,0,338,340,3,56,28,0,339,338,
120
- 1,0,0,0,339,340,1,0,0,0,340,341,1,0,0,0,341,343,3,40,20,0,342,344,3,56,28,
121
- 0,343,342,1,0,0,0,343,344,1,0,0,0,344,345,1,0,0,0,345,347,3,54,27,0,346,
122
- 348,3,50,25,0,347,346,1,0,0,0,347,348,1,0,0,0,348,39,1,0,0,0,349,350,7,5,
123
- 0,0,350,41,1,0,0,0,351,353,3,54,27,0,352,354,3,56,28,0,353,352,1,0,0,0,353,
124
- 354,1,0,0,0,354,355,1,0,0,0,355,357,3,44,22,0,356,358,3,56,28,0,357,356,
125
- 1,0,0,0,357,358,1,0,0,0,358,359,1,0,0,0,359,361,3,54,27,0,360,362,3,50,25,
126
- 0,361,360,1,0,0,0,361,362,1,0,0,0,362,43,1,0,0,0,363,364,7,6,0,0,364,45,
127
- 1,0,0,0,365,367,3,54,27,0,366,368,3,56,28,0,367,366,1,0,0,0,367,368,1,0,
128
- 0,0,368,369,1,0,0,0,369,371,3,48,24,0,370,372,3,56,28,0,371,370,1,0,0,0,
129
- 371,372,1,0,0,0,372,373,1,0,0,0,373,375,3,54,27,0,374,376,3,50,25,0,375,
130
- 374,1,0,0,0,375,376,1,0,0,0,376,47,1,0,0,0,377,378,7,7,0,0,378,49,1,0,0,
131
- 0,379,381,5,11,0,0,380,382,3,52,26,0,381,380,1,0,0,0,381,382,1,0,0,0,382,
132
- 383,1,0,0,0,383,389,3,54,27,0,384,385,5,11,0,0,385,386,3,54,27,0,386,387,
133
- 3,52,26,0,387,389,1,0,0,0,388,379,1,0,0,0,388,384,1,0,0,0,389,51,1,0,0,0,
134
- 390,391,7,8,0,0,391,53,1,0,0,0,392,393,5,78,0,0,393,55,1,0,0,0,394,395,7,
135
- 9,0,0,395,57,1,0,0,0,396,397,5,77,0,0,397,59,1,0,0,0,52,64,73,76,81,84,90,
136
- 93,98,101,106,109,114,117,128,134,141,147,155,163,166,169,176,179,185,190,
137
- 195,203,206,209,214,222,225,230,236,243,284,310,315,325,329,333,339,343,
138
- 347,353,357,361,367,371,375,381,388];
9
+ 2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,1,0,1,0,1,0,1,1,5,1,41,
10
+ 8,1,10,1,12,1,44,9,1,1,1,1,1,3,1,48,8,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,56,8,
11
+ 1,10,1,12,1,59,9,1,1,1,1,1,5,1,63,8,1,10,1,12,1,66,9,1,1,2,3,2,69,8,2,1,
12
+ 2,1,2,1,2,3,2,74,8,2,1,2,3,2,77,8,2,1,2,3,2,80,8,2,1,2,3,2,83,8,2,1,3,1,
13
+ 3,5,3,87,8,3,10,3,12,3,90,9,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,3,4,99,8,4,1,5,
14
+ 1,5,5,5,103,8,5,10,5,12,5,106,9,5,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,8,1,
15
+ 9,1,9,1,10,1,10,1,10,3,10,122,8,10,1,10,3,10,125,8,10,1,11,1,11,1,11,1,11,
16
+ 3,11,131,8,11,1,11,3,11,134,8,11,1,12,3,12,137,8,12,1,12,5,12,140,8,12,10,
17
+ 12,12,12,143,9,12,1,12,3,12,146,8,12,1,13,1,13,3,13,150,8,13,1,14,3,14,153,
18
+ 8,14,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,
19
+ 17,3,17,169,8,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,1,17,3,17,179,8,17,3,
20
+ 17,181,8,17,1,17,0,0,18,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,
21
+ 0,4,2,0,37,37,39,39,1,0,5,6,2,0,15,15,17,22,1,0,16,17,196,0,36,1,0,0,0,2,
22
+ 42,1,0,0,0,4,68,1,0,0,0,6,84,1,0,0,0,8,98,1,0,0,0,10,100,1,0,0,0,12,109,
23
+ 1,0,0,0,14,111,1,0,0,0,16,113,1,0,0,0,18,116,1,0,0,0,20,118,1,0,0,0,22,126,
24
+ 1,0,0,0,24,136,1,0,0,0,26,147,1,0,0,0,28,152,1,0,0,0,30,156,1,0,0,0,32,158,
25
+ 1,0,0,0,34,180,1,0,0,0,36,37,3,2,1,0,37,38,5,0,0,1,38,1,1,0,0,0,39,41,7,
26
+ 0,0,0,40,39,1,0,0,0,41,44,1,0,0,0,42,40,1,0,0,0,42,43,1,0,0,0,43,45,1,0,
27
+ 0,0,44,42,1,0,0,0,45,47,5,3,0,0,46,48,5,42,0,0,47,46,1,0,0,0,47,48,1,0,0,
28
+ 0,48,57,1,0,0,0,49,56,5,37,0,0,50,56,3,4,2,0,51,56,3,20,10,0,52,56,3,22,
29
+ 11,0,53,56,3,34,17,0,54,56,5,39,0,0,55,49,1,0,0,0,55,50,1,0,0,0,55,51,1,
30
+ 0,0,0,55,52,1,0,0,0,55,53,1,0,0,0,55,54,1,0,0,0,56,59,1,0,0,0,57,55,1,0,
31
+ 0,0,57,58,1,0,0,0,58,60,1,0,0,0,59,57,1,0,0,0,60,64,5,4,0,0,61,63,7,0,0,
32
+ 0,62,61,1,0,0,0,63,66,1,0,0,0,64,62,1,0,0,0,64,65,1,0,0,0,65,3,1,0,0,0,66,
33
+ 64,1,0,0,0,67,69,3,12,6,0,68,67,1,0,0,0,68,69,1,0,0,0,69,70,1,0,0,0,70,71,
34
+ 5,2,0,0,71,73,3,18,9,0,72,74,3,14,7,0,73,72,1,0,0,0,73,74,1,0,0,0,74,76,
35
+ 1,0,0,0,75,77,3,16,8,0,76,75,1,0,0,0,76,77,1,0,0,0,77,82,1,0,0,0,78,80,5,
36
+ 37,0,0,79,78,1,0,0,0,79,80,1,0,0,0,80,81,1,0,0,0,81,83,3,6,3,0,82,79,1,0,
37
+ 0,0,82,83,1,0,0,0,83,5,1,0,0,0,84,88,5,31,0,0,85,87,3,8,4,0,86,85,1,0,0,
38
+ 0,87,90,1,0,0,0,88,86,1,0,0,0,88,89,1,0,0,0,89,91,1,0,0,0,90,88,1,0,0,0,
39
+ 91,92,5,45,0,0,92,7,1,0,0,0,93,99,5,43,0,0,94,99,5,44,0,0,95,99,5,46,0,0,
40
+ 96,99,5,47,0,0,97,99,3,10,5,0,98,93,1,0,0,0,98,94,1,0,0,0,98,95,1,0,0,0,
41
+ 98,96,1,0,0,0,98,97,1,0,0,0,99,9,1,0,0,0,100,104,5,44,0,0,101,103,3,8,4,
42
+ 0,102,101,1,0,0,0,103,106,1,0,0,0,104,102,1,0,0,0,104,105,1,0,0,0,105,107,
43
+ 1,0,0,0,106,104,1,0,0,0,107,108,5,45,0,0,108,11,1,0,0,0,109,110,7,1,0,0,
44
+ 110,13,1,0,0,0,111,112,5,32,0,0,112,15,1,0,0,0,113,114,5,9,0,0,114,115,3,
45
+ 18,9,0,115,17,1,0,0,0,116,117,5,42,0,0,117,19,1,0,0,0,118,119,5,1,0,0,119,
46
+ 121,3,18,9,0,120,122,3,14,7,0,121,120,1,0,0,0,121,122,1,0,0,0,122,124,1,
47
+ 0,0,0,123,125,3,6,3,0,124,123,1,0,0,0,124,125,1,0,0,0,125,21,1,0,0,0,126,
48
+ 133,3,26,13,0,127,128,3,24,12,0,128,130,3,28,14,0,129,131,3,32,16,0,130,
49
+ 129,1,0,0,0,130,131,1,0,0,0,131,134,1,0,0,0,132,134,3,32,16,0,133,127,1,
50
+ 0,0,0,133,132,1,0,0,0,134,23,1,0,0,0,135,137,5,13,0,0,136,135,1,0,0,0,136,
51
+ 137,1,0,0,0,137,141,1,0,0,0,138,140,7,2,0,0,139,138,1,0,0,0,140,143,1,0,
52
+ 0,0,141,139,1,0,0,0,141,142,1,0,0,0,142,145,1,0,0,0,143,141,1,0,0,0,144,
53
+ 146,5,12,0,0,145,144,1,0,0,0,145,146,1,0,0,0,146,25,1,0,0,0,147,149,3,18,
54
+ 9,0,148,150,3,30,15,0,149,148,1,0,0,0,149,150,1,0,0,0,150,27,1,0,0,0,151,
55
+ 153,3,30,15,0,152,151,1,0,0,0,152,153,1,0,0,0,153,154,1,0,0,0,154,155,3,
56
+ 18,9,0,155,29,1,0,0,0,156,157,5,33,0,0,157,31,1,0,0,0,158,159,5,36,0,0,159,
57
+ 33,1,0,0,0,160,161,5,24,0,0,161,162,3,18,9,0,162,163,5,23,0,0,163,164,3,
58
+ 18,9,0,164,165,5,25,0,0,165,166,7,3,0,0,166,168,3,18,9,0,167,169,3,32,16,
59
+ 0,168,167,1,0,0,0,168,169,1,0,0,0,169,181,1,0,0,0,170,171,3,18,9,0,171,172,
60
+ 7,3,0,0,172,173,5,24,0,0,173,174,3,18,9,0,174,175,5,23,0,0,175,176,3,18,
61
+ 9,0,176,178,5,25,0,0,177,179,3,32,16,0,178,177,1,0,0,0,178,179,1,0,0,0,179,
62
+ 181,1,0,0,0,180,160,1,0,0,0,180,170,1,0,0,0,181,35,1,0,0,0,25,42,47,55,57,
63
+ 64,68,73,76,79,82,88,98,104,121,124,130,133,136,141,145,149,152,168,178,
64
+ 180];
139
65
 
140
66
 
141
67
  const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
@@ -146,44 +72,34 @@ const sharedContextCache = new antlr4.atn.PredictionContextCache();
146
72
 
147
73
  export default class PlantUMLParser extends antlr4.Parser {
148
74
 
149
- static grammarFileName = "PlantUML.g4";
150
- static literalNames = [ null, "'@startuml'", "'@enduml'", "'class'",
151
- "'interface'", "'abstract'", "'entity'", "'enum'",
152
- "'annotation'", "'{'", "'}'", "':'", "'('",
153
- "')'", "','", "'<<'", "'>>'", "'+'", "'-'",
154
- "'#'", "'~'", "'static'", "'classifier'", "'Sequence'",
155
- "'Set'", "'Bag'", "'OrderedSet'", "'SortedSet'",
156
- "'['", "']'", "'Map'", "'SortedMap'", "'Function'",
157
- "'<|--'", "'<|-'", "'<|---'", "'<|..'", "'^--'",
158
- "'--|>'", "'-|>'", "'---|>'", "'..|>'", "'--^'",
159
- "'--'", "'---'", "'-->'", "'->'", "'<--'", "'<-'",
160
- "'o--'", "'--o'", "'o-->'", "'<--o'", "'*--'",
161
- "'*-'", "'--*'", "'-*'", "'*-->'", "'*->'",
162
- "'<--*'", "'<-*'", "'..'", "'..>'", "'<..'",
163
- "'...'", "'...>'", "'<...'", "'>'", "'<'", null,
164
- null, null, "'null'", null, "'\\u222B'", "'\\u2211'" ];
165
- static symbolicNames = [ null, null, null, null, null, null, null, null,
166
- null, null, null, null, null, null, null, null,
167
- null, null, null, null, null, null, null, null,
168
- null, null, null, null, null, null, null, null,
169
- null, null, null, null, null, null, null, null,
170
- null, null, null, null, null, null, null, null,
171
- null, null, null, null, null, null, null, null,
172
- null, null, null, null, null, null, null, null,
173
- null, null, null, null, null, "FLOAT_LITERAL",
174
- "STRING1_LITERAL", "STRING2_LITERAL", "NULL_LITERAL",
175
- "MULTILINE_COMMENT", "INTEGRAL", "SIGMA", "NEWLINE",
176
- "INT", "ID", "WS" ];
177
- static ruleNames = [ "classDiagram", "cdelement", "classDefinition",
178
- "classElement", "enumDefinition", "attribute",
179
- "internalAttribute", "method", "internalMethod",
180
- "parameters", "stereotype", "visibility", "modifier",
181
- "type", "inheritance", "leftAncestorSymbol", "rightAncestorSymbol",
182
- "association", "associationSymbol", "aggregation",
183
- "aggregationSymbol", "composition", "compositionSymbol",
184
- "dependency", "dependencySymbol", "lineAnnotation",
185
- "direction", "identifier", "stringExpression",
186
- "integerLiteral" ];
75
+ static grammarFileName = "PlantUMLParser.g4";
76
+ static literalNames = [ null, "'enum'", "'class'", "'@startuml'", "'@enduml'",
77
+ "'interface'", "'abstract'", "'many'", "'one'",
78
+ "'extends'", "'static'", "'List'", "'>'", "'<'",
79
+ "'+'", "'-'", "'.'", "'..'", "'*'", "'o'", "'^'",
80
+ "'|>'", "'<|'", "','", "'('", "')'", "'['",
81
+ "']'", "'#'", "'='", "'null'", null, null, null,
82
+ null, null, null, null, null, null, null, null,
83
+ null, null, null, "'}'", null, null, "'>>'",
84
+ null, "'\"'" ];
85
+ static symbolicNames = [ null, "ENUM", "CLASS", "STARTUML", "ENDUML",
86
+ "INTERFACE", "ABSTRACT", "MANY", "ONE", "EXTENDS",
87
+ "STATIC", "LIST", "GT", "LT", "PLUS", "DASH",
88
+ "DOT", "DOUBLE_DOT", "STAR", "O", "CARET",
89
+ "PIPE_GT", "LT_PIPE", "COMMA", "LPAREN", "RPAREN",
90
+ "LBRACK", "RBRACK", "AMP", "EQUALS", "NULL_LITERAL",
91
+ "CLASS_BODY_START", "STEREOTYPE_TEXT", "ASSOC_DETAIL",
92
+ "NOTE", "DIAMOND", "AFTER_COLON_TEXT", "NEWLINE",
93
+ "WS", "COMMENT", "FLOAT_LITERAL", "NUMBER",
94
+ "IDENT", "BODY_INLINE_BRACES", "BODY_OPEN",
95
+ "BODY_CLOSE", "BODY_CONTENT", "BODY_NL", "ENUM_FREE_TEXT_CLOSE",
96
+ "ENUM_FREE_TEXT_CONTENT", "ASSOC_DETAIL_TEXT_CLOSE",
97
+ "ASSOC_DETAIL_TEXT_CONTENT" ];
98
+ static ruleNames = [ "entry_", "uml", "class_dclr", "class_body", "body_content",
99
+ "nested_body", "class_type", "stereotype", "extension_dclr",
100
+ "ident", "enum_dclr", "association_dclr", "relation",
101
+ "association_left", "association_right", "association_detail",
102
+ "association_name", "associative_class_dclr" ];
187
103
 
188
104
  constructor(input) {
189
105
  super(input);
@@ -195,27 +111,14 @@ export default class PlantUMLParser extends antlr4.Parser {
195
111
 
196
112
 
197
113
 
198
- classDiagram() {
199
- let localctx = new ClassDiagramContext(this, this._ctx, this.state);
200
- this.enterRule(localctx, 0, PlantUMLParser.RULE_classDiagram);
201
- var _la = 0;
114
+ entry_() {
115
+ let localctx = new Entry_Context(this, this._ctx, this.state);
116
+ this.enterRule(localctx, 0, PlantUMLParser.RULE_entry_);
202
117
  try {
203
118
  this.enterOuterAlt(localctx, 1);
204
- this.state = 60;
205
- this.match(PlantUMLParser.T__0);
206
- this.state = 64;
207
- this._errHandler.sync(this);
208
- _la = this._input.LA(1);
209
- while((((_la) & ~0x1f) === 0 && ((1 << _la) & 504) !== 0) || _la===78) {
210
- this.state = 61;
211
- this.cdelement();
212
- this.state = 66;
213
- this._errHandler.sync(this);
214
- _la = this._input.LA(1);
215
- }
216
- this.state = 67;
217
- this.match(PlantUMLParser.T__1);
218
- this.state = 68;
119
+ this.state = 36;
120
+ this.uml();
121
+ this.state = 37;
219
122
  this.match(PlantUMLParser.EOF);
220
123
  } catch (re) {
221
124
  if(re instanceof antlr4.error.RecognitionException) {
@@ -233,210 +136,165 @@ export default class PlantUMLParser extends antlr4.Parser {
233
136
 
234
137
 
235
138
 
236
- cdelement() {
237
- let localctx = new CdelementContext(this, this._ctx, this.state);
238
- this.enterRule(localctx, 2, PlantUMLParser.RULE_cdelement);
139
+ uml() {
140
+ let localctx = new UmlContext(this, this._ctx, this.state);
141
+ this.enterRule(localctx, 2, PlantUMLParser.RULE_uml);
239
142
  var _la = 0;
240
143
  try {
241
- this.state = 128;
144
+ this.enterOuterAlt(localctx, 1);
145
+ this.state = 42;
242
146
  this._errHandler.sync(this);
243
- var la_ = this._interp.adaptivePredict(this._input,13,this._ctx);
244
- switch(la_) {
245
- case 1:
246
- this.enterOuterAlt(localctx, 1);
247
- this.state = 70;
248
- this.match(PlantUMLParser.T__2);
249
- this.state = 71;
250
- this.identifier();
251
- this.state = 73;
252
- this._errHandler.sync(this);
147
+ _la = this._input.LA(1);
148
+ while(_la===37 || _la===39) {
149
+ this.state = 39;
253
150
  _la = this._input.LA(1);
254
- if(_la===15) {
255
- this.state = 72;
256
- this.stereotype();
151
+ if(!(_la===37 || _la===39)) {
152
+ this._errHandler.recoverInline(this);
257
153
  }
258
-
259
- this.state = 76;
260
- this._errHandler.sync(this);
261
- _la = this._input.LA(1);
262
- if(_la===9) {
263
- this.state = 75;
264
- this.classDefinition();
154
+ else {
155
+ this._errHandler.reportMatch(this);
156
+ this.consume();
265
157
  }
266
-
267
- break;
268
-
269
- case 2:
270
- this.enterOuterAlt(localctx, 2);
271
- this.state = 78;
272
- this.match(PlantUMLParser.T__3);
273
- this.state = 79;
274
- this.identifier();
275
- this.state = 81;
158
+ this.state = 44;
276
159
  this._errHandler.sync(this);
277
160
  _la = this._input.LA(1);
278
- if(_la===15) {
279
- this.state = 80;
280
- this.stereotype();
281
- }
161
+ }
162
+ this.state = 45;
163
+ this.match(PlantUMLParser.STARTUML);
164
+ this.state = 47;
165
+ this._errHandler.sync(this);
166
+ var la_ = this._interp.adaptivePredict(this._input,1,this._ctx);
167
+ if(la_===1) {
168
+ this.state = 46;
169
+ this.match(PlantUMLParser.IDENT);
282
170
 
283
- this.state = 84;
171
+ }
172
+ this.state = 57;
173
+ this._errHandler.sync(this);
174
+ _la = this._input.LA(1);
175
+ while((((_la) & ~0x1f) === 0 && ((1 << _la) & 16777318) !== 0) || ((((_la - 37)) & ~0x1f) === 0 && ((1 << (_la - 37)) & 37) !== 0)) {
176
+ this.state = 55;
284
177
  this._errHandler.sync(this);
285
- _la = this._input.LA(1);
286
- if(_la===9) {
287
- this.state = 83;
288
- this.classDefinition();
289
- }
290
-
291
- break;
178
+ var la_ = this._interp.adaptivePredict(this._input,2,this._ctx);
179
+ switch(la_) {
180
+ case 1:
181
+ this.state = 49;
182
+ this.match(PlantUMLParser.NEWLINE);
183
+ break;
184
+
185
+ case 2:
186
+ this.state = 50;
187
+ this.class_dclr();
188
+ break;
189
+
190
+ case 3:
191
+ this.state = 51;
192
+ this.enum_dclr();
193
+ break;
194
+
195
+ case 4:
196
+ this.state = 52;
197
+ this.association_dclr();
198
+ break;
199
+
200
+ case 5:
201
+ this.state = 53;
202
+ this.associative_class_dclr();
203
+ break;
204
+
205
+ case 6:
206
+ this.state = 54;
207
+ this.match(PlantUMLParser.COMMENT);
208
+ break;
292
209
 
293
- case 3:
294
- this.enterOuterAlt(localctx, 3);
295
- this.state = 86;
296
- this.match(PlantUMLParser.T__4);
297
- this.state = 87;
298
- this.match(PlantUMLParser.T__2);
299
- this.state = 88;
300
- this.identifier();
301
- this.state = 90;
302
- this._errHandler.sync(this);
303
- _la = this._input.LA(1);
304
- if(_la===15) {
305
- this.state = 89;
306
- this.stereotype();
307
210
  }
308
-
309
- this.state = 93;
211
+ this.state = 59;
310
212
  this._errHandler.sync(this);
311
213
  _la = this._input.LA(1);
312
- if(_la===9) {
313
- this.state = 92;
314
- this.classDefinition();
315
- }
316
-
317
- break;
318
-
319
- case 4:
320
- this.enterOuterAlt(localctx, 4);
321
- this.state = 95;
322
- this.match(PlantUMLParser.T__4);
323
- this.state = 96;
324
- this.identifier();
325
- this.state = 98;
326
- this._errHandler.sync(this);
214
+ }
215
+ this.state = 60;
216
+ this.match(PlantUMLParser.ENDUML);
217
+ this.state = 64;
218
+ this._errHandler.sync(this);
219
+ _la = this._input.LA(1);
220
+ while(_la===37 || _la===39) {
221
+ this.state = 61;
327
222
  _la = this._input.LA(1);
328
- if(_la===15) {
329
- this.state = 97;
330
- this.stereotype();
223
+ if(!(_la===37 || _la===39)) {
224
+ this._errHandler.recoverInline(this);
331
225
  }
332
-
333
- this.state = 101;
226
+ else {
227
+ this._errHandler.reportMatch(this);
228
+ this.consume();
229
+ }
230
+ this.state = 66;
334
231
  this._errHandler.sync(this);
335
232
  _la = this._input.LA(1);
336
- if(_la===9) {
337
- this.state = 100;
338
- this.classDefinition();
339
- }
233
+ }
234
+ } catch (re) {
235
+ if(re instanceof antlr4.error.RecognitionException) {
236
+ localctx.exception = re;
237
+ this._errHandler.reportError(this, re);
238
+ this._errHandler.recover(this, re);
239
+ } else {
240
+ throw re;
241
+ }
242
+ } finally {
243
+ this.exitRule();
244
+ }
245
+ return localctx;
246
+ }
340
247
 
341
- break;
342
248
 
343
- case 5:
344
- this.enterOuterAlt(localctx, 5);
345
- this.state = 103;
346
- this.match(PlantUMLParser.T__5);
347
- this.state = 104;
348
- this.identifier();
349
- this.state = 106;
350
- this._errHandler.sync(this);
351
- _la = this._input.LA(1);
352
- if(_la===15) {
353
- this.state = 105;
354
- this.stereotype();
355
- }
356
249
 
357
- this.state = 109;
358
- this._errHandler.sync(this);
359
- _la = this._input.LA(1);
360
- if(_la===9) {
361
- this.state = 108;
362
- this.classDefinition();
363
- }
250
+ class_dclr() {
251
+ let localctx = new Class_dclrContext(this, this._ctx, this.state);
252
+ this.enterRule(localctx, 4, PlantUMLParser.RULE_class_dclr);
253
+ var _la = 0;
254
+ try {
255
+ this.enterOuterAlt(localctx, 1);
256
+ this.state = 68;
257
+ this._errHandler.sync(this);
258
+ _la = this._input.LA(1);
259
+ if(_la===5 || _la===6) {
260
+ this.state = 67;
261
+ this.class_type();
262
+ }
364
263
 
365
- break;
264
+ this.state = 70;
265
+ this.match(PlantUMLParser.CLASS);
266
+ this.state = 71;
267
+ this.ident();
268
+ this.state = 73;
269
+ this._errHandler.sync(this);
270
+ _la = this._input.LA(1);
271
+ if(_la===32) {
272
+ this.state = 72;
273
+ this.stereotype();
274
+ }
366
275
 
367
- case 6:
368
- this.enterOuterAlt(localctx, 6);
369
- this.state = 111;
370
- this.match(PlantUMLParser.T__6);
371
- this.state = 112;
372
- this.identifier();
373
- this.state = 114;
374
- this._errHandler.sync(this);
375
- _la = this._input.LA(1);
376
- if(_la===15) {
377
- this.state = 113;
378
- this.stereotype();
379
- }
276
+ this.state = 76;
277
+ this._errHandler.sync(this);
278
+ _la = this._input.LA(1);
279
+ if(_la===9) {
280
+ this.state = 75;
281
+ this.extension_dclr();
282
+ }
380
283
 
381
- this.state = 117;
284
+ this.state = 82;
285
+ this._errHandler.sync(this);
286
+ var la_ = this._interp.adaptivePredict(this._input,9,this._ctx);
287
+ if(la_===1) {
288
+ this.state = 79;
382
289
  this._errHandler.sync(this);
383
290
  _la = this._input.LA(1);
384
- if(_la===9) {
385
- this.state = 116;
386
- this.enumDefinition();
291
+ if(_la===37) {
292
+ this.state = 78;
293
+ this.match(PlantUMLParser.NEWLINE);
387
294
  }
388
295
 
389
- break;
390
-
391
- case 7:
392
- this.enterOuterAlt(localctx, 7);
393
- this.state = 119;
394
- this.match(PlantUMLParser.T__7);
395
- this.state = 120;
396
- this.identifier();
397
- break;
398
-
399
- case 8:
400
- this.enterOuterAlt(localctx, 8);
401
- this.state = 121;
402
- this.inheritance();
403
- break;
404
-
405
- case 9:
406
- this.enterOuterAlt(localctx, 9);
407
- this.state = 122;
408
- this.association();
409
- break;
410
-
411
- case 10:
412
- this.enterOuterAlt(localctx, 10);
413
- this.state = 123;
414
- this.aggregation();
415
- break;
416
-
417
- case 11:
418
- this.enterOuterAlt(localctx, 11);
419
- this.state = 124;
420
- this.attribute();
421
- break;
422
-
423
- case 12:
424
- this.enterOuterAlt(localctx, 12);
425
- this.state = 125;
426
- this.composition();
427
- break;
428
-
429
- case 13:
430
- this.enterOuterAlt(localctx, 13);
431
- this.state = 126;
432
- this.dependency();
433
- break;
434
-
435
- case 14:
436
- this.enterOuterAlt(localctx, 14);
437
- this.state = 127;
438
- this.method();
439
- break;
296
+ this.state = 81;
297
+ this.class_body();
440
298
 
441
299
  }
442
300
  } catch (re) {
@@ -455,26 +313,26 @@ export default class PlantUMLParser extends antlr4.Parser {
455
313
 
456
314
 
457
315
 
458
- classDefinition() {
459
- let localctx = new ClassDefinitionContext(this, this._ctx, this.state);
460
- this.enterRule(localctx, 4, PlantUMLParser.RULE_classDefinition);
316
+ class_body() {
317
+ let localctx = new Class_bodyContext(this, this._ctx, this.state);
318
+ this.enterRule(localctx, 6, PlantUMLParser.RULE_class_body);
461
319
  var _la = 0;
462
320
  try {
463
321
  this.enterOuterAlt(localctx, 1);
464
- this.state = 130;
465
- this.match(PlantUMLParser.T__8);
466
- this.state = 134;
322
+ this.state = 84;
323
+ this.match(PlantUMLParser.CLASS_BODY_START);
324
+ this.state = 88;
467
325
  this._errHandler.sync(this);
468
326
  _la = this._input.LA(1);
469
- while(((((_la - 9)) & ~0x1f) === 0 && ((1 << (_la - 9)) & 15191809) !== 0) || _la===78) {
470
- this.state = 131;
471
- this.classElement();
472
- this.state = 136;
327
+ while(((((_la - 43)) & ~0x1f) === 0 && ((1 << (_la - 43)) & 27) !== 0)) {
328
+ this.state = 85;
329
+ this.body_content();
330
+ this.state = 90;
473
331
  this._errHandler.sync(this);
474
332
  _la = this._input.LA(1);
475
333
  }
476
- this.state = 137;
477
- this.match(PlantUMLParser.T__9);
334
+ this.state = 91;
335
+ this.match(PlantUMLParser.BODY_CLOSE);
478
336
  } catch (re) {
479
337
  if(re instanceof antlr4.error.RecognitionException) {
480
338
  localctx.exception = re;
@@ -491,24 +349,42 @@ export default class PlantUMLParser extends antlr4.Parser {
491
349
 
492
350
 
493
351
 
494
- classElement() {
495
- let localctx = new ClassElementContext(this, this._ctx, this.state);
496
- this.enterRule(localctx, 6, PlantUMLParser.RULE_classElement);
352
+ body_content() {
353
+ let localctx = new Body_contentContext(this, this._ctx, this.state);
354
+ this.enterRule(localctx, 8, PlantUMLParser.RULE_body_content);
497
355
  try {
498
- this.state = 141;
356
+ this.state = 98;
499
357
  this._errHandler.sync(this);
500
- var la_ = this._interp.adaptivePredict(this._input,15,this._ctx);
358
+ var la_ = this._interp.adaptivePredict(this._input,11,this._ctx);
501
359
  switch(la_) {
502
360
  case 1:
503
361
  this.enterOuterAlt(localctx, 1);
504
- this.state = 139;
505
- this.internalMethod();
362
+ this.state = 93;
363
+ this.match(PlantUMLParser.BODY_INLINE_BRACES);
506
364
  break;
507
365
 
508
366
  case 2:
509
367
  this.enterOuterAlt(localctx, 2);
510
- this.state = 140;
511
- this.internalAttribute();
368
+ this.state = 94;
369
+ this.match(PlantUMLParser.BODY_OPEN);
370
+ break;
371
+
372
+ case 3:
373
+ this.enterOuterAlt(localctx, 3);
374
+ this.state = 95;
375
+ this.match(PlantUMLParser.BODY_CONTENT);
376
+ break;
377
+
378
+ case 4:
379
+ this.enterOuterAlt(localctx, 4);
380
+ this.state = 96;
381
+ this.match(PlantUMLParser.BODY_NL);
382
+ break;
383
+
384
+ case 5:
385
+ this.enterOuterAlt(localctx, 5);
386
+ this.state = 97;
387
+ this.nested_body();
512
388
  break;
513
389
 
514
390
  }
@@ -528,26 +404,26 @@ export default class PlantUMLParser extends antlr4.Parser {
528
404
 
529
405
 
530
406
 
531
- enumDefinition() {
532
- let localctx = new EnumDefinitionContext(this, this._ctx, this.state);
533
- this.enterRule(localctx, 8, PlantUMLParser.RULE_enumDefinition);
407
+ nested_body() {
408
+ let localctx = new Nested_bodyContext(this, this._ctx, this.state);
409
+ this.enterRule(localctx, 10, PlantUMLParser.RULE_nested_body);
534
410
  var _la = 0;
535
411
  try {
536
412
  this.enterOuterAlt(localctx, 1);
537
- this.state = 143;
538
- this.match(PlantUMLParser.T__8);
539
- this.state = 145;
413
+ this.state = 100;
414
+ this.match(PlantUMLParser.BODY_OPEN);
415
+ this.state = 104;
540
416
  this._errHandler.sync(this);
541
417
  _la = this._input.LA(1);
542
- do {
543
- this.state = 144;
544
- this.identifier();
545
- this.state = 147;
418
+ while(((((_la - 43)) & ~0x1f) === 0 && ((1 << (_la - 43)) & 27) !== 0)) {
419
+ this.state = 101;
420
+ this.body_content();
421
+ this.state = 106;
546
422
  this._errHandler.sync(this);
547
423
  _la = this._input.LA(1);
548
- } while(_la===78);
549
- this.state = 149;
550
- this.match(PlantUMLParser.T__9);
424
+ }
425
+ this.state = 107;
426
+ this.match(PlantUMLParser.BODY_CLOSE);
551
427
  } catch (re) {
552
428
  if(re instanceof antlr4.error.RecognitionException) {
553
429
  localctx.exception = re;
@@ -564,28 +440,21 @@ export default class PlantUMLParser extends antlr4.Parser {
564
440
 
565
441
 
566
442
 
567
- attribute() {
568
- let localctx = new AttributeContext(this, this._ctx, this.state);
569
- this.enterRule(localctx, 10, PlantUMLParser.RULE_attribute);
443
+ class_type() {
444
+ let localctx = new Class_typeContext(this, this._ctx, this.state);
445
+ this.enterRule(localctx, 12, PlantUMLParser.RULE_class_type);
570
446
  var _la = 0;
571
447
  try {
572
448
  this.enterOuterAlt(localctx, 1);
573
- this.state = 151;
574
- this.identifier();
575
- this.state = 152;
576
- this.match(PlantUMLParser.T__10);
577
- this.state = 153;
578
- this.type();
579
- this.state = 155;
580
- this._errHandler.sync(this);
449
+ this.state = 109;
581
450
  _la = this._input.LA(1);
582
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0)) {
583
- this.state = 154;
584
- this.visibility();
451
+ if(!(_la===5 || _la===6)) {
452
+ this._errHandler.recoverInline(this);
453
+ }
454
+ else {
455
+ this._errHandler.reportMatch(this);
456
+ this.consume();
585
457
  }
586
-
587
- this.state = 157;
588
- this.identifier();
589
458
  } catch (re) {
590
459
  if(re instanceof antlr4.error.RecognitionException) {
591
460
  localctx.exception = re;
@@ -602,80 +471,61 @@ export default class PlantUMLParser extends antlr4.Parser {
602
471
 
603
472
 
604
473
 
605
- internalAttribute() {
606
- let localctx = new InternalAttributeContext(this, this._ctx, this.state);
607
- this.enterRule(localctx, 12, PlantUMLParser.RULE_internalAttribute);
608
- var _la = 0;
474
+ stereotype() {
475
+ let localctx = new StereotypeContext(this, this._ctx, this.state);
476
+ this.enterRule(localctx, 14, PlantUMLParser.RULE_stereotype);
609
477
  try {
610
- this.state = 185;
611
- this._errHandler.sync(this);
612
- var la_ = this._interp.adaptivePredict(this._input,23,this._ctx);
613
- switch(la_) {
614
- case 1:
615
- this.enterOuterAlt(localctx, 1);
616
- this.state = 163;
617
- this._errHandler.sync(this);
618
- _la = this._input.LA(1);
619
- if(_la===9) {
620
- this.state = 159;
621
- this.match(PlantUMLParser.T__8);
622
- this.state = 160;
623
- this.modifier();
624
- this.state = 161;
625
- this.match(PlantUMLParser.T__9);
626
- }
627
-
628
- this.state = 166;
629
- this._errHandler.sync(this);
630
- var la_ = this._interp.adaptivePredict(this._input,19,this._ctx);
631
- if(la_===1) {
632
- this.state = 165;
633
- this.type();
478
+ this.enterOuterAlt(localctx, 1);
479
+ this.state = 111;
480
+ this.match(PlantUMLParser.STEREOTYPE_TEXT);
481
+ } catch (re) {
482
+ if(re instanceof antlr4.error.RecognitionException) {
483
+ localctx.exception = re;
484
+ this._errHandler.reportError(this, re);
485
+ this._errHandler.recover(this, re);
486
+ } else {
487
+ throw re;
488
+ }
489
+ } finally {
490
+ this.exitRule();
491
+ }
492
+ return localctx;
493
+ }
634
494
 
635
- }
636
- this.state = 169;
637
- this._errHandler.sync(this);
638
- _la = this._input.LA(1);
639
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0)) {
640
- this.state = 168;
641
- this.visibility();
642
- }
643
495
 
644
- this.state = 171;
645
- this.identifier();
646
- break;
647
496
 
648
- case 2:
649
- this.enterOuterAlt(localctx, 2);
650
- this.state = 176;
651
- this._errHandler.sync(this);
652
- _la = this._input.LA(1);
653
- if(_la===9) {
654
- this.state = 172;
655
- this.match(PlantUMLParser.T__8);
656
- this.state = 173;
657
- this.modifier();
658
- this.state = 174;
659
- this.match(PlantUMLParser.T__9);
660
- }
497
+ extension_dclr() {
498
+ let localctx = new Extension_dclrContext(this, this._ctx, this.state);
499
+ this.enterRule(localctx, 16, PlantUMLParser.RULE_extension_dclr);
500
+ try {
501
+ this.enterOuterAlt(localctx, 1);
502
+ this.state = 113;
503
+ this.match(PlantUMLParser.EXTENDS);
504
+ this.state = 114;
505
+ this.ident();
506
+ } catch (re) {
507
+ if(re instanceof antlr4.error.RecognitionException) {
508
+ localctx.exception = re;
509
+ this._errHandler.reportError(this, re);
510
+ this._errHandler.recover(this, re);
511
+ } else {
512
+ throw re;
513
+ }
514
+ } finally {
515
+ this.exitRule();
516
+ }
517
+ return localctx;
518
+ }
661
519
 
662
- this.state = 179;
663
- this._errHandler.sync(this);
664
- _la = this._input.LA(1);
665
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0)) {
666
- this.state = 178;
667
- this.visibility();
668
- }
669
520
 
670
- this.state = 181;
671
- this.identifier();
672
- this.state = 182;
673
- this.match(PlantUMLParser.T__10);
674
- this.state = 183;
675
- this.type();
676
- break;
677
521
 
678
- }
522
+ ident() {
523
+ let localctx = new IdentContext(this, this._ctx, this.state);
524
+ this.enterRule(localctx, 18, PlantUMLParser.RULE_ident);
525
+ try {
526
+ this.enterOuterAlt(localctx, 1);
527
+ this.state = 116;
528
+ this.match(PlantUMLParser.IDENT);
679
529
  } catch (re) {
680
530
  if(re instanceof antlr4.error.RecognitionException) {
681
531
  localctx.exception = re;
@@ -692,38 +542,32 @@ export default class PlantUMLParser extends antlr4.Parser {
692
542
 
693
543
 
694
544
 
695
- method() {
696
- let localctx = new MethodContext(this, this._ctx, this.state);
697
- this.enterRule(localctx, 14, PlantUMLParser.RULE_method);
545
+ enum_dclr() {
546
+ let localctx = new Enum_dclrContext(this, this._ctx, this.state);
547
+ this.enterRule(localctx, 20, PlantUMLParser.RULE_enum_dclr);
698
548
  var _la = 0;
699
549
  try {
700
550
  this.enterOuterAlt(localctx, 1);
701
- this.state = 187;
702
- this.identifier();
703
- this.state = 188;
704
- this.match(PlantUMLParser.T__10);
705
- this.state = 190;
551
+ this.state = 118;
552
+ this.match(PlantUMLParser.ENUM);
553
+ this.state = 119;
554
+ this.ident();
555
+ this.state = 121;
706
556
  this._errHandler.sync(this);
707
557
  _la = this._input.LA(1);
708
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0)) {
709
- this.state = 189;
710
- this.visibility();
558
+ if(_la===32) {
559
+ this.state = 120;
560
+ this.stereotype();
711
561
  }
712
562
 
713
- this.state = 192;
714
- this.identifier();
715
- this.state = 193;
716
- this.match(PlantUMLParser.T__11);
717
- this.state = 195;
563
+ this.state = 124;
718
564
  this._errHandler.sync(this);
719
565
  _la = this._input.LA(1);
720
- if(_la===78) {
721
- this.state = 194;
722
- this.parameters();
566
+ if(_la===31) {
567
+ this.state = 123;
568
+ this.class_body();
723
569
  }
724
570
 
725
- this.state = 197;
726
- this.match(PlantUMLParser.T__12);
727
571
  } catch (re) {
728
572
  if(re instanceof antlr4.error.RecognitionException) {
729
573
  localctx.exception = re;
@@ -740,199 +584,47 @@ export default class PlantUMLParser extends antlr4.Parser {
740
584
 
741
585
 
742
586
 
743
- internalMethod() {
744
- let localctx = new InternalMethodContext(this, this._ctx, this.state);
745
- this.enterRule(localctx, 16, PlantUMLParser.RULE_internalMethod);
587
+ association_dclr() {
588
+ let localctx = new Association_dclrContext(this, this._ctx, this.state);
589
+ this.enterRule(localctx, 22, PlantUMLParser.RULE_association_dclr);
746
590
  var _la = 0;
747
591
  try {
748
- this.state = 236;
592
+ this.enterOuterAlt(localctx, 1);
593
+ this.state = 126;
594
+ this.association_left();
595
+ this.state = 133;
749
596
  this._errHandler.sync(this);
750
- var la_ = this._interp.adaptivePredict(this._input,33,this._ctx);
751
- switch(la_) {
752
- case 1:
753
- this.enterOuterAlt(localctx, 1);
754
- this.state = 203;
755
- this._errHandler.sync(this);
756
- _la = this._input.LA(1);
757
- if(_la===9) {
758
- this.state = 199;
759
- this.match(PlantUMLParser.T__8);
760
- this.state = 200;
761
- this.modifier();
762
- this.state = 201;
763
- this.match(PlantUMLParser.T__9);
764
- }
765
-
766
- this.state = 206;
767
- this._errHandler.sync(this);
768
- var la_ = this._interp.adaptivePredict(this._input,27,this._ctx);
769
- if(la_===1) {
770
- this.state = 205;
771
- this.type();
772
-
773
- }
774
- this.state = 209;
775
- this._errHandler.sync(this);
776
- _la = this._input.LA(1);
777
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0)) {
778
- this.state = 208;
779
- this.visibility();
780
- }
781
-
782
- this.state = 211;
783
- this.identifier();
784
- this.state = 212;
785
- this.match(PlantUMLParser.T__11);
786
- this.state = 214;
597
+ switch(this._input.LA(1)) {
598
+ case 12:
599
+ case 13:
600
+ case 15:
601
+ case 17:
602
+ case 18:
603
+ case 19:
604
+ case 20:
605
+ case 21:
606
+ case 22:
607
+ case 33:
608
+ case 42:
609
+ this.state = 127;
610
+ this.relation();
611
+ this.state = 128;
612
+ this.association_right();
613
+ this.state = 130;
787
614
  this._errHandler.sync(this);
788
615
  _la = this._input.LA(1);
789
- if(_la===78) {
790
- this.state = 213;
791
- this.parameters();
616
+ if(_la===36) {
617
+ this.state = 129;
618
+ this.association_name();
792
619
  }
793
620
 
794
- this.state = 216;
795
- this.match(PlantUMLParser.T__12);
796
621
  break;
797
-
798
- case 2:
799
- this.enterOuterAlt(localctx, 2);
800
- this.state = 222;
801
- this._errHandler.sync(this);
802
- _la = this._input.LA(1);
803
- if(_la===9) {
804
- this.state = 218;
805
- this.match(PlantUMLParser.T__8);
806
- this.state = 219;
807
- this.modifier();
808
- this.state = 220;
809
- this.match(PlantUMLParser.T__9);
810
- }
811
-
812
- this.state = 225;
813
- this._errHandler.sync(this);
814
- _la = this._input.LA(1);
815
- if((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0)) {
816
- this.state = 224;
817
- this.visibility();
818
- }
819
-
820
- this.state = 227;
821
- this.identifier();
822
- this.state = 228;
823
- this.match(PlantUMLParser.T__11);
824
- this.state = 230;
825
- this._errHandler.sync(this);
826
- _la = this._input.LA(1);
827
- if(_la===78) {
828
- this.state = 229;
829
- this.parameters();
830
- }
831
-
832
- this.state = 232;
833
- this.match(PlantUMLParser.T__12);
834
- this.state = 233;
835
- this.match(PlantUMLParser.T__10);
836
- this.state = 234;
837
- this.type();
622
+ case 36:
623
+ this.state = 132;
624
+ this.association_name();
838
625
  break;
839
-
840
- }
841
- } catch (re) {
842
- if(re instanceof antlr4.error.RecognitionException) {
843
- localctx.exception = re;
844
- this._errHandler.reportError(this, re);
845
- this._errHandler.recover(this, re);
846
- } else {
847
- throw re;
848
- }
849
- } finally {
850
- this.exitRule();
851
- }
852
- return localctx;
853
- }
854
-
855
-
856
-
857
- parameters() {
858
- let localctx = new ParametersContext(this, this._ctx, this.state);
859
- this.enterRule(localctx, 18, PlantUMLParser.RULE_parameters);
860
- try {
861
- this.enterOuterAlt(localctx, 1);
862
- this.state = 243;
863
- this._errHandler.sync(this);
864
- var _alt = this._interp.adaptivePredict(this._input,34,this._ctx)
865
- while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
866
- if(_alt===1) {
867
- this.state = 238;
868
- this.identifier();
869
- this.state = 239;
870
- this.match(PlantUMLParser.T__13);
871
- }
872
- this.state = 245;
873
- this._errHandler.sync(this);
874
- _alt = this._interp.adaptivePredict(this._input,34,this._ctx);
875
- }
876
-
877
- this.state = 246;
878
- this.identifier();
879
- } catch (re) {
880
- if(re instanceof antlr4.error.RecognitionException) {
881
- localctx.exception = re;
882
- this._errHandler.reportError(this, re);
883
- this._errHandler.recover(this, re);
884
- } else {
885
- throw re;
886
- }
887
- } finally {
888
- this.exitRule();
889
- }
890
- return localctx;
891
- }
892
-
893
-
894
-
895
- stereotype() {
896
- let localctx = new StereotypeContext(this, this._ctx, this.state);
897
- this.enterRule(localctx, 20, PlantUMLParser.RULE_stereotype);
898
- try {
899
- this.enterOuterAlt(localctx, 1);
900
- this.state = 248;
901
- this.match(PlantUMLParser.T__14);
902
- this.state = 249;
903
- this.identifier();
904
- this.state = 250;
905
- this.match(PlantUMLParser.T__15);
906
- } catch (re) {
907
- if(re instanceof antlr4.error.RecognitionException) {
908
- localctx.exception = re;
909
- this._errHandler.reportError(this, re);
910
- this._errHandler.recover(this, re);
911
- } else {
912
- throw re;
913
- }
914
- } finally {
915
- this.exitRule();
916
- }
917
- return localctx;
918
- }
919
-
920
-
921
-
922
- visibility() {
923
- let localctx = new VisibilityContext(this, this._ctx, this.state);
924
- this.enterRule(localctx, 22, PlantUMLParser.RULE_visibility);
925
- var _la = 0;
926
- try {
927
- this.enterOuterAlt(localctx, 1);
928
- this.state = 252;
929
- _la = this._input.LA(1);
930
- if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 1966080) !== 0))) {
931
- this._errHandler.recoverInline(this);
932
- }
933
- else {
934
- this._errHandler.reportMatch(this);
935
- this.consume();
626
+ default:
627
+ throw new antlr4.error.NoViableAltException(this);
936
628
  }
937
629
  } catch (re) {
938
630
  if(re instanceof antlr4.error.RecognitionException) {
@@ -950,226 +642,45 @@ export default class PlantUMLParser extends antlr4.Parser {
950
642
 
951
643
 
952
644
 
953
- modifier() {
954
- let localctx = new ModifierContext(this, this._ctx, this.state);
955
- this.enterRule(localctx, 24, PlantUMLParser.RULE_modifier);
645
+ relation() {
646
+ let localctx = new RelationContext(this, this._ctx, this.state);
647
+ this.enterRule(localctx, 24, PlantUMLParser.RULE_relation);
956
648
  var _la = 0;
957
649
  try {
958
650
  this.enterOuterAlt(localctx, 1);
959
- this.state = 254;
651
+ this.state = 136;
652
+ this._errHandler.sync(this);
960
653
  _la = this._input.LA(1);
961
- if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 6291488) !== 0))) {
962
- this._errHandler.recoverInline(this);
963
- }
964
- else {
965
- this._errHandler.reportMatch(this);
966
- this.consume();
654
+ if(_la===13) {
655
+ this.state = 135;
656
+ this.match(PlantUMLParser.LT);
967
657
  }
968
- } catch (re) {
969
- if(re instanceof antlr4.error.RecognitionException) {
970
- localctx.exception = re;
971
- this._errHandler.reportError(this, re);
972
- this._errHandler.recover(this, re);
973
- } else {
974
- throw re;
975
- }
976
- } finally {
977
- this.exitRule();
978
- }
979
- return localctx;
980
- }
981
658
 
982
-
983
-
984
- type() {
985
- let localctx = new TypeContext(this, this._ctx, this.state);
986
- this.enterRule(localctx, 26, PlantUMLParser.RULE_type);
987
- var _la = 0;
988
- try {
989
- this.state = 310;
659
+ this.state = 141;
990
660
  this._errHandler.sync(this);
991
- var la_ = this._interp.adaptivePredict(this._input,36,this._ctx);
992
- switch(la_) {
993
- case 1:
994
- this.enterOuterAlt(localctx, 1);
995
- this.state = 256;
996
- this.match(PlantUMLParser.T__22);
997
- this.state = 257;
998
- this.match(PlantUMLParser.T__11);
999
- this.state = 258;
1000
- this.type();
1001
- this.state = 259;
1002
- this.match(PlantUMLParser.T__12);
1003
- break;
1004
-
1005
- case 2:
1006
- this.enterOuterAlt(localctx, 2);
1007
- this.state = 261;
1008
- this.match(PlantUMLParser.T__23);
1009
- this.state = 262;
1010
- this.match(PlantUMLParser.T__11);
1011
- this.state = 263;
1012
- this.type();
1013
- this.state = 264;
1014
- this.match(PlantUMLParser.T__12);
1015
- break;
1016
-
1017
- case 3:
1018
- this.enterOuterAlt(localctx, 3);
1019
- this.state = 266;
1020
- this.match(PlantUMLParser.T__24);
1021
- this.state = 267;
1022
- this.match(PlantUMLParser.T__11);
1023
- this.state = 268;
1024
- this.type();
1025
- this.state = 269;
1026
- this.match(PlantUMLParser.T__12);
1027
- break;
1028
-
1029
- case 4:
1030
- this.enterOuterAlt(localctx, 4);
1031
- this.state = 271;
1032
- this.match(PlantUMLParser.T__25);
1033
- this.state = 272;
1034
- this.match(PlantUMLParser.T__11);
1035
- this.state = 273;
1036
- this.type();
1037
- this.state = 274;
1038
- this.match(PlantUMLParser.T__12);
1039
- break;
1040
-
1041
- case 5:
1042
- this.enterOuterAlt(localctx, 5);
1043
- this.state = 276;
1044
- this.match(PlantUMLParser.T__26);
1045
- this.state = 277;
1046
- this.match(PlantUMLParser.T__11);
1047
- this.state = 278;
1048
- this.type();
1049
- this.state = 279;
1050
- this.match(PlantUMLParser.T__12);
1051
- break;
1052
-
1053
- case 6:
1054
- this.enterOuterAlt(localctx, 6);
1055
- this.state = 281;
1056
- this.identifier();
1057
- this.state = 282;
1058
- this.match(PlantUMLParser.T__27);
1059
- this.state = 284;
1060
- this._errHandler.sync(this);
661
+ _la = this._input.LA(1);
662
+ while((((_la) & ~0x1f) === 0 && ((1 << _la) & 8290304) !== 0)) {
663
+ this.state = 138;
1061
664
  _la = this._input.LA(1);
1062
- if(_la===77) {
1063
- this.state = 283;
1064
- this.integerLiteral();
665
+ if(!((((_la) & ~0x1f) === 0 && ((1 << _la) & 8290304) !== 0))) {
666
+ this._errHandler.recoverInline(this);
1065
667
  }
1066
-
1067
- this.state = 286;
1068
- this.match(PlantUMLParser.T__28);
1069
- break;
1070
-
1071
- case 7:
1072
- this.enterOuterAlt(localctx, 7);
1073
- this.state = 288;
1074
- this.match(PlantUMLParser.T__29);
1075
- this.state = 289;
1076
- this.match(PlantUMLParser.T__11);
1077
- this.state = 290;
1078
- this.type();
1079
- this.state = 291;
1080
- this.match(PlantUMLParser.T__13);
1081
- this.state = 292;
1082
- this.type();
1083
- this.state = 293;
1084
- this.match(PlantUMLParser.T__12);
1085
- break;
1086
-
1087
- case 8:
1088
- this.enterOuterAlt(localctx, 8);
1089
- this.state = 295;
1090
- this.match(PlantUMLParser.T__30);
1091
- this.state = 296;
1092
- this.match(PlantUMLParser.T__11);
1093
- this.state = 297;
1094
- this.type();
1095
- this.state = 298;
1096
- this.match(PlantUMLParser.T__13);
1097
- this.state = 299;
1098
- this.type();
1099
- this.state = 300;
1100
- this.match(PlantUMLParser.T__12);
1101
- break;
1102
-
1103
- case 9:
1104
- this.enterOuterAlt(localctx, 9);
1105
- this.state = 302;
1106
- this.match(PlantUMLParser.T__31);
1107
- this.state = 303;
1108
- this.match(PlantUMLParser.T__11);
1109
- this.state = 304;
1110
- this.type();
1111
- this.state = 305;
1112
- this.match(PlantUMLParser.T__13);
1113
- this.state = 306;
1114
- this.type();
1115
- this.state = 307;
1116
- this.match(PlantUMLParser.T__12);
1117
- break;
1118
-
1119
- case 10:
1120
- this.enterOuterAlt(localctx, 10);
1121
- this.state = 309;
1122
- this.identifier();
1123
- break;
1124
-
668
+ else {
669
+ this._errHandler.reportMatch(this);
670
+ this.consume();
671
+ }
672
+ this.state = 143;
673
+ this._errHandler.sync(this);
674
+ _la = this._input.LA(1);
1125
675
  }
1126
- } catch (re) {
1127
- if(re instanceof antlr4.error.RecognitionException) {
1128
- localctx.exception = re;
1129
- this._errHandler.reportError(this, re);
1130
- this._errHandler.recover(this, re);
1131
- } else {
1132
- throw re;
1133
- }
1134
- } finally {
1135
- this.exitRule();
1136
- }
1137
- return localctx;
1138
- }
1139
-
1140
-
1141
-
1142
- inheritance() {
1143
- let localctx = new InheritanceContext(this, this._ctx, this.state);
1144
- this.enterRule(localctx, 28, PlantUMLParser.RULE_inheritance);
1145
- try {
1146
- this.enterOuterAlt(localctx, 1);
1147
- this.state = 312;
1148
- this.identifier();
1149
- this.state = 315;
676
+ this.state = 145;
1150
677
  this._errHandler.sync(this);
1151
- switch(this._input.LA(1)) {
1152
- case 33:
1153
- case 34:
1154
- case 35:
1155
- case 36:
1156
- case 37:
1157
- this.state = 313;
1158
- this.leftAncestorSymbol();
1159
- break;
1160
- case 38:
1161
- case 39:
1162
- case 40:
1163
- case 41:
1164
- case 42:
1165
- this.state = 314;
1166
- this.rightAncestorSymbol();
1167
- break;
1168
- default:
1169
- throw new antlr4.error.NoViableAltException(this);
678
+ _la = this._input.LA(1);
679
+ if(_la===12) {
680
+ this.state = 144;
681
+ this.match(PlantUMLParser.GT);
1170
682
  }
1171
- this.state = 317;
1172
- this.identifier();
683
+
1173
684
  } catch (re) {
1174
685
  if(re instanceof antlr4.error.RecognitionException) {
1175
686
  localctx.exception = re;
@@ -1186,20 +697,20 @@ export default class PlantUMLParser extends antlr4.Parser {
1186
697
 
1187
698
 
1188
699
 
1189
- leftAncestorSymbol() {
1190
- let localctx = new LeftAncestorSymbolContext(this, this._ctx, this.state);
1191
- this.enterRule(localctx, 30, PlantUMLParser.RULE_leftAncestorSymbol);
1192
- var _la = 0;
700
+ association_left() {
701
+ let localctx = new Association_leftContext(this, this._ctx, this.state);
702
+ this.enterRule(localctx, 26, PlantUMLParser.RULE_association_left);
1193
703
  try {
1194
704
  this.enterOuterAlt(localctx, 1);
1195
- this.state = 319;
1196
- _la = this._input.LA(1);
1197
- if(!(((((_la - 33)) & ~0x1f) === 0 && ((1 << (_la - 33)) & 31) !== 0))) {
1198
- this._errHandler.recoverInline(this);
1199
- }
1200
- else {
1201
- this._errHandler.reportMatch(this);
1202
- this.consume();
705
+ this.state = 147;
706
+ this.ident();
707
+ this.state = 149;
708
+ this._errHandler.sync(this);
709
+ var la_ = this._interp.adaptivePredict(this._input,20,this._ctx);
710
+ if(la_===1) {
711
+ this.state = 148;
712
+ this.association_detail();
713
+
1203
714
  }
1204
715
  } catch (re) {
1205
716
  if(re instanceof antlr4.error.RecognitionException) {
@@ -1217,21 +728,22 @@ export default class PlantUMLParser extends antlr4.Parser {
1217
728
 
1218
729
 
1219
730
 
1220
- rightAncestorSymbol() {
1221
- let localctx = new RightAncestorSymbolContext(this, this._ctx, this.state);
1222
- this.enterRule(localctx, 32, PlantUMLParser.RULE_rightAncestorSymbol);
731
+ association_right() {
732
+ let localctx = new Association_rightContext(this, this._ctx, this.state);
733
+ this.enterRule(localctx, 28, PlantUMLParser.RULE_association_right);
1223
734
  var _la = 0;
1224
735
  try {
1225
736
  this.enterOuterAlt(localctx, 1);
1226
- this.state = 321;
737
+ this.state = 152;
738
+ this._errHandler.sync(this);
1227
739
  _la = this._input.LA(1);
1228
- if(!(((((_la - 38)) & ~0x1f) === 0 && ((1 << (_la - 38)) & 31) !== 0))) {
1229
- this._errHandler.recoverInline(this);
1230
- }
1231
- else {
1232
- this._errHandler.reportMatch(this);
1233
- this.consume();
740
+ if(_la===33) {
741
+ this.state = 151;
742
+ this.association_detail();
1234
743
  }
744
+
745
+ this.state = 154;
746
+ this.ident();
1235
747
  } catch (re) {
1236
748
  if(re instanceof antlr4.error.RecognitionException) {
1237
749
  localctx.exception = re;
@@ -1248,42 +760,13 @@ export default class PlantUMLParser extends antlr4.Parser {
1248
760
 
1249
761
 
1250
762
 
1251
- association() {
1252
- let localctx = new AssociationContext(this, this._ctx, this.state);
1253
- this.enterRule(localctx, 34, PlantUMLParser.RULE_association);
1254
- var _la = 0;
763
+ association_detail() {
764
+ let localctx = new Association_detailContext(this, this._ctx, this.state);
765
+ this.enterRule(localctx, 30, PlantUMLParser.RULE_association_detail);
1255
766
  try {
1256
767
  this.enterOuterAlt(localctx, 1);
1257
- this.state = 323;
1258
- this.identifier();
1259
- this.state = 325;
1260
- this._errHandler.sync(this);
1261
- _la = this._input.LA(1);
1262
- if(_la===70 || _la===71) {
1263
- this.state = 324;
1264
- this.stringExpression();
1265
- }
1266
-
1267
- this.state = 327;
1268
- this.associationSymbol();
1269
- this.state = 329;
1270
- this._errHandler.sync(this);
1271
- _la = this._input.LA(1);
1272
- if(_la===70 || _la===71) {
1273
- this.state = 328;
1274
- this.stringExpression();
1275
- }
1276
-
1277
- this.state = 331;
1278
- this.identifier();
1279
- this.state = 333;
1280
- this._errHandler.sync(this);
1281
- _la = this._input.LA(1);
1282
- if(_la===11) {
1283
- this.state = 332;
1284
- this.lineAnnotation();
1285
- }
1286
-
768
+ this.state = 156;
769
+ this.match(PlantUMLParser.ASSOC_DETAIL);
1287
770
  } catch (re) {
1288
771
  if(re instanceof antlr4.error.RecognitionException) {
1289
772
  localctx.exception = re;
@@ -1300,21 +783,13 @@ export default class PlantUMLParser extends antlr4.Parser {
1300
783
 
1301
784
 
1302
785
 
1303
- associationSymbol() {
1304
- let localctx = new AssociationSymbolContext(this, this._ctx, this.state);
1305
- this.enterRule(localctx, 36, PlantUMLParser.RULE_associationSymbol);
1306
- var _la = 0;
786
+ association_name() {
787
+ let localctx = new Association_nameContext(this, this._ctx, this.state);
788
+ this.enterRule(localctx, 32, PlantUMLParser.RULE_association_name);
1307
789
  try {
1308
790
  this.enterOuterAlt(localctx, 1);
1309
- this.state = 335;
1310
- _la = this._input.LA(1);
1311
- if(!(((((_la - 18)) & ~0x1f) === 0 && ((1 << (_la - 18)) & 2113929217) !== 0))) {
1312
- this._errHandler.recoverInline(this);
1313
- }
1314
- else {
1315
- this._errHandler.reportMatch(this);
1316
- this.consume();
1317
- }
791
+ this.state = 158;
792
+ this.match(PlantUMLParser.AFTER_COLON_TEXT);
1318
793
  } catch (re) {
1319
794
  if(re instanceof antlr4.error.RecognitionException) {
1320
795
  localctx.exception = re;
@@ -1331,42 +806,81 @@ export default class PlantUMLParser extends antlr4.Parser {
1331
806
 
1332
807
 
1333
808
 
1334
- aggregation() {
1335
- let localctx = new AggregationContext(this, this._ctx, this.state);
1336
- this.enterRule(localctx, 38, PlantUMLParser.RULE_aggregation);
809
+ associative_class_dclr() {
810
+ let localctx = new Associative_class_dclrContext(this, this._ctx, this.state);
811
+ this.enterRule(localctx, 34, PlantUMLParser.RULE_associative_class_dclr);
1337
812
  var _la = 0;
1338
813
  try {
1339
- this.enterOuterAlt(localctx, 1);
1340
- this.state = 337;
1341
- this.identifier();
1342
- this.state = 339;
814
+ this.state = 180;
1343
815
  this._errHandler.sync(this);
1344
- _la = this._input.LA(1);
1345
- if(_la===70 || _la===71) {
1346
- this.state = 338;
1347
- this.stringExpression();
1348
- }
816
+ switch(this._input.LA(1)) {
817
+ case 24:
818
+ this.enterOuterAlt(localctx, 1);
819
+ this.state = 160;
820
+ this.match(PlantUMLParser.LPAREN);
821
+ this.state = 161;
822
+ localctx.left = this.ident();
823
+ this.state = 162;
824
+ this.match(PlantUMLParser.COMMA);
825
+ this.state = 163;
826
+ localctx.right = this.ident();
827
+ this.state = 164;
828
+ this.match(PlantUMLParser.RPAREN);
829
+ this.state = 165;
830
+ _la = this._input.LA(1);
831
+ if(!(_la===16 || _la===17)) {
832
+ this._errHandler.recoverInline(this);
833
+ }
834
+ else {
835
+ this._errHandler.reportMatch(this);
836
+ this.consume();
837
+ }
838
+ this.state = 166;
839
+ localctx.target = this.ident();
840
+ this.state = 168;
841
+ this._errHandler.sync(this);
842
+ _la = this._input.LA(1);
843
+ if(_la===36) {
844
+ this.state = 167;
845
+ this.association_name();
846
+ }
1349
847
 
1350
- this.state = 341;
1351
- this.aggregationSymbol();
1352
- this.state = 343;
1353
- this._errHandler.sync(this);
1354
- _la = this._input.LA(1);
1355
- if(_la===70 || _la===71) {
1356
- this.state = 342;
1357
- this.stringExpression();
1358
- }
848
+ break;
849
+ case 42:
850
+ this.enterOuterAlt(localctx, 2);
851
+ this.state = 170;
852
+ localctx.target = this.ident();
853
+ this.state = 171;
854
+ _la = this._input.LA(1);
855
+ if(!(_la===16 || _la===17)) {
856
+ this._errHandler.recoverInline(this);
857
+ }
858
+ else {
859
+ this._errHandler.reportMatch(this);
860
+ this.consume();
861
+ }
862
+ this.state = 172;
863
+ this.match(PlantUMLParser.LPAREN);
864
+ this.state = 173;
865
+ localctx.left = this.ident();
866
+ this.state = 174;
867
+ this.match(PlantUMLParser.COMMA);
868
+ this.state = 175;
869
+ localctx.right = this.ident();
870
+ this.state = 176;
871
+ this.match(PlantUMLParser.RPAREN);
872
+ this.state = 178;
873
+ this._errHandler.sync(this);
874
+ _la = this._input.LA(1);
875
+ if(_la===36) {
876
+ this.state = 177;
877
+ this.association_name();
878
+ }
1359
879
 
1360
- this.state = 345;
1361
- this.identifier();
1362
- this.state = 347;
1363
- this._errHandler.sync(this);
1364
- _la = this._input.LA(1);
1365
- if(_la===11) {
1366
- this.state = 346;
1367
- this.lineAnnotation();
880
+ break;
881
+ default:
882
+ throw new antlr4.error.NoViableAltException(this);
1368
883
  }
1369
-
1370
884
  } catch (re) {
1371
885
  if(re instanceof antlr4.error.RecognitionException) {
1372
886
  localctx.exception = re;
@@ -1375,1049 +889,88 @@ export default class PlantUMLParser extends antlr4.Parser {
1375
889
  } else {
1376
890
  throw re;
1377
891
  }
1378
- } finally {
1379
- this.exitRule();
1380
- }
1381
- return localctx;
1382
- }
1383
-
1384
-
1385
-
1386
- aggregationSymbol() {
1387
- let localctx = new AggregationSymbolContext(this, this._ctx, this.state);
1388
- this.enterRule(localctx, 40, PlantUMLParser.RULE_aggregationSymbol);
1389
- var _la = 0;
1390
- try {
1391
- this.enterOuterAlt(localctx, 1);
1392
- this.state = 349;
1393
- _la = this._input.LA(1);
1394
- if(!(((((_la - 49)) & ~0x1f) === 0 && ((1 << (_la - 49)) & 15) !== 0))) {
1395
- this._errHandler.recoverInline(this);
1396
- }
1397
- else {
1398
- this._errHandler.reportMatch(this);
1399
- this.consume();
1400
- }
1401
- } catch (re) {
1402
- if(re instanceof antlr4.error.RecognitionException) {
1403
- localctx.exception = re;
1404
- this._errHandler.reportError(this, re);
1405
- this._errHandler.recover(this, re);
1406
- } else {
1407
- throw re;
1408
- }
1409
- } finally {
1410
- this.exitRule();
1411
- }
1412
- return localctx;
1413
- }
1414
-
1415
-
1416
-
1417
- composition() {
1418
- let localctx = new CompositionContext(this, this._ctx, this.state);
1419
- this.enterRule(localctx, 42, PlantUMLParser.RULE_composition);
1420
- var _la = 0;
1421
- try {
1422
- this.enterOuterAlt(localctx, 1);
1423
- this.state = 351;
1424
- this.identifier();
1425
- this.state = 353;
1426
- this._errHandler.sync(this);
1427
- _la = this._input.LA(1);
1428
- if(_la===70 || _la===71) {
1429
- this.state = 352;
1430
- this.stringExpression();
1431
- }
1432
-
1433
- this.state = 355;
1434
- this.compositionSymbol();
1435
- this.state = 357;
1436
- this._errHandler.sync(this);
1437
- _la = this._input.LA(1);
1438
- if(_la===70 || _la===71) {
1439
- this.state = 356;
1440
- this.stringExpression();
1441
- }
1442
-
1443
- this.state = 359;
1444
- this.identifier();
1445
- this.state = 361;
1446
- this._errHandler.sync(this);
1447
- _la = this._input.LA(1);
1448
- if(_la===11) {
1449
- this.state = 360;
1450
- this.lineAnnotation();
1451
- }
1452
-
1453
- } catch (re) {
1454
- if(re instanceof antlr4.error.RecognitionException) {
1455
- localctx.exception = re;
1456
- this._errHandler.reportError(this, re);
1457
- this._errHandler.recover(this, re);
1458
- } else {
1459
- throw re;
1460
- }
1461
- } finally {
1462
- this.exitRule();
1463
- }
1464
- return localctx;
1465
- }
1466
-
1467
-
1468
-
1469
- compositionSymbol() {
1470
- let localctx = new CompositionSymbolContext(this, this._ctx, this.state);
1471
- this.enterRule(localctx, 44, PlantUMLParser.RULE_compositionSymbol);
1472
- var _la = 0;
1473
- try {
1474
- this.enterOuterAlt(localctx, 1);
1475
- this.state = 363;
1476
- _la = this._input.LA(1);
1477
- if(!(((((_la - 53)) & ~0x1f) === 0 && ((1 << (_la - 53)) & 255) !== 0))) {
1478
- this._errHandler.recoverInline(this);
1479
- }
1480
- else {
1481
- this._errHandler.reportMatch(this);
1482
- this.consume();
1483
- }
1484
- } catch (re) {
1485
- if(re instanceof antlr4.error.RecognitionException) {
1486
- localctx.exception = re;
1487
- this._errHandler.reportError(this, re);
1488
- this._errHandler.recover(this, re);
1489
- } else {
1490
- throw re;
1491
- }
1492
- } finally {
1493
- this.exitRule();
1494
- }
1495
- return localctx;
1496
- }
1497
-
1498
-
1499
-
1500
- dependency() {
1501
- let localctx = new DependencyContext(this, this._ctx, this.state);
1502
- this.enterRule(localctx, 46, PlantUMLParser.RULE_dependency);
1503
- var _la = 0;
1504
- try {
1505
- this.enterOuterAlt(localctx, 1);
1506
- this.state = 365;
1507
- this.identifier();
1508
- this.state = 367;
1509
- this._errHandler.sync(this);
1510
- _la = this._input.LA(1);
1511
- if(_la===70 || _la===71) {
1512
- this.state = 366;
1513
- this.stringExpression();
1514
- }
1515
-
1516
- this.state = 369;
1517
- this.dependencySymbol();
1518
- this.state = 371;
1519
- this._errHandler.sync(this);
1520
- _la = this._input.LA(1);
1521
- if(_la===70 || _la===71) {
1522
- this.state = 370;
1523
- this.stringExpression();
1524
- }
1525
-
1526
- this.state = 373;
1527
- this.identifier();
1528
- this.state = 375;
1529
- this._errHandler.sync(this);
1530
- _la = this._input.LA(1);
1531
- if(_la===11) {
1532
- this.state = 374;
1533
- this.lineAnnotation();
1534
- }
1535
-
1536
- } catch (re) {
1537
- if(re instanceof antlr4.error.RecognitionException) {
1538
- localctx.exception = re;
1539
- this._errHandler.reportError(this, re);
1540
- this._errHandler.recover(this, re);
1541
- } else {
1542
- throw re;
1543
- }
1544
- } finally {
1545
- this.exitRule();
1546
- }
1547
- return localctx;
1548
- }
1549
-
1550
-
1551
-
1552
- dependencySymbol() {
1553
- let localctx = new DependencySymbolContext(this, this._ctx, this.state);
1554
- this.enterRule(localctx, 48, PlantUMLParser.RULE_dependencySymbol);
1555
- var _la = 0;
1556
- try {
1557
- this.enterOuterAlt(localctx, 1);
1558
- this.state = 377;
1559
- _la = this._input.LA(1);
1560
- if(!(((((_la - 61)) & ~0x1f) === 0 && ((1 << (_la - 61)) & 63) !== 0))) {
1561
- this._errHandler.recoverInline(this);
1562
- }
1563
- else {
1564
- this._errHandler.reportMatch(this);
1565
- this.consume();
1566
- }
1567
- } catch (re) {
1568
- if(re instanceof antlr4.error.RecognitionException) {
1569
- localctx.exception = re;
1570
- this._errHandler.reportError(this, re);
1571
- this._errHandler.recover(this, re);
1572
- } else {
1573
- throw re;
1574
- }
1575
- } finally {
1576
- this.exitRule();
1577
- }
1578
- return localctx;
1579
- }
1580
-
1581
-
1582
-
1583
- lineAnnotation() {
1584
- let localctx = new LineAnnotationContext(this, this._ctx, this.state);
1585
- this.enterRule(localctx, 50, PlantUMLParser.RULE_lineAnnotation);
1586
- var _la = 0;
1587
- try {
1588
- this.state = 388;
1589
- this._errHandler.sync(this);
1590
- var la_ = this._interp.adaptivePredict(this._input,51,this._ctx);
1591
- switch(la_) {
1592
- case 1:
1593
- this.enterOuterAlt(localctx, 1);
1594
- this.state = 379;
1595
- this.match(PlantUMLParser.T__10);
1596
- this.state = 381;
1597
- this._errHandler.sync(this);
1598
- _la = this._input.LA(1);
1599
- if(_la===67 || _la===68) {
1600
- this.state = 380;
1601
- this.direction();
1602
- }
1603
-
1604
- this.state = 383;
1605
- this.identifier();
1606
- break;
1607
-
1608
- case 2:
1609
- this.enterOuterAlt(localctx, 2);
1610
- this.state = 384;
1611
- this.match(PlantUMLParser.T__10);
1612
- this.state = 385;
1613
- this.identifier();
1614
- this.state = 386;
1615
- this.direction();
1616
- break;
1617
-
1618
- }
1619
- } catch (re) {
1620
- if(re instanceof antlr4.error.RecognitionException) {
1621
- localctx.exception = re;
1622
- this._errHandler.reportError(this, re);
1623
- this._errHandler.recover(this, re);
1624
- } else {
1625
- throw re;
1626
- }
1627
- } finally {
1628
- this.exitRule();
1629
- }
1630
- return localctx;
1631
- }
1632
-
1633
-
1634
-
1635
- direction() {
1636
- let localctx = new DirectionContext(this, this._ctx, this.state);
1637
- this.enterRule(localctx, 52, PlantUMLParser.RULE_direction);
1638
- var _la = 0;
1639
- try {
1640
- this.enterOuterAlt(localctx, 1);
1641
- this.state = 390;
1642
- _la = this._input.LA(1);
1643
- if(!(_la===67 || _la===68)) {
1644
- this._errHandler.recoverInline(this);
1645
- }
1646
- else {
1647
- this._errHandler.reportMatch(this);
1648
- this.consume();
1649
- }
1650
- } catch (re) {
1651
- if(re instanceof antlr4.error.RecognitionException) {
1652
- localctx.exception = re;
1653
- this._errHandler.reportError(this, re);
1654
- this._errHandler.recover(this, re);
1655
- } else {
1656
- throw re;
1657
- }
1658
- } finally {
1659
- this.exitRule();
1660
- }
1661
- return localctx;
1662
- }
1663
-
1664
-
1665
-
1666
- identifier() {
1667
- let localctx = new IdentifierContext(this, this._ctx, this.state);
1668
- this.enterRule(localctx, 54, PlantUMLParser.RULE_identifier);
1669
- try {
1670
- this.enterOuterAlt(localctx, 1);
1671
- this.state = 392;
1672
- this.match(PlantUMLParser.ID);
1673
- } catch (re) {
1674
- if(re instanceof antlr4.error.RecognitionException) {
1675
- localctx.exception = re;
1676
- this._errHandler.reportError(this, re);
1677
- this._errHandler.recover(this, re);
1678
- } else {
1679
- throw re;
1680
- }
1681
- } finally {
1682
- this.exitRule();
1683
- }
1684
- return localctx;
1685
- }
1686
-
1687
-
1688
-
1689
- stringExpression() {
1690
- let localctx = new StringExpressionContext(this, this._ctx, this.state);
1691
- this.enterRule(localctx, 56, PlantUMLParser.RULE_stringExpression);
1692
- var _la = 0;
1693
- try {
1694
- this.enterOuterAlt(localctx, 1);
1695
- this.state = 394;
1696
- _la = this._input.LA(1);
1697
- if(!(_la===70 || _la===71)) {
1698
- this._errHandler.recoverInline(this);
1699
- }
1700
- else {
1701
- this._errHandler.reportMatch(this);
1702
- this.consume();
1703
- }
1704
- } catch (re) {
1705
- if(re instanceof antlr4.error.RecognitionException) {
1706
- localctx.exception = re;
1707
- this._errHandler.reportError(this, re);
1708
- this._errHandler.recover(this, re);
1709
- } else {
1710
- throw re;
1711
- }
1712
- } finally {
1713
- this.exitRule();
1714
- }
1715
- return localctx;
1716
- }
1717
-
1718
-
1719
-
1720
- integerLiteral() {
1721
- let localctx = new IntegerLiteralContext(this, this._ctx, this.state);
1722
- this.enterRule(localctx, 58, PlantUMLParser.RULE_integerLiteral);
1723
- try {
1724
- this.enterOuterAlt(localctx, 1);
1725
- this.state = 396;
1726
- this.match(PlantUMLParser.INT);
1727
- } catch (re) {
1728
- if(re instanceof antlr4.error.RecognitionException) {
1729
- localctx.exception = re;
1730
- this._errHandler.reportError(this, re);
1731
- this._errHandler.recover(this, re);
1732
- } else {
1733
- throw re;
1734
- }
1735
- } finally {
1736
- this.exitRule();
1737
- }
1738
- return localctx;
1739
- }
1740
-
1741
-
1742
- }
1743
-
1744
- PlantUMLParser.EOF = antlr4.Token.EOF;
1745
- PlantUMLParser.T__0 = 1;
1746
- PlantUMLParser.T__1 = 2;
1747
- PlantUMLParser.T__2 = 3;
1748
- PlantUMLParser.T__3 = 4;
1749
- PlantUMLParser.T__4 = 5;
1750
- PlantUMLParser.T__5 = 6;
1751
- PlantUMLParser.T__6 = 7;
1752
- PlantUMLParser.T__7 = 8;
1753
- PlantUMLParser.T__8 = 9;
1754
- PlantUMLParser.T__9 = 10;
1755
- PlantUMLParser.T__10 = 11;
1756
- PlantUMLParser.T__11 = 12;
1757
- PlantUMLParser.T__12 = 13;
1758
- PlantUMLParser.T__13 = 14;
1759
- PlantUMLParser.T__14 = 15;
1760
- PlantUMLParser.T__15 = 16;
1761
- PlantUMLParser.T__16 = 17;
1762
- PlantUMLParser.T__17 = 18;
1763
- PlantUMLParser.T__18 = 19;
1764
- PlantUMLParser.T__19 = 20;
1765
- PlantUMLParser.T__20 = 21;
1766
- PlantUMLParser.T__21 = 22;
1767
- PlantUMLParser.T__22 = 23;
1768
- PlantUMLParser.T__23 = 24;
1769
- PlantUMLParser.T__24 = 25;
1770
- PlantUMLParser.T__25 = 26;
1771
- PlantUMLParser.T__26 = 27;
1772
- PlantUMLParser.T__27 = 28;
1773
- PlantUMLParser.T__28 = 29;
1774
- PlantUMLParser.T__29 = 30;
1775
- PlantUMLParser.T__30 = 31;
1776
- PlantUMLParser.T__31 = 32;
1777
- PlantUMLParser.T__32 = 33;
1778
- PlantUMLParser.T__33 = 34;
1779
- PlantUMLParser.T__34 = 35;
1780
- PlantUMLParser.T__35 = 36;
1781
- PlantUMLParser.T__36 = 37;
1782
- PlantUMLParser.T__37 = 38;
1783
- PlantUMLParser.T__38 = 39;
1784
- PlantUMLParser.T__39 = 40;
1785
- PlantUMLParser.T__40 = 41;
1786
- PlantUMLParser.T__41 = 42;
1787
- PlantUMLParser.T__42 = 43;
1788
- PlantUMLParser.T__43 = 44;
1789
- PlantUMLParser.T__44 = 45;
1790
- PlantUMLParser.T__45 = 46;
1791
- PlantUMLParser.T__46 = 47;
1792
- PlantUMLParser.T__47 = 48;
1793
- PlantUMLParser.T__48 = 49;
1794
- PlantUMLParser.T__49 = 50;
1795
- PlantUMLParser.T__50 = 51;
1796
- PlantUMLParser.T__51 = 52;
1797
- PlantUMLParser.T__52 = 53;
1798
- PlantUMLParser.T__53 = 54;
1799
- PlantUMLParser.T__54 = 55;
1800
- PlantUMLParser.T__55 = 56;
1801
- PlantUMLParser.T__56 = 57;
1802
- PlantUMLParser.T__57 = 58;
1803
- PlantUMLParser.T__58 = 59;
1804
- PlantUMLParser.T__59 = 60;
1805
- PlantUMLParser.T__60 = 61;
1806
- PlantUMLParser.T__61 = 62;
1807
- PlantUMLParser.T__62 = 63;
1808
- PlantUMLParser.T__63 = 64;
1809
- PlantUMLParser.T__64 = 65;
1810
- PlantUMLParser.T__65 = 66;
1811
- PlantUMLParser.T__66 = 67;
1812
- PlantUMLParser.T__67 = 68;
1813
- PlantUMLParser.FLOAT_LITERAL = 69;
1814
- PlantUMLParser.STRING1_LITERAL = 70;
1815
- PlantUMLParser.STRING2_LITERAL = 71;
1816
- PlantUMLParser.NULL_LITERAL = 72;
1817
- PlantUMLParser.MULTILINE_COMMENT = 73;
1818
- PlantUMLParser.INTEGRAL = 74;
1819
- PlantUMLParser.SIGMA = 75;
1820
- PlantUMLParser.NEWLINE = 76;
1821
- PlantUMLParser.INT = 77;
1822
- PlantUMLParser.ID = 78;
1823
- PlantUMLParser.WS = 79;
1824
-
1825
- PlantUMLParser.RULE_classDiagram = 0;
1826
- PlantUMLParser.RULE_cdelement = 1;
1827
- PlantUMLParser.RULE_classDefinition = 2;
1828
- PlantUMLParser.RULE_classElement = 3;
1829
- PlantUMLParser.RULE_enumDefinition = 4;
1830
- PlantUMLParser.RULE_attribute = 5;
1831
- PlantUMLParser.RULE_internalAttribute = 6;
1832
- PlantUMLParser.RULE_method = 7;
1833
- PlantUMLParser.RULE_internalMethod = 8;
1834
- PlantUMLParser.RULE_parameters = 9;
1835
- PlantUMLParser.RULE_stereotype = 10;
1836
- PlantUMLParser.RULE_visibility = 11;
1837
- PlantUMLParser.RULE_modifier = 12;
1838
- PlantUMLParser.RULE_type = 13;
1839
- PlantUMLParser.RULE_inheritance = 14;
1840
- PlantUMLParser.RULE_leftAncestorSymbol = 15;
1841
- PlantUMLParser.RULE_rightAncestorSymbol = 16;
1842
- PlantUMLParser.RULE_association = 17;
1843
- PlantUMLParser.RULE_associationSymbol = 18;
1844
- PlantUMLParser.RULE_aggregation = 19;
1845
- PlantUMLParser.RULE_aggregationSymbol = 20;
1846
- PlantUMLParser.RULE_composition = 21;
1847
- PlantUMLParser.RULE_compositionSymbol = 22;
1848
- PlantUMLParser.RULE_dependency = 23;
1849
- PlantUMLParser.RULE_dependencySymbol = 24;
1850
- PlantUMLParser.RULE_lineAnnotation = 25;
1851
- PlantUMLParser.RULE_direction = 26;
1852
- PlantUMLParser.RULE_identifier = 27;
1853
- PlantUMLParser.RULE_stringExpression = 28;
1854
- PlantUMLParser.RULE_integerLiteral = 29;
1855
-
1856
- class ClassDiagramContext extends antlr4.ParserRuleContext {
1857
-
1858
- constructor(parser, parent, invokingState) {
1859
- if(parent===undefined) {
1860
- parent = null;
1861
- }
1862
- if(invokingState===undefined || invokingState===null) {
1863
- invokingState = -1;
1864
- }
1865
- super(parent, invokingState);
1866
- this.parser = parser;
1867
- this.ruleIndex = PlantUMLParser.RULE_classDiagram;
1868
- }
1869
-
1870
- EOF() {
1871
- return this.getToken(PlantUMLParser.EOF, 0);
1872
- };
1873
-
1874
- cdelement = function(i) {
1875
- if(i===undefined) {
1876
- i = null;
1877
- }
1878
- if(i===null) {
1879
- return this.getTypedRuleContexts(CdelementContext);
1880
- } else {
1881
- return this.getTypedRuleContext(CdelementContext,i);
1882
- }
1883
- };
1884
-
1885
- enterRule(listener) {
1886
- if(listener instanceof PlantUMLListener ) {
1887
- listener.enterClassDiagram(this);
1888
- }
1889
- }
1890
-
1891
- exitRule(listener) {
1892
- if(listener instanceof PlantUMLListener ) {
1893
- listener.exitClassDiagram(this);
1894
- }
1895
- }
1896
-
1897
- accept(visitor) {
1898
- if ( visitor instanceof PlantUMLVisitor ) {
1899
- return visitor.visitClassDiagram(this);
1900
- } else {
1901
- return visitor.visitChildren(this);
1902
- }
1903
- }
1904
-
1905
-
1906
- }
1907
-
1908
-
1909
-
1910
- class CdelementContext extends antlr4.ParserRuleContext {
1911
-
1912
- constructor(parser, parent, invokingState) {
1913
- if(parent===undefined) {
1914
- parent = null;
1915
- }
1916
- if(invokingState===undefined || invokingState===null) {
1917
- invokingState = -1;
1918
- }
1919
- super(parent, invokingState);
1920
- this.parser = parser;
1921
- this.ruleIndex = PlantUMLParser.RULE_cdelement;
1922
- }
1923
-
1924
- identifier() {
1925
- return this.getTypedRuleContext(IdentifierContext,0);
1926
- };
1927
-
1928
- stereotype() {
1929
- return this.getTypedRuleContext(StereotypeContext,0);
1930
- };
1931
-
1932
- classDefinition() {
1933
- return this.getTypedRuleContext(ClassDefinitionContext,0);
1934
- };
1935
-
1936
- enumDefinition() {
1937
- return this.getTypedRuleContext(EnumDefinitionContext,0);
1938
- };
1939
-
1940
- inheritance() {
1941
- return this.getTypedRuleContext(InheritanceContext,0);
1942
- };
1943
-
1944
- association() {
1945
- return this.getTypedRuleContext(AssociationContext,0);
1946
- };
1947
-
1948
- aggregation() {
1949
- return this.getTypedRuleContext(AggregationContext,0);
1950
- };
1951
-
1952
- attribute() {
1953
- return this.getTypedRuleContext(AttributeContext,0);
1954
- };
1955
-
1956
- composition() {
1957
- return this.getTypedRuleContext(CompositionContext,0);
1958
- };
1959
-
1960
- dependency() {
1961
- return this.getTypedRuleContext(DependencyContext,0);
1962
- };
1963
-
1964
- method() {
1965
- return this.getTypedRuleContext(MethodContext,0);
1966
- };
1967
-
1968
- enterRule(listener) {
1969
- if(listener instanceof PlantUMLListener ) {
1970
- listener.enterCdelement(this);
1971
- }
1972
- }
1973
-
1974
- exitRule(listener) {
1975
- if(listener instanceof PlantUMLListener ) {
1976
- listener.exitCdelement(this);
1977
- }
1978
- }
1979
-
1980
- accept(visitor) {
1981
- if ( visitor instanceof PlantUMLVisitor ) {
1982
- return visitor.visitCdelement(this);
1983
- } else {
1984
- return visitor.visitChildren(this);
1985
- }
1986
- }
1987
-
1988
-
1989
- }
1990
-
1991
-
1992
-
1993
- class ClassDefinitionContext extends antlr4.ParserRuleContext {
1994
-
1995
- constructor(parser, parent, invokingState) {
1996
- if(parent===undefined) {
1997
- parent = null;
1998
- }
1999
- if(invokingState===undefined || invokingState===null) {
2000
- invokingState = -1;
2001
- }
2002
- super(parent, invokingState);
2003
- this.parser = parser;
2004
- this.ruleIndex = PlantUMLParser.RULE_classDefinition;
2005
- }
2006
-
2007
- classElement = function(i) {
2008
- if(i===undefined) {
2009
- i = null;
2010
- }
2011
- if(i===null) {
2012
- return this.getTypedRuleContexts(ClassElementContext);
2013
- } else {
2014
- return this.getTypedRuleContext(ClassElementContext,i);
2015
- }
2016
- };
2017
-
2018
- enterRule(listener) {
2019
- if(listener instanceof PlantUMLListener ) {
2020
- listener.enterClassDefinition(this);
2021
- }
2022
- }
2023
-
2024
- exitRule(listener) {
2025
- if(listener instanceof PlantUMLListener ) {
2026
- listener.exitClassDefinition(this);
2027
- }
2028
- }
2029
-
2030
- accept(visitor) {
2031
- if ( visitor instanceof PlantUMLVisitor ) {
2032
- return visitor.visitClassDefinition(this);
2033
- } else {
2034
- return visitor.visitChildren(this);
2035
- }
2036
- }
2037
-
2038
-
2039
- }
2040
-
2041
-
2042
-
2043
- class ClassElementContext extends antlr4.ParserRuleContext {
2044
-
2045
- constructor(parser, parent, invokingState) {
2046
- if(parent===undefined) {
2047
- parent = null;
2048
- }
2049
- if(invokingState===undefined || invokingState===null) {
2050
- invokingState = -1;
2051
- }
2052
- super(parent, invokingState);
2053
- this.parser = parser;
2054
- this.ruleIndex = PlantUMLParser.RULE_classElement;
2055
- }
2056
-
2057
- internalMethod() {
2058
- return this.getTypedRuleContext(InternalMethodContext,0);
2059
- };
2060
-
2061
- internalAttribute() {
2062
- return this.getTypedRuleContext(InternalAttributeContext,0);
2063
- };
2064
-
2065
- enterRule(listener) {
2066
- if(listener instanceof PlantUMLListener ) {
2067
- listener.enterClassElement(this);
2068
- }
2069
- }
2070
-
2071
- exitRule(listener) {
2072
- if(listener instanceof PlantUMLListener ) {
2073
- listener.exitClassElement(this);
2074
- }
2075
- }
2076
-
2077
- accept(visitor) {
2078
- if ( visitor instanceof PlantUMLVisitor ) {
2079
- return visitor.visitClassElement(this);
2080
- } else {
2081
- return visitor.visitChildren(this);
2082
- }
2083
- }
2084
-
2085
-
2086
- }
2087
-
2088
-
2089
-
2090
- class EnumDefinitionContext extends antlr4.ParserRuleContext {
2091
-
2092
- constructor(parser, parent, invokingState) {
2093
- if(parent===undefined) {
2094
- parent = null;
2095
- }
2096
- if(invokingState===undefined || invokingState===null) {
2097
- invokingState = -1;
2098
- }
2099
- super(parent, invokingState);
2100
- this.parser = parser;
2101
- this.ruleIndex = PlantUMLParser.RULE_enumDefinition;
2102
- }
2103
-
2104
- identifier = function(i) {
2105
- if(i===undefined) {
2106
- i = null;
2107
- }
2108
- if(i===null) {
2109
- return this.getTypedRuleContexts(IdentifierContext);
2110
- } else {
2111
- return this.getTypedRuleContext(IdentifierContext,i);
2112
- }
2113
- };
2114
-
2115
- enterRule(listener) {
2116
- if(listener instanceof PlantUMLListener ) {
2117
- listener.enterEnumDefinition(this);
2118
- }
2119
- }
2120
-
2121
- exitRule(listener) {
2122
- if(listener instanceof PlantUMLListener ) {
2123
- listener.exitEnumDefinition(this);
2124
- }
2125
- }
2126
-
2127
- accept(visitor) {
2128
- if ( visitor instanceof PlantUMLVisitor ) {
2129
- return visitor.visitEnumDefinition(this);
2130
- } else {
2131
- return visitor.visitChildren(this);
2132
- }
2133
- }
2134
-
2135
-
2136
- }
2137
-
2138
-
2139
-
2140
- class AttributeContext extends antlr4.ParserRuleContext {
2141
-
2142
- constructor(parser, parent, invokingState) {
2143
- if(parent===undefined) {
2144
- parent = null;
2145
- }
2146
- if(invokingState===undefined || invokingState===null) {
2147
- invokingState = -1;
2148
- }
2149
- super(parent, invokingState);
2150
- this.parser = parser;
2151
- this.ruleIndex = PlantUMLParser.RULE_attribute;
2152
- }
2153
-
2154
- identifier = function(i) {
2155
- if(i===undefined) {
2156
- i = null;
2157
- }
2158
- if(i===null) {
2159
- return this.getTypedRuleContexts(IdentifierContext);
2160
- } else {
2161
- return this.getTypedRuleContext(IdentifierContext,i);
2162
- }
2163
- };
2164
-
2165
- type() {
2166
- return this.getTypedRuleContext(TypeContext,0);
2167
- };
2168
-
2169
- visibility() {
2170
- return this.getTypedRuleContext(VisibilityContext,0);
2171
- };
2172
-
2173
- enterRule(listener) {
2174
- if(listener instanceof PlantUMLListener ) {
2175
- listener.enterAttribute(this);
2176
- }
2177
- }
2178
-
2179
- exitRule(listener) {
2180
- if(listener instanceof PlantUMLListener ) {
2181
- listener.exitAttribute(this);
2182
- }
2183
- }
2184
-
2185
- accept(visitor) {
2186
- if ( visitor instanceof PlantUMLVisitor ) {
2187
- return visitor.visitAttribute(this);
2188
- } else {
2189
- return visitor.visitChildren(this);
2190
- }
2191
- }
2192
-
2193
-
2194
- }
2195
-
2196
-
2197
-
2198
- class InternalAttributeContext extends antlr4.ParserRuleContext {
2199
-
2200
- constructor(parser, parent, invokingState) {
2201
- if(parent===undefined) {
2202
- parent = null;
2203
- }
2204
- if(invokingState===undefined || invokingState===null) {
2205
- invokingState = -1;
2206
- }
2207
- super(parent, invokingState);
2208
- this.parser = parser;
2209
- this.ruleIndex = PlantUMLParser.RULE_internalAttribute;
2210
- }
2211
-
2212
- identifier() {
2213
- return this.getTypedRuleContext(IdentifierContext,0);
2214
- };
2215
-
2216
- modifier() {
2217
- return this.getTypedRuleContext(ModifierContext,0);
2218
- };
2219
-
2220
- type() {
2221
- return this.getTypedRuleContext(TypeContext,0);
2222
- };
2223
-
2224
- visibility() {
2225
- return this.getTypedRuleContext(VisibilityContext,0);
2226
- };
2227
-
2228
- enterRule(listener) {
2229
- if(listener instanceof PlantUMLListener ) {
2230
- listener.enterInternalAttribute(this);
2231
- }
2232
- }
2233
-
2234
- exitRule(listener) {
2235
- if(listener instanceof PlantUMLListener ) {
2236
- listener.exitInternalAttribute(this);
2237
- }
2238
- }
2239
-
2240
- accept(visitor) {
2241
- if ( visitor instanceof PlantUMLVisitor ) {
2242
- return visitor.visitInternalAttribute(this);
2243
- } else {
2244
- return visitor.visitChildren(this);
2245
- }
2246
- }
2247
-
2248
-
2249
- }
2250
-
2251
-
2252
-
2253
- class MethodContext extends antlr4.ParserRuleContext {
2254
-
2255
- constructor(parser, parent, invokingState) {
2256
- if(parent===undefined) {
2257
- parent = null;
2258
- }
2259
- if(invokingState===undefined || invokingState===null) {
2260
- invokingState = -1;
2261
- }
2262
- super(parent, invokingState);
2263
- this.parser = parser;
2264
- this.ruleIndex = PlantUMLParser.RULE_method;
2265
- }
2266
-
2267
- identifier = function(i) {
2268
- if(i===undefined) {
2269
- i = null;
2270
- }
2271
- if(i===null) {
2272
- return this.getTypedRuleContexts(IdentifierContext);
2273
- } else {
2274
- return this.getTypedRuleContext(IdentifierContext,i);
2275
- }
2276
- };
2277
-
2278
- visibility() {
2279
- return this.getTypedRuleContext(VisibilityContext,0);
2280
- };
2281
-
2282
- parameters() {
2283
- return this.getTypedRuleContext(ParametersContext,0);
2284
- };
2285
-
2286
- enterRule(listener) {
2287
- if(listener instanceof PlantUMLListener ) {
2288
- listener.enterMethod(this);
2289
- }
2290
- }
2291
-
2292
- exitRule(listener) {
2293
- if(listener instanceof PlantUMLListener ) {
2294
- listener.exitMethod(this);
2295
- }
2296
- }
2297
-
2298
- accept(visitor) {
2299
- if ( visitor instanceof PlantUMLVisitor ) {
2300
- return visitor.visitMethod(this);
2301
- } else {
2302
- return visitor.visitChildren(this);
2303
- }
2304
- }
2305
-
2306
-
2307
- }
2308
-
2309
-
2310
-
2311
- class InternalMethodContext extends antlr4.ParserRuleContext {
2312
-
2313
- constructor(parser, parent, invokingState) {
2314
- if(parent===undefined) {
2315
- parent = null;
2316
- }
2317
- if(invokingState===undefined || invokingState===null) {
2318
- invokingState = -1;
2319
- }
2320
- super(parent, invokingState);
2321
- this.parser = parser;
2322
- this.ruleIndex = PlantUMLParser.RULE_internalMethod;
2323
- }
2324
-
2325
- identifier() {
2326
- return this.getTypedRuleContext(IdentifierContext,0);
2327
- };
2328
-
2329
- modifier() {
2330
- return this.getTypedRuleContext(ModifierContext,0);
2331
- };
2332
-
2333
- type() {
2334
- return this.getTypedRuleContext(TypeContext,0);
2335
- };
2336
-
2337
- visibility() {
2338
- return this.getTypedRuleContext(VisibilityContext,0);
2339
- };
2340
-
2341
- parameters() {
2342
- return this.getTypedRuleContext(ParametersContext,0);
2343
- };
2344
-
2345
- enterRule(listener) {
2346
- if(listener instanceof PlantUMLListener ) {
2347
- listener.enterInternalMethod(this);
2348
- }
2349
- }
2350
-
2351
- exitRule(listener) {
2352
- if(listener instanceof PlantUMLListener ) {
2353
- listener.exitInternalMethod(this);
2354
- }
2355
- }
2356
-
2357
- accept(visitor) {
2358
- if ( visitor instanceof PlantUMLVisitor ) {
2359
- return visitor.visitInternalMethod(this);
2360
- } else {
2361
- return visitor.visitChildren(this);
2362
- }
2363
- }
2364
-
2365
-
2366
- }
2367
-
2368
-
2369
-
2370
- class ParametersContext extends antlr4.ParserRuleContext {
2371
-
2372
- constructor(parser, parent, invokingState) {
2373
- if(parent===undefined) {
2374
- parent = null;
2375
- }
2376
- if(invokingState===undefined || invokingState===null) {
2377
- invokingState = -1;
2378
- }
2379
- super(parent, invokingState);
2380
- this.parser = parser;
2381
- this.ruleIndex = PlantUMLParser.RULE_parameters;
2382
- }
2383
-
2384
- identifier = function(i) {
2385
- if(i===undefined) {
2386
- i = null;
2387
- }
2388
- if(i===null) {
2389
- return this.getTypedRuleContexts(IdentifierContext);
2390
- } else {
2391
- return this.getTypedRuleContext(IdentifierContext,i);
2392
- }
2393
- };
2394
-
2395
- enterRule(listener) {
2396
- if(listener instanceof PlantUMLListener ) {
2397
- listener.enterParameters(this);
2398
- }
2399
- }
2400
-
2401
- exitRule(listener) {
2402
- if(listener instanceof PlantUMLListener ) {
2403
- listener.exitParameters(this);
2404
- }
2405
- }
2406
-
2407
- accept(visitor) {
2408
- if ( visitor instanceof PlantUMLVisitor ) {
2409
- return visitor.visitParameters(this);
2410
- } else {
2411
- return visitor.visitChildren(this);
892
+ } finally {
893
+ this.exitRule();
2412
894
  }
895
+ return localctx;
2413
896
  }
2414
897
 
2415
898
 
2416
899
  }
2417
900
 
2418
-
2419
-
2420
- class StereotypeContext extends antlr4.ParserRuleContext {
901
+ PlantUMLParser.EOF = antlr4.Token.EOF;
902
+ PlantUMLParser.ENUM = 1;
903
+ PlantUMLParser.CLASS = 2;
904
+ PlantUMLParser.STARTUML = 3;
905
+ PlantUMLParser.ENDUML = 4;
906
+ PlantUMLParser.INTERFACE = 5;
907
+ PlantUMLParser.ABSTRACT = 6;
908
+ PlantUMLParser.MANY = 7;
909
+ PlantUMLParser.ONE = 8;
910
+ PlantUMLParser.EXTENDS = 9;
911
+ PlantUMLParser.STATIC = 10;
912
+ PlantUMLParser.LIST = 11;
913
+ PlantUMLParser.GT = 12;
914
+ PlantUMLParser.LT = 13;
915
+ PlantUMLParser.PLUS = 14;
916
+ PlantUMLParser.DASH = 15;
917
+ PlantUMLParser.DOT = 16;
918
+ PlantUMLParser.DOUBLE_DOT = 17;
919
+ PlantUMLParser.STAR = 18;
920
+ PlantUMLParser.O = 19;
921
+ PlantUMLParser.CARET = 20;
922
+ PlantUMLParser.PIPE_GT = 21;
923
+ PlantUMLParser.LT_PIPE = 22;
924
+ PlantUMLParser.COMMA = 23;
925
+ PlantUMLParser.LPAREN = 24;
926
+ PlantUMLParser.RPAREN = 25;
927
+ PlantUMLParser.LBRACK = 26;
928
+ PlantUMLParser.RBRACK = 27;
929
+ PlantUMLParser.AMP = 28;
930
+ PlantUMLParser.EQUALS = 29;
931
+ PlantUMLParser.NULL_LITERAL = 30;
932
+ PlantUMLParser.CLASS_BODY_START = 31;
933
+ PlantUMLParser.STEREOTYPE_TEXT = 32;
934
+ PlantUMLParser.ASSOC_DETAIL = 33;
935
+ PlantUMLParser.NOTE = 34;
936
+ PlantUMLParser.DIAMOND = 35;
937
+ PlantUMLParser.AFTER_COLON_TEXT = 36;
938
+ PlantUMLParser.NEWLINE = 37;
939
+ PlantUMLParser.WS = 38;
940
+ PlantUMLParser.COMMENT = 39;
941
+ PlantUMLParser.FLOAT_LITERAL = 40;
942
+ PlantUMLParser.NUMBER = 41;
943
+ PlantUMLParser.IDENT = 42;
944
+ PlantUMLParser.BODY_INLINE_BRACES = 43;
945
+ PlantUMLParser.BODY_OPEN = 44;
946
+ PlantUMLParser.BODY_CLOSE = 45;
947
+ PlantUMLParser.BODY_CONTENT = 46;
948
+ PlantUMLParser.BODY_NL = 47;
949
+ PlantUMLParser.ENUM_FREE_TEXT_CLOSE = 48;
950
+ PlantUMLParser.ENUM_FREE_TEXT_CONTENT = 49;
951
+ PlantUMLParser.ASSOC_DETAIL_TEXT_CLOSE = 50;
952
+ PlantUMLParser.ASSOC_DETAIL_TEXT_CONTENT = 51;
953
+
954
+ PlantUMLParser.RULE_entry_ = 0;
955
+ PlantUMLParser.RULE_uml = 1;
956
+ PlantUMLParser.RULE_class_dclr = 2;
957
+ PlantUMLParser.RULE_class_body = 3;
958
+ PlantUMLParser.RULE_body_content = 4;
959
+ PlantUMLParser.RULE_nested_body = 5;
960
+ PlantUMLParser.RULE_class_type = 6;
961
+ PlantUMLParser.RULE_stereotype = 7;
962
+ PlantUMLParser.RULE_extension_dclr = 8;
963
+ PlantUMLParser.RULE_ident = 9;
964
+ PlantUMLParser.RULE_enum_dclr = 10;
965
+ PlantUMLParser.RULE_association_dclr = 11;
966
+ PlantUMLParser.RULE_relation = 12;
967
+ PlantUMLParser.RULE_association_left = 13;
968
+ PlantUMLParser.RULE_association_right = 14;
969
+ PlantUMLParser.RULE_association_detail = 15;
970
+ PlantUMLParser.RULE_association_name = 16;
971
+ PlantUMLParser.RULE_associative_class_dclr = 17;
972
+
973
+ class Entry_Context extends antlr4.ParserRuleContext {
2421
974
 
2422
975
  constructor(parser, parent, invokingState) {
2423
976
  if(parent===undefined) {
@@ -2428,28 +981,32 @@ class StereotypeContext extends antlr4.ParserRuleContext {
2428
981
  }
2429
982
  super(parent, invokingState);
2430
983
  this.parser = parser;
2431
- this.ruleIndex = PlantUMLParser.RULE_stereotype;
984
+ this.ruleIndex = PlantUMLParser.RULE_entry_;
2432
985
  }
2433
986
 
2434
- identifier() {
2435
- return this.getTypedRuleContext(IdentifierContext,0);
987
+ uml() {
988
+ return this.getTypedRuleContext(UmlContext,0);
989
+ };
990
+
991
+ EOF() {
992
+ return this.getToken(PlantUMLParser.EOF, 0);
2436
993
  };
2437
994
 
2438
995
  enterRule(listener) {
2439
- if(listener instanceof PlantUMLListener ) {
2440
- listener.enterStereotype(this);
996
+ if(listener instanceof PlantUMLParserListener ) {
997
+ listener.enterEntry_(this);
2441
998
  }
2442
999
  }
2443
1000
 
2444
1001
  exitRule(listener) {
2445
- if(listener instanceof PlantUMLListener ) {
2446
- listener.exitStereotype(this);
1002
+ if(listener instanceof PlantUMLParserListener ) {
1003
+ listener.exitEntry_(this);
2447
1004
  }
2448
1005
  }
2449
1006
 
2450
1007
  accept(visitor) {
2451
- if ( visitor instanceof PlantUMLVisitor ) {
2452
- return visitor.visitStereotype(this);
1008
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1009
+ return visitor.visitEntry_(this);
2453
1010
  } else {
2454
1011
  return visitor.visitChildren(this);
2455
1012
  }
@@ -2460,7 +1017,7 @@ class StereotypeContext extends antlr4.ParserRuleContext {
2460
1017
 
2461
1018
 
2462
1019
 
2463
- class VisibilityContext extends antlr4.ParserRuleContext {
1020
+ class UmlContext extends antlr4.ParserRuleContext {
2464
1021
 
2465
1022
  constructor(parser, parent, invokingState) {
2466
1023
  if(parent===undefined) {
@@ -2471,65 +1028,104 @@ class VisibilityContext extends antlr4.ParserRuleContext {
2471
1028
  }
2472
1029
  super(parent, invokingState);
2473
1030
  this.parser = parser;
2474
- this.ruleIndex = PlantUMLParser.RULE_visibility;
1031
+ this.ruleIndex = PlantUMLParser.RULE_uml;
2475
1032
  }
2476
1033
 
1034
+ STARTUML() {
1035
+ return this.getToken(PlantUMLParser.STARTUML, 0);
1036
+ };
1037
+
1038
+ ENDUML() {
1039
+ return this.getToken(PlantUMLParser.ENDUML, 0);
1040
+ };
2477
1041
 
2478
- enterRule(listener) {
2479
- if(listener instanceof PlantUMLListener ) {
2480
- listener.enterVisibility(this);
2481
- }
2482
- }
1042
+ IDENT() {
1043
+ return this.getToken(PlantUMLParser.IDENT, 0);
1044
+ };
2483
1045
 
2484
- exitRule(listener) {
2485
- if(listener instanceof PlantUMLListener ) {
2486
- listener.exitVisibility(this);
1046
+ NEWLINE = function(i) {
1047
+ if(i===undefined) {
1048
+ i = null;
2487
1049
  }
2488
- }
2489
-
2490
- accept(visitor) {
2491
- if ( visitor instanceof PlantUMLVisitor ) {
2492
- return visitor.visitVisibility(this);
1050
+ if(i===null) {
1051
+ return this.getTokens(PlantUMLParser.NEWLINE);
2493
1052
  } else {
2494
- return visitor.visitChildren(this);
1053
+ return this.getToken(PlantUMLParser.NEWLINE, i);
2495
1054
  }
2496
- }
1055
+ };
2497
1056
 
2498
1057
 
2499
- }
1058
+ class_dclr = function(i) {
1059
+ if(i===undefined) {
1060
+ i = null;
1061
+ }
1062
+ if(i===null) {
1063
+ return this.getTypedRuleContexts(Class_dclrContext);
1064
+ } else {
1065
+ return this.getTypedRuleContext(Class_dclrContext,i);
1066
+ }
1067
+ };
2500
1068
 
1069
+ enum_dclr = function(i) {
1070
+ if(i===undefined) {
1071
+ i = null;
1072
+ }
1073
+ if(i===null) {
1074
+ return this.getTypedRuleContexts(Enum_dclrContext);
1075
+ } else {
1076
+ return this.getTypedRuleContext(Enum_dclrContext,i);
1077
+ }
1078
+ };
2501
1079
 
1080
+ association_dclr = function(i) {
1081
+ if(i===undefined) {
1082
+ i = null;
1083
+ }
1084
+ if(i===null) {
1085
+ return this.getTypedRuleContexts(Association_dclrContext);
1086
+ } else {
1087
+ return this.getTypedRuleContext(Association_dclrContext,i);
1088
+ }
1089
+ };
2502
1090
 
2503
- class ModifierContext extends antlr4.ParserRuleContext {
1091
+ associative_class_dclr = function(i) {
1092
+ if(i===undefined) {
1093
+ i = null;
1094
+ }
1095
+ if(i===null) {
1096
+ return this.getTypedRuleContexts(Associative_class_dclrContext);
1097
+ } else {
1098
+ return this.getTypedRuleContext(Associative_class_dclrContext,i);
1099
+ }
1100
+ };
2504
1101
 
2505
- constructor(parser, parent, invokingState) {
2506
- if(parent===undefined) {
2507
- parent = null;
2508
- }
2509
- if(invokingState===undefined || invokingState===null) {
2510
- invokingState = -1;
2511
- }
2512
- super(parent, invokingState);
2513
- this.parser = parser;
2514
- this.ruleIndex = PlantUMLParser.RULE_modifier;
2515
- }
1102
+ COMMENT = function(i) {
1103
+ if(i===undefined) {
1104
+ i = null;
1105
+ }
1106
+ if(i===null) {
1107
+ return this.getTokens(PlantUMLParser.COMMENT);
1108
+ } else {
1109
+ return this.getToken(PlantUMLParser.COMMENT, i);
1110
+ }
1111
+ };
2516
1112
 
2517
1113
 
2518
1114
  enterRule(listener) {
2519
- if(listener instanceof PlantUMLListener ) {
2520
- listener.enterModifier(this);
1115
+ if(listener instanceof PlantUMLParserListener ) {
1116
+ listener.enterUml(this);
2521
1117
  }
2522
1118
  }
2523
1119
 
2524
1120
  exitRule(listener) {
2525
- if(listener instanceof PlantUMLListener ) {
2526
- listener.exitModifier(this);
1121
+ if(listener instanceof PlantUMLParserListener ) {
1122
+ listener.exitUml(this);
2527
1123
  }
2528
1124
  }
2529
1125
 
2530
1126
  accept(visitor) {
2531
- if ( visitor instanceof PlantUMLVisitor ) {
2532
- return visitor.visitModifier(this);
1127
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1128
+ return visitor.visitUml(this);
2533
1129
  } else {
2534
1130
  return visitor.visitChildren(this);
2535
1131
  }
@@ -2540,7 +1136,7 @@ class ModifierContext extends antlr4.ParserRuleContext {
2540
1136
 
2541
1137
 
2542
1138
 
2543
- class TypeContext extends antlr4.ParserRuleContext {
1139
+ class Class_dclrContext extends antlr4.ParserRuleContext {
2544
1140
 
2545
1141
  constructor(parser, parent, invokingState) {
2546
1142
  if(parent===undefined) {
@@ -2551,43 +1147,52 @@ class TypeContext extends antlr4.ParserRuleContext {
2551
1147
  }
2552
1148
  super(parent, invokingState);
2553
1149
  this.parser = parser;
2554
- this.ruleIndex = PlantUMLParser.RULE_type;
1150
+ this.ruleIndex = PlantUMLParser.RULE_class_dclr;
2555
1151
  }
2556
1152
 
2557
- type = function(i) {
2558
- if(i===undefined) {
2559
- i = null;
2560
- }
2561
- if(i===null) {
2562
- return this.getTypedRuleContexts(TypeContext);
2563
- } else {
2564
- return this.getTypedRuleContext(TypeContext,i);
2565
- }
1153
+ CLASS() {
1154
+ return this.getToken(PlantUMLParser.CLASS, 0);
2566
1155
  };
2567
1156
 
2568
- identifier() {
2569
- return this.getTypedRuleContext(IdentifierContext,0);
1157
+ ident() {
1158
+ return this.getTypedRuleContext(IdentContext,0);
2570
1159
  };
2571
1160
 
2572
- integerLiteral() {
2573
- return this.getTypedRuleContext(IntegerLiteralContext,0);
1161
+ class_type() {
1162
+ return this.getTypedRuleContext(Class_typeContext,0);
1163
+ };
1164
+
1165
+ stereotype() {
1166
+ return this.getTypedRuleContext(StereotypeContext,0);
1167
+ };
1168
+
1169
+ extension_dclr() {
1170
+ return this.getTypedRuleContext(Extension_dclrContext,0);
1171
+ };
1172
+
1173
+ class_body() {
1174
+ return this.getTypedRuleContext(Class_bodyContext,0);
1175
+ };
1176
+
1177
+ NEWLINE() {
1178
+ return this.getToken(PlantUMLParser.NEWLINE, 0);
2574
1179
  };
2575
1180
 
2576
1181
  enterRule(listener) {
2577
- if(listener instanceof PlantUMLListener ) {
2578
- listener.enterType(this);
1182
+ if(listener instanceof PlantUMLParserListener ) {
1183
+ listener.enterClass_dclr(this);
2579
1184
  }
2580
1185
  }
2581
1186
 
2582
1187
  exitRule(listener) {
2583
- if(listener instanceof PlantUMLListener ) {
2584
- listener.exitType(this);
1188
+ if(listener instanceof PlantUMLParserListener ) {
1189
+ listener.exitClass_dclr(this);
2585
1190
  }
2586
1191
  }
2587
1192
 
2588
1193
  accept(visitor) {
2589
- if ( visitor instanceof PlantUMLVisitor ) {
2590
- return visitor.visitType(this);
1194
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1195
+ return visitor.visitClass_dclr(this);
2591
1196
  } else {
2592
1197
  return visitor.visitChildren(this);
2593
1198
  }
@@ -2598,7 +1203,7 @@ class TypeContext extends antlr4.ParserRuleContext {
2598
1203
 
2599
1204
 
2600
1205
 
2601
- class InheritanceContext extends antlr4.ParserRuleContext {
1206
+ class Class_bodyContext extends antlr4.ParserRuleContext {
2602
1207
 
2603
1208
  constructor(parser, parent, invokingState) {
2604
1209
  if(parent===undefined) {
@@ -2609,43 +1214,43 @@ class InheritanceContext extends antlr4.ParserRuleContext {
2609
1214
  }
2610
1215
  super(parent, invokingState);
2611
1216
  this.parser = parser;
2612
- this.ruleIndex = PlantUMLParser.RULE_inheritance;
1217
+ this.ruleIndex = PlantUMLParser.RULE_class_body;
2613
1218
  }
2614
1219
 
2615
- identifier = function(i) {
1220
+ CLASS_BODY_START() {
1221
+ return this.getToken(PlantUMLParser.CLASS_BODY_START, 0);
1222
+ };
1223
+
1224
+ BODY_CLOSE() {
1225
+ return this.getToken(PlantUMLParser.BODY_CLOSE, 0);
1226
+ };
1227
+
1228
+ body_content = function(i) {
2616
1229
  if(i===undefined) {
2617
1230
  i = null;
2618
1231
  }
2619
1232
  if(i===null) {
2620
- return this.getTypedRuleContexts(IdentifierContext);
1233
+ return this.getTypedRuleContexts(Body_contentContext);
2621
1234
  } else {
2622
- return this.getTypedRuleContext(IdentifierContext,i);
1235
+ return this.getTypedRuleContext(Body_contentContext,i);
2623
1236
  }
2624
1237
  };
2625
1238
 
2626
- leftAncestorSymbol() {
2627
- return this.getTypedRuleContext(LeftAncestorSymbolContext,0);
2628
- };
2629
-
2630
- rightAncestorSymbol() {
2631
- return this.getTypedRuleContext(RightAncestorSymbolContext,0);
2632
- };
2633
-
2634
1239
  enterRule(listener) {
2635
- if(listener instanceof PlantUMLListener ) {
2636
- listener.enterInheritance(this);
1240
+ if(listener instanceof PlantUMLParserListener ) {
1241
+ listener.enterClass_body(this);
2637
1242
  }
2638
1243
  }
2639
1244
 
2640
1245
  exitRule(listener) {
2641
- if(listener instanceof PlantUMLListener ) {
2642
- listener.exitInheritance(this);
1246
+ if(listener instanceof PlantUMLParserListener ) {
1247
+ listener.exitClass_body(this);
2643
1248
  }
2644
1249
  }
2645
1250
 
2646
1251
  accept(visitor) {
2647
- if ( visitor instanceof PlantUMLVisitor ) {
2648
- return visitor.visitInheritance(this);
1252
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1253
+ return visitor.visitClass_body(this);
2649
1254
  } else {
2650
1255
  return visitor.visitChildren(this);
2651
1256
  }
@@ -2656,7 +1261,7 @@ class InheritanceContext extends antlr4.ParserRuleContext {
2656
1261
 
2657
1262
 
2658
1263
 
2659
- class LeftAncestorSymbolContext extends antlr4.ParserRuleContext {
1264
+ class Body_contentContext extends antlr4.ParserRuleContext {
2660
1265
 
2661
1266
  constructor(parser, parent, invokingState) {
2662
1267
  if(parent===undefined) {
@@ -2667,25 +1272,44 @@ class LeftAncestorSymbolContext extends antlr4.ParserRuleContext {
2667
1272
  }
2668
1273
  super(parent, invokingState);
2669
1274
  this.parser = parser;
2670
- this.ruleIndex = PlantUMLParser.RULE_leftAncestorSymbol;
1275
+ this.ruleIndex = PlantUMLParser.RULE_body_content;
2671
1276
  }
2672
1277
 
1278
+ BODY_INLINE_BRACES() {
1279
+ return this.getToken(PlantUMLParser.BODY_INLINE_BRACES, 0);
1280
+ };
1281
+
1282
+ BODY_OPEN() {
1283
+ return this.getToken(PlantUMLParser.BODY_OPEN, 0);
1284
+ };
1285
+
1286
+ BODY_CONTENT() {
1287
+ return this.getToken(PlantUMLParser.BODY_CONTENT, 0);
1288
+ };
1289
+
1290
+ BODY_NL() {
1291
+ return this.getToken(PlantUMLParser.BODY_NL, 0);
1292
+ };
1293
+
1294
+ nested_body() {
1295
+ return this.getTypedRuleContext(Nested_bodyContext,0);
1296
+ };
2673
1297
 
2674
1298
  enterRule(listener) {
2675
- if(listener instanceof PlantUMLListener ) {
2676
- listener.enterLeftAncestorSymbol(this);
1299
+ if(listener instanceof PlantUMLParserListener ) {
1300
+ listener.enterBody_content(this);
2677
1301
  }
2678
1302
  }
2679
1303
 
2680
1304
  exitRule(listener) {
2681
- if(listener instanceof PlantUMLListener ) {
2682
- listener.exitLeftAncestorSymbol(this);
1305
+ if(listener instanceof PlantUMLParserListener ) {
1306
+ listener.exitBody_content(this);
2683
1307
  }
2684
1308
  }
2685
1309
 
2686
1310
  accept(visitor) {
2687
- if ( visitor instanceof PlantUMLVisitor ) {
2688
- return visitor.visitLeftAncestorSymbol(this);
1311
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1312
+ return visitor.visitBody_content(this);
2689
1313
  } else {
2690
1314
  return visitor.visitChildren(this);
2691
1315
  }
@@ -2696,7 +1320,7 @@ class LeftAncestorSymbolContext extends antlr4.ParserRuleContext {
2696
1320
 
2697
1321
 
2698
1322
 
2699
- class RightAncestorSymbolContext extends antlr4.ParserRuleContext {
1323
+ class Nested_bodyContext extends antlr4.ParserRuleContext {
2700
1324
 
2701
1325
  constructor(parser, parent, invokingState) {
2702
1326
  if(parent===undefined) {
@@ -2707,25 +1331,43 @@ class RightAncestorSymbolContext extends antlr4.ParserRuleContext {
2707
1331
  }
2708
1332
  super(parent, invokingState);
2709
1333
  this.parser = parser;
2710
- this.ruleIndex = PlantUMLParser.RULE_rightAncestorSymbol;
1334
+ this.ruleIndex = PlantUMLParser.RULE_nested_body;
2711
1335
  }
2712
1336
 
1337
+ BODY_OPEN() {
1338
+ return this.getToken(PlantUMLParser.BODY_OPEN, 0);
1339
+ };
1340
+
1341
+ BODY_CLOSE() {
1342
+ return this.getToken(PlantUMLParser.BODY_CLOSE, 0);
1343
+ };
1344
+
1345
+ body_content = function(i) {
1346
+ if(i===undefined) {
1347
+ i = null;
1348
+ }
1349
+ if(i===null) {
1350
+ return this.getTypedRuleContexts(Body_contentContext);
1351
+ } else {
1352
+ return this.getTypedRuleContext(Body_contentContext,i);
1353
+ }
1354
+ };
2713
1355
 
2714
1356
  enterRule(listener) {
2715
- if(listener instanceof PlantUMLListener ) {
2716
- listener.enterRightAncestorSymbol(this);
1357
+ if(listener instanceof PlantUMLParserListener ) {
1358
+ listener.enterNested_body(this);
2717
1359
  }
2718
1360
  }
2719
1361
 
2720
1362
  exitRule(listener) {
2721
- if(listener instanceof PlantUMLListener ) {
2722
- listener.exitRightAncestorSymbol(this);
1363
+ if(listener instanceof PlantUMLParserListener ) {
1364
+ listener.exitNested_body(this);
2723
1365
  }
2724
1366
  }
2725
1367
 
2726
1368
  accept(visitor) {
2727
- if ( visitor instanceof PlantUMLVisitor ) {
2728
- return visitor.visitRightAncestorSymbol(this);
1369
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1370
+ return visitor.visitNested_body(this);
2729
1371
  } else {
2730
1372
  return visitor.visitChildren(this);
2731
1373
  }
@@ -2736,7 +1378,7 @@ class RightAncestorSymbolContext extends antlr4.ParserRuleContext {
2736
1378
 
2737
1379
 
2738
1380
 
2739
- class AssociationContext extends antlr4.ParserRuleContext {
1381
+ class Class_typeContext extends antlr4.ParserRuleContext {
2740
1382
 
2741
1383
  constructor(parser, parent, invokingState) {
2742
1384
  if(parent===undefined) {
@@ -2747,54 +1389,32 @@ class AssociationContext extends antlr4.ParserRuleContext {
2747
1389
  }
2748
1390
  super(parent, invokingState);
2749
1391
  this.parser = parser;
2750
- this.ruleIndex = PlantUMLParser.RULE_association;
1392
+ this.ruleIndex = PlantUMLParser.RULE_class_type;
2751
1393
  }
2752
1394
 
2753
- identifier = function(i) {
2754
- if(i===undefined) {
2755
- i = null;
2756
- }
2757
- if(i===null) {
2758
- return this.getTypedRuleContexts(IdentifierContext);
2759
- } else {
2760
- return this.getTypedRuleContext(IdentifierContext,i);
2761
- }
2762
- };
2763
-
2764
- associationSymbol() {
2765
- return this.getTypedRuleContext(AssociationSymbolContext,0);
2766
- };
2767
-
2768
- stringExpression = function(i) {
2769
- if(i===undefined) {
2770
- i = null;
2771
- }
2772
- if(i===null) {
2773
- return this.getTypedRuleContexts(StringExpressionContext);
2774
- } else {
2775
- return this.getTypedRuleContext(StringExpressionContext,i);
2776
- }
1395
+ ABSTRACT() {
1396
+ return this.getToken(PlantUMLParser.ABSTRACT, 0);
2777
1397
  };
2778
1398
 
2779
- lineAnnotation() {
2780
- return this.getTypedRuleContext(LineAnnotationContext,0);
1399
+ INTERFACE() {
1400
+ return this.getToken(PlantUMLParser.INTERFACE, 0);
2781
1401
  };
2782
1402
 
2783
1403
  enterRule(listener) {
2784
- if(listener instanceof PlantUMLListener ) {
2785
- listener.enterAssociation(this);
1404
+ if(listener instanceof PlantUMLParserListener ) {
1405
+ listener.enterClass_type(this);
2786
1406
  }
2787
1407
  }
2788
1408
 
2789
1409
  exitRule(listener) {
2790
- if(listener instanceof PlantUMLListener ) {
2791
- listener.exitAssociation(this);
1410
+ if(listener instanceof PlantUMLParserListener ) {
1411
+ listener.exitClass_type(this);
2792
1412
  }
2793
1413
  }
2794
1414
 
2795
1415
  accept(visitor) {
2796
- if ( visitor instanceof PlantUMLVisitor ) {
2797
- return visitor.visitAssociation(this);
1416
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1417
+ return visitor.visitClass_type(this);
2798
1418
  } else {
2799
1419
  return visitor.visitChildren(this);
2800
1420
  }
@@ -2805,7 +1425,7 @@ class AssociationContext extends antlr4.ParserRuleContext {
2805
1425
 
2806
1426
 
2807
1427
 
2808
- class AssociationSymbolContext extends antlr4.ParserRuleContext {
1428
+ class StereotypeContext extends antlr4.ParserRuleContext {
2809
1429
 
2810
1430
  constructor(parser, parent, invokingState) {
2811
1431
  if(parent===undefined) {
@@ -2816,25 +1436,28 @@ class AssociationSymbolContext extends antlr4.ParserRuleContext {
2816
1436
  }
2817
1437
  super(parent, invokingState);
2818
1438
  this.parser = parser;
2819
- this.ruleIndex = PlantUMLParser.RULE_associationSymbol;
1439
+ this.ruleIndex = PlantUMLParser.RULE_stereotype;
2820
1440
  }
2821
1441
 
1442
+ STEREOTYPE_TEXT() {
1443
+ return this.getToken(PlantUMLParser.STEREOTYPE_TEXT, 0);
1444
+ };
2822
1445
 
2823
1446
  enterRule(listener) {
2824
- if(listener instanceof PlantUMLListener ) {
2825
- listener.enterAssociationSymbol(this);
1447
+ if(listener instanceof PlantUMLParserListener ) {
1448
+ listener.enterStereotype(this);
2826
1449
  }
2827
1450
  }
2828
1451
 
2829
1452
  exitRule(listener) {
2830
- if(listener instanceof PlantUMLListener ) {
2831
- listener.exitAssociationSymbol(this);
1453
+ if(listener instanceof PlantUMLParserListener ) {
1454
+ listener.exitStereotype(this);
2832
1455
  }
2833
1456
  }
2834
1457
 
2835
1458
  accept(visitor) {
2836
- if ( visitor instanceof PlantUMLVisitor ) {
2837
- return visitor.visitAssociationSymbol(this);
1459
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1460
+ return visitor.visitStereotype(this);
2838
1461
  } else {
2839
1462
  return visitor.visitChildren(this);
2840
1463
  }
@@ -2845,7 +1468,7 @@ class AssociationSymbolContext extends antlr4.ParserRuleContext {
2845
1468
 
2846
1469
 
2847
1470
 
2848
- class AggregationContext extends antlr4.ParserRuleContext {
1471
+ class Extension_dclrContext extends antlr4.ParserRuleContext {
2849
1472
 
2850
1473
  constructor(parser, parent, invokingState) {
2851
1474
  if(parent===undefined) {
@@ -2856,54 +1479,32 @@ class AggregationContext extends antlr4.ParserRuleContext {
2856
1479
  }
2857
1480
  super(parent, invokingState);
2858
1481
  this.parser = parser;
2859
- this.ruleIndex = PlantUMLParser.RULE_aggregation;
1482
+ this.ruleIndex = PlantUMLParser.RULE_extension_dclr;
2860
1483
  }
2861
1484
 
2862
- identifier = function(i) {
2863
- if(i===undefined) {
2864
- i = null;
2865
- }
2866
- if(i===null) {
2867
- return this.getTypedRuleContexts(IdentifierContext);
2868
- } else {
2869
- return this.getTypedRuleContext(IdentifierContext,i);
2870
- }
2871
- };
2872
-
2873
- aggregationSymbol() {
2874
- return this.getTypedRuleContext(AggregationSymbolContext,0);
2875
- };
2876
-
2877
- stringExpression = function(i) {
2878
- if(i===undefined) {
2879
- i = null;
2880
- }
2881
- if(i===null) {
2882
- return this.getTypedRuleContexts(StringExpressionContext);
2883
- } else {
2884
- return this.getTypedRuleContext(StringExpressionContext,i);
2885
- }
1485
+ EXTENDS() {
1486
+ return this.getToken(PlantUMLParser.EXTENDS, 0);
2886
1487
  };
2887
1488
 
2888
- lineAnnotation() {
2889
- return this.getTypedRuleContext(LineAnnotationContext,0);
1489
+ ident() {
1490
+ return this.getTypedRuleContext(IdentContext,0);
2890
1491
  };
2891
1492
 
2892
1493
  enterRule(listener) {
2893
- if(listener instanceof PlantUMLListener ) {
2894
- listener.enterAggregation(this);
1494
+ if(listener instanceof PlantUMLParserListener ) {
1495
+ listener.enterExtension_dclr(this);
2895
1496
  }
2896
1497
  }
2897
1498
 
2898
1499
  exitRule(listener) {
2899
- if(listener instanceof PlantUMLListener ) {
2900
- listener.exitAggregation(this);
1500
+ if(listener instanceof PlantUMLParserListener ) {
1501
+ listener.exitExtension_dclr(this);
2901
1502
  }
2902
1503
  }
2903
1504
 
2904
1505
  accept(visitor) {
2905
- if ( visitor instanceof PlantUMLVisitor ) {
2906
- return visitor.visitAggregation(this);
1506
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1507
+ return visitor.visitExtension_dclr(this);
2907
1508
  } else {
2908
1509
  return visitor.visitChildren(this);
2909
1510
  }
@@ -2914,7 +1515,7 @@ class AggregationContext extends antlr4.ParserRuleContext {
2914
1515
 
2915
1516
 
2916
1517
 
2917
- class AggregationSymbolContext extends antlr4.ParserRuleContext {
1518
+ class IdentContext extends antlr4.ParserRuleContext {
2918
1519
 
2919
1520
  constructor(parser, parent, invokingState) {
2920
1521
  if(parent===undefined) {
@@ -2925,25 +1526,28 @@ class AggregationSymbolContext extends antlr4.ParserRuleContext {
2925
1526
  }
2926
1527
  super(parent, invokingState);
2927
1528
  this.parser = parser;
2928
- this.ruleIndex = PlantUMLParser.RULE_aggregationSymbol;
1529
+ this.ruleIndex = PlantUMLParser.RULE_ident;
2929
1530
  }
2930
1531
 
1532
+ IDENT() {
1533
+ return this.getToken(PlantUMLParser.IDENT, 0);
1534
+ };
2931
1535
 
2932
1536
  enterRule(listener) {
2933
- if(listener instanceof PlantUMLListener ) {
2934
- listener.enterAggregationSymbol(this);
1537
+ if(listener instanceof PlantUMLParserListener ) {
1538
+ listener.enterIdent(this);
2935
1539
  }
2936
1540
  }
2937
1541
 
2938
1542
  exitRule(listener) {
2939
- if(listener instanceof PlantUMLListener ) {
2940
- listener.exitAggregationSymbol(this);
1543
+ if(listener instanceof PlantUMLParserListener ) {
1544
+ listener.exitIdent(this);
2941
1545
  }
2942
1546
  }
2943
1547
 
2944
1548
  accept(visitor) {
2945
- if ( visitor instanceof PlantUMLVisitor ) {
2946
- return visitor.visitAggregationSymbol(this);
1549
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1550
+ return visitor.visitIdent(this);
2947
1551
  } else {
2948
1552
  return visitor.visitChildren(this);
2949
1553
  }
@@ -2954,7 +1558,7 @@ class AggregationSymbolContext extends antlr4.ParserRuleContext {
2954
1558
 
2955
1559
 
2956
1560
 
2957
- class CompositionContext extends antlr4.ParserRuleContext {
1561
+ class Enum_dclrContext extends antlr4.ParserRuleContext {
2958
1562
 
2959
1563
  constructor(parser, parent, invokingState) {
2960
1564
  if(parent===undefined) {
@@ -2965,54 +1569,40 @@ class CompositionContext extends antlr4.ParserRuleContext {
2965
1569
  }
2966
1570
  super(parent, invokingState);
2967
1571
  this.parser = parser;
2968
- this.ruleIndex = PlantUMLParser.RULE_composition;
1572
+ this.ruleIndex = PlantUMLParser.RULE_enum_dclr;
2969
1573
  }
2970
1574
 
2971
- identifier = function(i) {
2972
- if(i===undefined) {
2973
- i = null;
2974
- }
2975
- if(i===null) {
2976
- return this.getTypedRuleContexts(IdentifierContext);
2977
- } else {
2978
- return this.getTypedRuleContext(IdentifierContext,i);
2979
- }
1575
+ ENUM() {
1576
+ return this.getToken(PlantUMLParser.ENUM, 0);
2980
1577
  };
2981
1578
 
2982
- compositionSymbol() {
2983
- return this.getTypedRuleContext(CompositionSymbolContext,0);
1579
+ ident() {
1580
+ return this.getTypedRuleContext(IdentContext,0);
2984
1581
  };
2985
1582
 
2986
- stringExpression = function(i) {
2987
- if(i===undefined) {
2988
- i = null;
2989
- }
2990
- if(i===null) {
2991
- return this.getTypedRuleContexts(StringExpressionContext);
2992
- } else {
2993
- return this.getTypedRuleContext(StringExpressionContext,i);
2994
- }
1583
+ stereotype() {
1584
+ return this.getTypedRuleContext(StereotypeContext,0);
2995
1585
  };
2996
1586
 
2997
- lineAnnotation() {
2998
- return this.getTypedRuleContext(LineAnnotationContext,0);
1587
+ class_body() {
1588
+ return this.getTypedRuleContext(Class_bodyContext,0);
2999
1589
  };
3000
1590
 
3001
1591
  enterRule(listener) {
3002
- if(listener instanceof PlantUMLListener ) {
3003
- listener.enterComposition(this);
1592
+ if(listener instanceof PlantUMLParserListener ) {
1593
+ listener.enterEnum_dclr(this);
3004
1594
  }
3005
1595
  }
3006
1596
 
3007
1597
  exitRule(listener) {
3008
- if(listener instanceof PlantUMLListener ) {
3009
- listener.exitComposition(this);
1598
+ if(listener instanceof PlantUMLParserListener ) {
1599
+ listener.exitEnum_dclr(this);
3010
1600
  }
3011
1601
  }
3012
1602
 
3013
1603
  accept(visitor) {
3014
- if ( visitor instanceof PlantUMLVisitor ) {
3015
- return visitor.visitComposition(this);
1604
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1605
+ return visitor.visitEnum_dclr(this);
3016
1606
  } else {
3017
1607
  return visitor.visitChildren(this);
3018
1608
  }
@@ -3023,7 +1613,7 @@ class CompositionContext extends antlr4.ParserRuleContext {
3023
1613
 
3024
1614
 
3025
1615
 
3026
- class CompositionSymbolContext extends antlr4.ParserRuleContext {
1616
+ class Association_dclrContext extends antlr4.ParserRuleContext {
3027
1617
 
3028
1618
  constructor(parser, parent, invokingState) {
3029
1619
  if(parent===undefined) {
@@ -3034,25 +1624,40 @@ class CompositionSymbolContext extends antlr4.ParserRuleContext {
3034
1624
  }
3035
1625
  super(parent, invokingState);
3036
1626
  this.parser = parser;
3037
- this.ruleIndex = PlantUMLParser.RULE_compositionSymbol;
1627
+ this.ruleIndex = PlantUMLParser.RULE_association_dclr;
3038
1628
  }
3039
1629
 
1630
+ association_left() {
1631
+ return this.getTypedRuleContext(Association_leftContext,0);
1632
+ };
1633
+
1634
+ relation() {
1635
+ return this.getTypedRuleContext(RelationContext,0);
1636
+ };
1637
+
1638
+ association_right() {
1639
+ return this.getTypedRuleContext(Association_rightContext,0);
1640
+ };
1641
+
1642
+ association_name() {
1643
+ return this.getTypedRuleContext(Association_nameContext,0);
1644
+ };
3040
1645
 
3041
1646
  enterRule(listener) {
3042
- if(listener instanceof PlantUMLListener ) {
3043
- listener.enterCompositionSymbol(this);
1647
+ if(listener instanceof PlantUMLParserListener ) {
1648
+ listener.enterAssociation_dclr(this);
3044
1649
  }
3045
1650
  }
3046
1651
 
3047
1652
  exitRule(listener) {
3048
- if(listener instanceof PlantUMLListener ) {
3049
- listener.exitCompositionSymbol(this);
1653
+ if(listener instanceof PlantUMLParserListener ) {
1654
+ listener.exitAssociation_dclr(this);
3050
1655
  }
3051
1656
  }
3052
1657
 
3053
1658
  accept(visitor) {
3054
- if ( visitor instanceof PlantUMLVisitor ) {
3055
- return visitor.visitCompositionSymbol(this);
1659
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1660
+ return visitor.visitAssociation_dclr(this);
3056
1661
  } else {
3057
1662
  return visitor.visitChildren(this);
3058
1663
  }
@@ -3063,7 +1668,7 @@ class CompositionSymbolContext extends antlr4.ParserRuleContext {
3063
1668
 
3064
1669
 
3065
1670
 
3066
- class DependencyContext extends antlr4.ParserRuleContext {
1671
+ class RelationContext extends antlr4.ParserRuleContext {
3067
1672
 
3068
1673
  constructor(parser, parent, invokingState) {
3069
1674
  if(parent===undefined) {
@@ -3074,94 +1679,116 @@ class DependencyContext extends antlr4.ParserRuleContext {
3074
1679
  }
3075
1680
  super(parent, invokingState);
3076
1681
  this.parser = parser;
3077
- this.ruleIndex = PlantUMLParser.RULE_dependency;
1682
+ this.ruleIndex = PlantUMLParser.RULE_relation;
3078
1683
  }
3079
1684
 
3080
- identifier = function(i) {
3081
- if(i===undefined) {
3082
- i = null;
3083
- }
1685
+ LT() {
1686
+ return this.getToken(PlantUMLParser.LT, 0);
1687
+ };
1688
+
1689
+ GT() {
1690
+ return this.getToken(PlantUMLParser.GT, 0);
1691
+ };
1692
+
1693
+ DOUBLE_DOT = function(i) {
1694
+ if(i===undefined) {
1695
+ i = null;
1696
+ }
3084
1697
  if(i===null) {
3085
- return this.getTypedRuleContexts(IdentifierContext);
1698
+ return this.getTokens(PlantUMLParser.DOUBLE_DOT);
3086
1699
  } else {
3087
- return this.getTypedRuleContext(IdentifierContext,i);
1700
+ return this.getToken(PlantUMLParser.DOUBLE_DOT, i);
3088
1701
  }
3089
1702
  };
3090
1703
 
3091
- dependencySymbol() {
3092
- return this.getTypedRuleContext(DependencySymbolContext,0);
3093
- };
3094
1704
 
3095
- stringExpression = function(i) {
3096
- if(i===undefined) {
3097
- i = null;
3098
- }
1705
+ DASH = function(i) {
1706
+ if(i===undefined) {
1707
+ i = null;
1708
+ }
3099
1709
  if(i===null) {
3100
- return this.getTypedRuleContexts(StringExpressionContext);
1710
+ return this.getTokens(PlantUMLParser.DASH);
3101
1711
  } else {
3102
- return this.getTypedRuleContext(StringExpressionContext,i);
1712
+ return this.getToken(PlantUMLParser.DASH, i);
3103
1713
  }
3104
1714
  };
3105
1715
 
3106
- lineAnnotation() {
3107
- return this.getTypedRuleContext(LineAnnotationContext,0);
3108
- };
3109
1716
 
3110
- enterRule(listener) {
3111
- if(listener instanceof PlantUMLListener ) {
3112
- listener.enterDependency(this);
1717
+ PIPE_GT = function(i) {
1718
+ if(i===undefined) {
1719
+ i = null;
3113
1720
  }
3114
- }
1721
+ if(i===null) {
1722
+ return this.getTokens(PlantUMLParser.PIPE_GT);
1723
+ } else {
1724
+ return this.getToken(PlantUMLParser.PIPE_GT, i);
1725
+ }
1726
+ };
3115
1727
 
3116
- exitRule(listener) {
3117
- if(listener instanceof PlantUMLListener ) {
3118
- listener.exitDependency(this);
3119
- }
3120
- }
3121
1728
 
3122
- accept(visitor) {
3123
- if ( visitor instanceof PlantUMLVisitor ) {
3124
- return visitor.visitDependency(this);
1729
+ LT_PIPE = function(i) {
1730
+ if(i===undefined) {
1731
+ i = null;
1732
+ }
1733
+ if(i===null) {
1734
+ return this.getTokens(PlantUMLParser.LT_PIPE);
3125
1735
  } else {
3126
- return visitor.visitChildren(this);
1736
+ return this.getToken(PlantUMLParser.LT_PIPE, i);
3127
1737
  }
3128
- }
1738
+ };
3129
1739
 
3130
1740
 
3131
- }
1741
+ O = function(i) {
1742
+ if(i===undefined) {
1743
+ i = null;
1744
+ }
1745
+ if(i===null) {
1746
+ return this.getTokens(PlantUMLParser.O);
1747
+ } else {
1748
+ return this.getToken(PlantUMLParser.O, i);
1749
+ }
1750
+ };
3132
1751
 
3133
1752
 
1753
+ CARET = function(i) {
1754
+ if(i===undefined) {
1755
+ i = null;
1756
+ }
1757
+ if(i===null) {
1758
+ return this.getTokens(PlantUMLParser.CARET);
1759
+ } else {
1760
+ return this.getToken(PlantUMLParser.CARET, i);
1761
+ }
1762
+ };
3134
1763
 
3135
- class DependencySymbolContext extends antlr4.ParserRuleContext {
3136
1764
 
3137
- constructor(parser, parent, invokingState) {
3138
- if(parent===undefined) {
3139
- parent = null;
3140
- }
3141
- if(invokingState===undefined || invokingState===null) {
3142
- invokingState = -1;
3143
- }
3144
- super(parent, invokingState);
3145
- this.parser = parser;
3146
- this.ruleIndex = PlantUMLParser.RULE_dependencySymbol;
3147
- }
1765
+ STAR = function(i) {
1766
+ if(i===undefined) {
1767
+ i = null;
1768
+ }
1769
+ if(i===null) {
1770
+ return this.getTokens(PlantUMLParser.STAR);
1771
+ } else {
1772
+ return this.getToken(PlantUMLParser.STAR, i);
1773
+ }
1774
+ };
3148
1775
 
3149
1776
 
3150
1777
  enterRule(listener) {
3151
- if(listener instanceof PlantUMLListener ) {
3152
- listener.enterDependencySymbol(this);
1778
+ if(listener instanceof PlantUMLParserListener ) {
1779
+ listener.enterRelation(this);
3153
1780
  }
3154
1781
  }
3155
1782
 
3156
1783
  exitRule(listener) {
3157
- if(listener instanceof PlantUMLListener ) {
3158
- listener.exitDependencySymbol(this);
1784
+ if(listener instanceof PlantUMLParserListener ) {
1785
+ listener.exitRelation(this);
3159
1786
  }
3160
1787
  }
3161
1788
 
3162
1789
  accept(visitor) {
3163
- if ( visitor instanceof PlantUMLVisitor ) {
3164
- return visitor.visitDependencySymbol(this);
1790
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1791
+ return visitor.visitRelation(this);
3165
1792
  } else {
3166
1793
  return visitor.visitChildren(this);
3167
1794
  }
@@ -3172,7 +1799,7 @@ class DependencySymbolContext extends antlr4.ParserRuleContext {
3172
1799
 
3173
1800
 
3174
1801
 
3175
- class LineAnnotationContext extends antlr4.ParserRuleContext {
1802
+ class Association_leftContext extends antlr4.ParserRuleContext {
3176
1803
 
3177
1804
  constructor(parser, parent, invokingState) {
3178
1805
  if(parent===undefined) {
@@ -3183,32 +1810,32 @@ class LineAnnotationContext extends antlr4.ParserRuleContext {
3183
1810
  }
3184
1811
  super(parent, invokingState);
3185
1812
  this.parser = parser;
3186
- this.ruleIndex = PlantUMLParser.RULE_lineAnnotation;
1813
+ this.ruleIndex = PlantUMLParser.RULE_association_left;
3187
1814
  }
3188
1815
 
3189
- identifier() {
3190
- return this.getTypedRuleContext(IdentifierContext,0);
1816
+ ident() {
1817
+ return this.getTypedRuleContext(IdentContext,0);
3191
1818
  };
3192
1819
 
3193
- direction() {
3194
- return this.getTypedRuleContext(DirectionContext,0);
1820
+ association_detail() {
1821
+ return this.getTypedRuleContext(Association_detailContext,0);
3195
1822
  };
3196
1823
 
3197
1824
  enterRule(listener) {
3198
- if(listener instanceof PlantUMLListener ) {
3199
- listener.enterLineAnnotation(this);
1825
+ if(listener instanceof PlantUMLParserListener ) {
1826
+ listener.enterAssociation_left(this);
3200
1827
  }
3201
1828
  }
3202
1829
 
3203
1830
  exitRule(listener) {
3204
- if(listener instanceof PlantUMLListener ) {
3205
- listener.exitLineAnnotation(this);
1831
+ if(listener instanceof PlantUMLParserListener ) {
1832
+ listener.exitAssociation_left(this);
3206
1833
  }
3207
1834
  }
3208
1835
 
3209
1836
  accept(visitor) {
3210
- if ( visitor instanceof PlantUMLVisitor ) {
3211
- return visitor.visitLineAnnotation(this);
1837
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1838
+ return visitor.visitAssociation_left(this);
3212
1839
  } else {
3213
1840
  return visitor.visitChildren(this);
3214
1841
  }
@@ -3219,7 +1846,7 @@ class LineAnnotationContext extends antlr4.ParserRuleContext {
3219
1846
 
3220
1847
 
3221
1848
 
3222
- class DirectionContext extends antlr4.ParserRuleContext {
1849
+ class Association_rightContext extends antlr4.ParserRuleContext {
3223
1850
 
3224
1851
  constructor(parser, parent, invokingState) {
3225
1852
  if(parent===undefined) {
@@ -3230,25 +1857,32 @@ class DirectionContext extends antlr4.ParserRuleContext {
3230
1857
  }
3231
1858
  super(parent, invokingState);
3232
1859
  this.parser = parser;
3233
- this.ruleIndex = PlantUMLParser.RULE_direction;
1860
+ this.ruleIndex = PlantUMLParser.RULE_association_right;
3234
1861
  }
3235
1862
 
1863
+ ident() {
1864
+ return this.getTypedRuleContext(IdentContext,0);
1865
+ };
1866
+
1867
+ association_detail() {
1868
+ return this.getTypedRuleContext(Association_detailContext,0);
1869
+ };
3236
1870
 
3237
1871
  enterRule(listener) {
3238
- if(listener instanceof PlantUMLListener ) {
3239
- listener.enterDirection(this);
1872
+ if(listener instanceof PlantUMLParserListener ) {
1873
+ listener.enterAssociation_right(this);
3240
1874
  }
3241
1875
  }
3242
1876
 
3243
1877
  exitRule(listener) {
3244
- if(listener instanceof PlantUMLListener ) {
3245
- listener.exitDirection(this);
1878
+ if(listener instanceof PlantUMLParserListener ) {
1879
+ listener.exitAssociation_right(this);
3246
1880
  }
3247
1881
  }
3248
1882
 
3249
1883
  accept(visitor) {
3250
- if ( visitor instanceof PlantUMLVisitor ) {
3251
- return visitor.visitDirection(this);
1884
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1885
+ return visitor.visitAssociation_right(this);
3252
1886
  } else {
3253
1887
  return visitor.visitChildren(this);
3254
1888
  }
@@ -3259,7 +1893,7 @@ class DirectionContext extends antlr4.ParserRuleContext {
3259
1893
 
3260
1894
 
3261
1895
 
3262
- class IdentifierContext extends antlr4.ParserRuleContext {
1896
+ class Association_detailContext extends antlr4.ParserRuleContext {
3263
1897
 
3264
1898
  constructor(parser, parent, invokingState) {
3265
1899
  if(parent===undefined) {
@@ -3270,28 +1904,28 @@ class IdentifierContext extends antlr4.ParserRuleContext {
3270
1904
  }
3271
1905
  super(parent, invokingState);
3272
1906
  this.parser = parser;
3273
- this.ruleIndex = PlantUMLParser.RULE_identifier;
1907
+ this.ruleIndex = PlantUMLParser.RULE_association_detail;
3274
1908
  }
3275
1909
 
3276
- ID() {
3277
- return this.getToken(PlantUMLParser.ID, 0);
1910
+ ASSOC_DETAIL() {
1911
+ return this.getToken(PlantUMLParser.ASSOC_DETAIL, 0);
3278
1912
  };
3279
1913
 
3280
1914
  enterRule(listener) {
3281
- if(listener instanceof PlantUMLListener ) {
3282
- listener.enterIdentifier(this);
1915
+ if(listener instanceof PlantUMLParserListener ) {
1916
+ listener.enterAssociation_detail(this);
3283
1917
  }
3284
1918
  }
3285
1919
 
3286
1920
  exitRule(listener) {
3287
- if(listener instanceof PlantUMLListener ) {
3288
- listener.exitIdentifier(this);
1921
+ if(listener instanceof PlantUMLParserListener ) {
1922
+ listener.exitAssociation_detail(this);
3289
1923
  }
3290
1924
  }
3291
1925
 
3292
1926
  accept(visitor) {
3293
- if ( visitor instanceof PlantUMLVisitor ) {
3294
- return visitor.visitIdentifier(this);
1927
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1928
+ return visitor.visitAssociation_detail(this);
3295
1929
  } else {
3296
1930
  return visitor.visitChildren(this);
3297
1931
  }
@@ -3302,7 +1936,7 @@ class IdentifierContext extends antlr4.ParserRuleContext {
3302
1936
 
3303
1937
 
3304
1938
 
3305
- class StringExpressionContext extends antlr4.ParserRuleContext {
1939
+ class Association_nameContext extends antlr4.ParserRuleContext {
3306
1940
 
3307
1941
  constructor(parser, parent, invokingState) {
3308
1942
  if(parent===undefined) {
@@ -3313,32 +1947,28 @@ class StringExpressionContext extends antlr4.ParserRuleContext {
3313
1947
  }
3314
1948
  super(parent, invokingState);
3315
1949
  this.parser = parser;
3316
- this.ruleIndex = PlantUMLParser.RULE_stringExpression;
1950
+ this.ruleIndex = PlantUMLParser.RULE_association_name;
3317
1951
  }
3318
1952
 
3319
- STRING1_LITERAL() {
3320
- return this.getToken(PlantUMLParser.STRING1_LITERAL, 0);
3321
- };
3322
-
3323
- STRING2_LITERAL() {
3324
- return this.getToken(PlantUMLParser.STRING2_LITERAL, 0);
1953
+ AFTER_COLON_TEXT() {
1954
+ return this.getToken(PlantUMLParser.AFTER_COLON_TEXT, 0);
3325
1955
  };
3326
1956
 
3327
1957
  enterRule(listener) {
3328
- if(listener instanceof PlantUMLListener ) {
3329
- listener.enterStringExpression(this);
1958
+ if(listener instanceof PlantUMLParserListener ) {
1959
+ listener.enterAssociation_name(this);
3330
1960
  }
3331
1961
  }
3332
1962
 
3333
1963
  exitRule(listener) {
3334
- if(listener instanceof PlantUMLListener ) {
3335
- listener.exitStringExpression(this);
1964
+ if(listener instanceof PlantUMLParserListener ) {
1965
+ listener.exitAssociation_name(this);
3336
1966
  }
3337
1967
  }
3338
1968
 
3339
1969
  accept(visitor) {
3340
- if ( visitor instanceof PlantUMLVisitor ) {
3341
- return visitor.visitStringExpression(this);
1970
+ if ( visitor instanceof PlantUMLParserVisitor ) {
1971
+ return visitor.visitAssociation_name(this);
3342
1972
  } else {
3343
1973
  return visitor.visitChildren(this);
3344
1974
  }
@@ -3349,7 +1979,7 @@ class StringExpressionContext extends antlr4.ParserRuleContext {
3349
1979
 
3350
1980
 
3351
1981
 
3352
- class IntegerLiteralContext extends antlr4.ParserRuleContext {
1982
+ class Associative_class_dclrContext extends antlr4.ParserRuleContext {
3353
1983
 
3354
1984
  constructor(parser, parent, invokingState) {
3355
1985
  if(parent===undefined) {
@@ -3360,28 +1990,62 @@ class IntegerLiteralContext extends antlr4.ParserRuleContext {
3360
1990
  }
3361
1991
  super(parent, invokingState);
3362
1992
  this.parser = parser;
3363
- this.ruleIndex = PlantUMLParser.RULE_integerLiteral;
1993
+ this.ruleIndex = PlantUMLParser.RULE_associative_class_dclr;
1994
+ this.left = null;
1995
+ this.right = null;
1996
+ this.target = null;
3364
1997
  }
3365
1998
 
3366
- INT() {
3367
- return this.getToken(PlantUMLParser.INT, 0);
1999
+ LPAREN() {
2000
+ return this.getToken(PlantUMLParser.LPAREN, 0);
2001
+ };
2002
+
2003
+ COMMA() {
2004
+ return this.getToken(PlantUMLParser.COMMA, 0);
2005
+ };
2006
+
2007
+ RPAREN() {
2008
+ return this.getToken(PlantUMLParser.RPAREN, 0);
2009
+ };
2010
+
2011
+ ident = function(i) {
2012
+ if(i===undefined) {
2013
+ i = null;
2014
+ }
2015
+ if(i===null) {
2016
+ return this.getTypedRuleContexts(IdentContext);
2017
+ } else {
2018
+ return this.getTypedRuleContext(IdentContext,i);
2019
+ }
2020
+ };
2021
+
2022
+ DOT() {
2023
+ return this.getToken(PlantUMLParser.DOT, 0);
2024
+ };
2025
+
2026
+ DOUBLE_DOT() {
2027
+ return this.getToken(PlantUMLParser.DOUBLE_DOT, 0);
2028
+ };
2029
+
2030
+ association_name() {
2031
+ return this.getTypedRuleContext(Association_nameContext,0);
3368
2032
  };
3369
2033
 
3370
2034
  enterRule(listener) {
3371
- if(listener instanceof PlantUMLListener ) {
3372
- listener.enterIntegerLiteral(this);
2035
+ if(listener instanceof PlantUMLParserListener ) {
2036
+ listener.enterAssociative_class_dclr(this);
3373
2037
  }
3374
2038
  }
3375
2039
 
3376
2040
  exitRule(listener) {
3377
- if(listener instanceof PlantUMLListener ) {
3378
- listener.exitIntegerLiteral(this);
2041
+ if(listener instanceof PlantUMLParserListener ) {
2042
+ listener.exitAssociative_class_dclr(this);
3379
2043
  }
3380
2044
  }
3381
2045
 
3382
2046
  accept(visitor) {
3383
- if ( visitor instanceof PlantUMLVisitor ) {
3384
- return visitor.visitIntegerLiteral(this);
2047
+ if ( visitor instanceof PlantUMLParserVisitor ) {
2048
+ return visitor.visitAssociative_class_dclr(this);
3385
2049
  } else {
3386
2050
  return visitor.visitChildren(this);
3387
2051
  }
@@ -3393,33 +2057,21 @@ class IntegerLiteralContext extends antlr4.ParserRuleContext {
3393
2057
 
3394
2058
 
3395
2059
 
3396
- PlantUMLParser.ClassDiagramContext = ClassDiagramContext;
3397
- PlantUMLParser.CdelementContext = CdelementContext;
3398
- PlantUMLParser.ClassDefinitionContext = ClassDefinitionContext;
3399
- PlantUMLParser.ClassElementContext = ClassElementContext;
3400
- PlantUMLParser.EnumDefinitionContext = EnumDefinitionContext;
3401
- PlantUMLParser.AttributeContext = AttributeContext;
3402
- PlantUMLParser.InternalAttributeContext = InternalAttributeContext;
3403
- PlantUMLParser.MethodContext = MethodContext;
3404
- PlantUMLParser.InternalMethodContext = InternalMethodContext;
3405
- PlantUMLParser.ParametersContext = ParametersContext;
2060
+ PlantUMLParser.Entry_Context = Entry_Context;
2061
+ PlantUMLParser.UmlContext = UmlContext;
2062
+ PlantUMLParser.Class_dclrContext = Class_dclrContext;
2063
+ PlantUMLParser.Class_bodyContext = Class_bodyContext;
2064
+ PlantUMLParser.Body_contentContext = Body_contentContext;
2065
+ PlantUMLParser.Nested_bodyContext = Nested_bodyContext;
2066
+ PlantUMLParser.Class_typeContext = Class_typeContext;
3406
2067
  PlantUMLParser.StereotypeContext = StereotypeContext;
3407
- PlantUMLParser.VisibilityContext = VisibilityContext;
3408
- PlantUMLParser.ModifierContext = ModifierContext;
3409
- PlantUMLParser.TypeContext = TypeContext;
3410
- PlantUMLParser.InheritanceContext = InheritanceContext;
3411
- PlantUMLParser.LeftAncestorSymbolContext = LeftAncestorSymbolContext;
3412
- PlantUMLParser.RightAncestorSymbolContext = RightAncestorSymbolContext;
3413
- PlantUMLParser.AssociationContext = AssociationContext;
3414
- PlantUMLParser.AssociationSymbolContext = AssociationSymbolContext;
3415
- PlantUMLParser.AggregationContext = AggregationContext;
3416
- PlantUMLParser.AggregationSymbolContext = AggregationSymbolContext;
3417
- PlantUMLParser.CompositionContext = CompositionContext;
3418
- PlantUMLParser.CompositionSymbolContext = CompositionSymbolContext;
3419
- PlantUMLParser.DependencyContext = DependencyContext;
3420
- PlantUMLParser.DependencySymbolContext = DependencySymbolContext;
3421
- PlantUMLParser.LineAnnotationContext = LineAnnotationContext;
3422
- PlantUMLParser.DirectionContext = DirectionContext;
3423
- PlantUMLParser.IdentifierContext = IdentifierContext;
3424
- PlantUMLParser.StringExpressionContext = StringExpressionContext;
3425
- PlantUMLParser.IntegerLiteralContext = IntegerLiteralContext;
2068
+ PlantUMLParser.Extension_dclrContext = Extension_dclrContext;
2069
+ PlantUMLParser.IdentContext = IdentContext;
2070
+ PlantUMLParser.Enum_dclrContext = Enum_dclrContext;
2071
+ PlantUMLParser.Association_dclrContext = Association_dclrContext;
2072
+ PlantUMLParser.RelationContext = RelationContext;
2073
+ PlantUMLParser.Association_leftContext = Association_leftContext;
2074
+ PlantUMLParser.Association_rightContext = Association_rightContext;
2075
+ PlantUMLParser.Association_detailContext = Association_detailContext;
2076
+ PlantUMLParser.Association_nameContext = Association_nameContext;
2077
+ PlantUMLParser.Associative_class_dclrContext = Associative_class_dclrContext;