sysmlpy 0.1.0__py3-none-any.whl

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 (143) hide show
  1. sysmlpy/__init__.py +226 -0
  2. sysmlpy/__main__.py +75 -0
  3. sysmlpy/antlr/README.md +146 -0
  4. sysmlpy/antlr/SysMLv2Lexer.interp +695 -0
  5. sysmlpy/antlr/SysMLv2Lexer.py +1123 -0
  6. sysmlpy/antlr/SysMLv2Lexer.tokens +444 -0
  7. sysmlpy/antlr/SysMLv2Parser.interp +960 -0
  8. sysmlpy/antlr/SysMLv2Parser.py +40750 -0
  9. sysmlpy/antlr/SysMLv2Parser.tokens +444 -0
  10. sysmlpy/antlr/SysMLv2ParserListener.py +4485 -0
  11. sysmlpy/antlr/SysMLv2ParserVisitor.py +2498 -0
  12. sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +695 -0
  13. sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.py +1123 -0
  14. sysmlpy/antlr/src/sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +444 -0
  15. sysmlpy/antlr_parser.py +185 -0
  16. sysmlpy/antlr_visitor.py +10864 -0
  17. sysmlpy/definition.py +1115 -0
  18. sysmlpy/examples/attribute_values.py +161 -0
  19. sysmlpy/examples/part_attributes.py +139 -0
  20. sysmlpy/examples/tuples_sequences.py +231 -0
  21. sysmlpy/formatting.py +47 -0
  22. sysmlpy/grammar/antlr4/README.md +30 -0
  23. sysmlpy/grammar/antlr4/SysMLv2Lexer.g4 +931 -0
  24. sysmlpy/grammar/antlr4/SysMLv2Lexer.interp +695 -0
  25. sysmlpy/grammar/antlr4/SysMLv2Lexer.py +1123 -0
  26. sysmlpy/grammar/antlr4/SysMLv2Lexer.tokens +444 -0
  27. sysmlpy/grammar/antlr4/SysMLv2Parser.g4 +2432 -0
  28. sysmlpy/grammar/antlr4/SysMLv2Parser.interp +960 -0
  29. sysmlpy/grammar/antlr4/SysMLv2Parser.py +40750 -0
  30. sysmlpy/grammar/antlr4/SysMLv2Parser.tokens +444 -0
  31. sysmlpy/grammar/antlr4/SysMLv2ParserListener.py +4485 -0
  32. sysmlpy/grammar/antlr4/SysMLv2ParserVisitor.py +2498 -0
  33. sysmlpy/grammar/antlr4/desc.xml +7 -0
  34. sysmlpy/grammar/antlr4/examples/camera.sysml +14 -0
  35. sysmlpy/grammar/antlr4/examples/toaster-system.sysml +193 -0
  36. sysmlpy/grammar/antlr4/examples/vehicle-model.sysml +118 -0
  37. sysmlpy/grammar/antlr4/pom.xml +59 -0
  38. sysmlpy/grammar/classes.py +8610 -0
  39. sysmlpy/library/LICENSE +165 -0
  40. sysmlpy/library/README.md +52 -0
  41. sysmlpy/library/__init__.py +0 -0
  42. sysmlpy/library/domain/Analysis/AnalysisTooling.sysml +34 -0
  43. sysmlpy/library/domain/Analysis/SampledFunctions.sysml +119 -0
  44. sysmlpy/library/domain/Analysis/StateSpaceRepresentation.sysml +143 -0
  45. sysmlpy/library/domain/Analysis/TradeStudies.sysml +171 -0
  46. sysmlpy/library/domain/Cause and Effect/CausationConnections.sysml +83 -0
  47. sysmlpy/library/domain/Cause and Effect/CauseAndEffect.sysml +81 -0
  48. sysmlpy/library/domain/Geometry/ShapeItems.sysml +899 -0
  49. sysmlpy/library/domain/Geometry/SpatialItems.sysml +168 -0
  50. sysmlpy/library/domain/Metadata/ImageMetadata.sysml +78 -0
  51. sysmlpy/library/domain/Metadata/ModelingMetadata.sysml +143 -0
  52. sysmlpy/library/domain/Metadata/ParametersOfInterestMetadata.sysml +39 -0
  53. sysmlpy/library/domain/Metadata/RiskMetadata.sysml +100 -0
  54. sysmlpy/library/domain/Quantities and Units/ISQ.sysml +42 -0
  55. sysmlpy/library/domain/Quantities and Units/ISQAcoustics.sysml +439 -0
  56. sysmlpy/library/domain/Quantities and Units/ISQAtomicNuclear.sysml +2726 -0
  57. sysmlpy/library/domain/Quantities and Units/ISQBase.sysml +206 -0
  58. sysmlpy/library/domain/Quantities and Units/ISQCharacteristicNumbers.sysml +1991 -0
  59. sysmlpy/library/domain/Quantities and Units/ISQChemistryMolecular.sysml +1353 -0
  60. sysmlpy/library/domain/Quantities and Units/ISQCondensedMatter.sysml +1223 -0
  61. sysmlpy/library/domain/Quantities and Units/ISQElectromagnetism.sysml +2333 -0
  62. sysmlpy/library/domain/Quantities and Units/ISQInformation.sysml +958 -0
  63. sysmlpy/library/domain/Quantities and Units/ISQLight.sysml +1537 -0
  64. sysmlpy/library/domain/Quantities and Units/ISQMechanics.sysml +1564 -0
  65. sysmlpy/library/domain/Quantities and Units/ISQSpaceTime.sysml +1169 -0
  66. sysmlpy/library/domain/Quantities and Units/ISQThermodynamics.sysml +1256 -0
  67. sysmlpy/library/domain/Quantities and Units/MeasurementRefCalculations.sysml +30 -0
  68. sysmlpy/library/domain/Quantities and Units/MeasurementReferences.sysml +526 -0
  69. sysmlpy/library/domain/Quantities and Units/Quantities.sysml +107 -0
  70. sysmlpy/library/domain/Quantities and Units/QuantityCalculations.sysml +70 -0
  71. sysmlpy/library/domain/Quantities and Units/SI.sysml +378 -0
  72. sysmlpy/library/domain/Quantities and Units/SIPrefixes.sysml +48 -0
  73. sysmlpy/library/domain/Quantities and Units/TensorCalculations.sysml +50 -0
  74. sysmlpy/library/domain/Quantities and Units/Time.sysml +274 -0
  75. sysmlpy/library/domain/Quantities and Units/USCustomaryUnits.sysml +260 -0
  76. sysmlpy/library/domain/Quantities and Units/VectorCalculations.sysml +62 -0
  77. sysmlpy/library/domain/Requirement Derivation/DerivationConnections.sysml +63 -0
  78. sysmlpy/library/domain/Requirement Derivation/RequirementDerivation.sysml +39 -0
  79. sysmlpy/library/kernel/Base.kerml +95 -0
  80. sysmlpy/library/kernel/BaseFunctions.kerml +80 -0
  81. sysmlpy/library/kernel/BooleanFunctions.kerml +22 -0
  82. sysmlpy/library/kernel/Clocks.kerml +156 -0
  83. sysmlpy/library/kernel/CollectionFunctions.kerml +68 -0
  84. sysmlpy/library/kernel/Collections.kerml +147 -0
  85. sysmlpy/library/kernel/ComplexFunctions.kerml +47 -0
  86. sysmlpy/library/kernel/ControlFunctions.kerml +117 -0
  87. sysmlpy/library/kernel/ControlPerformances.kerml +135 -0
  88. sysmlpy/library/kernel/DataFunctions.kerml +43 -0
  89. sysmlpy/library/kernel/FeatureReferencingPerformances.kerml +190 -0
  90. sysmlpy/library/kernel/IntegerFunctions.kerml +43 -0
  91. sysmlpy/library/kernel/KerML.kerml +483 -0
  92. sysmlpy/library/kernel/Links.kerml +67 -0
  93. sysmlpy/library/kernel/Metaobjects.kerml +58 -0
  94. sysmlpy/library/kernel/NaturalFunctions.kerml +27 -0
  95. sysmlpy/library/kernel/NumericalFunctions.kerml +43 -0
  96. sysmlpy/library/kernel/Objects.kerml +212 -0
  97. sysmlpy/library/kernel/Observation.kerml +161 -0
  98. sysmlpy/library/kernel/OccurrenceFunctions.kerml +154 -0
  99. sysmlpy/library/kernel/Occurrences.kerml +992 -0
  100. sysmlpy/library/kernel/Performances.kerml +293 -0
  101. sysmlpy/library/kernel/RationalFunctions.kerml +49 -0
  102. sysmlpy/library/kernel/RealFunctions.kerml +56 -0
  103. sysmlpy/library/kernel/ScalarFunctions.kerml +33 -0
  104. sysmlpy/library/kernel/ScalarValues.kerml +23 -0
  105. sysmlpy/library/kernel/SequenceFunctions.kerml +111 -0
  106. sysmlpy/library/kernel/SpatialFrames.kerml +197 -0
  107. sysmlpy/library/kernel/StatePerformances.kerml +145 -0
  108. sysmlpy/library/kernel/StringFunctions.kerml +25 -0
  109. sysmlpy/library/kernel/Transfers.kerml +281 -0
  110. sysmlpy/library/kernel/TransitionPerformances.kerml +66 -0
  111. sysmlpy/library/kernel/TrigFunctions.kerml +35 -0
  112. sysmlpy/library/kernel/Triggers.kerml +188 -0
  113. sysmlpy/library/kernel/VectorFunctions.kerml +273 -0
  114. sysmlpy/library/kernel/VectorValues.kerml +64 -0
  115. sysmlpy/library/systems/Actions.sysml +552 -0
  116. sysmlpy/library/systems/Allocations.sysml +29 -0
  117. sysmlpy/library/systems/AnalysisCases.sysml +38 -0
  118. sysmlpy/library/systems/Attributes.sysml +25 -0
  119. sysmlpy/library/systems/Calculations.sysml +37 -0
  120. sysmlpy/library/systems/Cases.sysml +71 -0
  121. sysmlpy/library/systems/Connections.sysml +60 -0
  122. sysmlpy/library/systems/Constraints.sysml +44 -0
  123. sysmlpy/library/systems/Flows.sysml +126 -0
  124. sysmlpy/library/systems/Interfaces.sysml +89 -0
  125. sysmlpy/library/systems/Items.sysml +153 -0
  126. sysmlpy/library/systems/Metadata.sysml +32 -0
  127. sysmlpy/library/systems/Parts.sysml +81 -0
  128. sysmlpy/library/systems/Ports.sysml +54 -0
  129. sysmlpy/library/systems/Requirements.sysml +194 -0
  130. sysmlpy/library/systems/StandardViewDefinitions.sysml +123 -0
  131. sysmlpy/library/systems/States.sysml +103 -0
  132. sysmlpy/library/systems/SysML.sysml +539 -0
  133. sysmlpy/library/systems/UseCases.sysml +57 -0
  134. sysmlpy/library/systems/VerificationCases.sysml +103 -0
  135. sysmlpy/library/systems/Views.sysml +164 -0
  136. sysmlpy/navigate.py +272 -0
  137. sysmlpy/store.py +547 -0
  138. sysmlpy/usage.py +2978 -0
  139. sysmlpy-0.1.0.dist-info/METADATA +230 -0
  140. sysmlpy-0.1.0.dist-info/RECORD +143 -0
  141. sysmlpy-0.1.0.dist-info/WHEEL +4 -0
  142. sysmlpy-0.1.0.dist-info/entry_points.txt +3 -0
  143. sysmlpy-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,931 @@
1
+ /*
2
+ * SysML v2 ANTLR4 Grammar
3
+ * Derived from the OMG SysML v2 specification (KEBNF format).
4
+ * Source: https://github.com/Systems-Modeling/SysML-v2-Release
5
+ * Generator: https://github.com/daltskin/sysml-v2-grammar
6
+ * License: MIT
7
+ */
8
+
9
+ lexer grammar SysMLv2Lexer;
10
+
11
+ // $antlr-format alignTrailingComments true, columnLimit 150, useTab false
12
+ // $antlr-format allowShortRulesOnASingleLine false, allowShortBlocksOnASingleLine true
13
+ // $antlr-format alignSemicolons hanging, alignColons hanging
14
+ // $antlr-format minEmptyLines 1, maxEmptyLinesToKeep 1, reflowComments false
15
+
16
+ // Keywords
17
+ ABOUT
18
+ : 'about'
19
+ ;
20
+
21
+ ABSTRACT
22
+ : 'abstract'
23
+ ;
24
+
25
+ ACCEPT
26
+ : 'accept'
27
+ ;
28
+
29
+ ACTION
30
+ : 'action'
31
+ ;
32
+
33
+ ACTOR
34
+ : 'actor'
35
+ ;
36
+
37
+ AFTER
38
+ : 'after'
39
+ ;
40
+
41
+ ALIAS
42
+ : 'alias'
43
+ ;
44
+
45
+ ALL
46
+ : 'all'
47
+ ;
48
+
49
+ ALLOCATE
50
+ : 'allocate'
51
+ ;
52
+
53
+ ALLOCATION
54
+ : 'allocation'
55
+ ;
56
+
57
+ ANALYSIS
58
+ : 'analysis'
59
+ ;
60
+
61
+ AND
62
+ : 'and'
63
+ ;
64
+
65
+ AS
66
+ : 'as'
67
+ ;
68
+
69
+ ASSERT
70
+ : 'assert'
71
+ ;
72
+
73
+ ASSIGN
74
+ : 'assign'
75
+ ;
76
+
77
+ ASSOC
78
+ : 'assoc'
79
+ ;
80
+
81
+ ASSUME
82
+ : 'assume'
83
+ ;
84
+
85
+ AT
86
+ : 'at'
87
+ ;
88
+
89
+ ATTRIBUTE
90
+ : 'attribute'
91
+ ;
92
+
93
+ BEHAVIOR
94
+ : 'behavior'
95
+ ;
96
+
97
+ BIND
98
+ : 'bind'
99
+ ;
100
+
101
+ BINDING
102
+ : 'binding'
103
+ ;
104
+
105
+ BOOL
106
+ : 'bool'
107
+ ;
108
+
109
+ BY
110
+ : 'by'
111
+ ;
112
+
113
+ CALC
114
+ : 'calc'
115
+ ;
116
+
117
+ CASE
118
+ : 'case'
119
+ ;
120
+
121
+ CHAINS
122
+ : 'chains'
123
+ ;
124
+
125
+ CLASS
126
+ : 'class'
127
+ ;
128
+
129
+ CLASSIFIER
130
+ : 'classifier'
131
+ ;
132
+
133
+ COMMENT
134
+ : 'comment'
135
+ ;
136
+
137
+ COMPOSITE
138
+ : 'composite'
139
+ ;
140
+
141
+ CONCERN
142
+ : 'concern'
143
+ ;
144
+
145
+ CONJUGATE
146
+ : 'conjugate'
147
+ ;
148
+
149
+ CONJUGATES
150
+ : 'conjugates'
151
+ ;
152
+
153
+ CONJUGATION
154
+ : 'conjugation'
155
+ ;
156
+
157
+ CONNECT
158
+ : 'connect'
159
+ ;
160
+
161
+ CONNECTION
162
+ : 'connection'
163
+ ;
164
+
165
+ CONNECTOR
166
+ : 'connector'
167
+ ;
168
+
169
+ CONST
170
+ : 'const'
171
+ ;
172
+
173
+ CONSTANT
174
+ : 'constant'
175
+ ;
176
+
177
+ CONSTRAINT
178
+ : 'constraint'
179
+ ;
180
+
181
+ CROSSES
182
+ : 'crosses'
183
+ ;
184
+
185
+ DATATYPE
186
+ : 'datatype'
187
+ ;
188
+
189
+ DECIDE
190
+ : 'decide'
191
+ ;
192
+
193
+ DEF
194
+ : 'def'
195
+ ;
196
+
197
+ DEFAULT
198
+ : 'default'
199
+ ;
200
+
201
+ DEFINED
202
+ : 'defined'
203
+ ;
204
+
205
+ DEPENDENCY
206
+ : 'dependency'
207
+ ;
208
+
209
+ DERIVED
210
+ : 'derived'
211
+ ;
212
+
213
+ DIFFERENCES
214
+ : 'differences'
215
+ ;
216
+
217
+ DISJOINING
218
+ : 'disjoining'
219
+ ;
220
+
221
+ DISJOINT
222
+ : 'disjoint'
223
+ ;
224
+
225
+ DO
226
+ : 'do'
227
+ ;
228
+
229
+ DOC
230
+ : 'doc'
231
+ ;
232
+
233
+ ELSE
234
+ : 'else'
235
+ ;
236
+
237
+ END
238
+ : 'end'
239
+ ;
240
+
241
+ ENTRY
242
+ : 'entry'
243
+ ;
244
+
245
+ ENUM
246
+ : 'enum'
247
+ ;
248
+
249
+ EVENT
250
+ : 'event'
251
+ ;
252
+
253
+ EXHIBIT
254
+ : 'exhibit'
255
+ ;
256
+
257
+ EXIT
258
+ : 'exit'
259
+ ;
260
+
261
+ EXPOSE
262
+ : 'expose'
263
+ ;
264
+
265
+ EXPR
266
+ : 'expr'
267
+ ;
268
+
269
+ FALSE
270
+ : 'false'
271
+ ;
272
+
273
+ FEATURE
274
+ : 'feature'
275
+ ;
276
+
277
+ FEATURED
278
+ : 'featured'
279
+ ;
280
+
281
+ FEATURING
282
+ : 'featuring'
283
+ ;
284
+
285
+ FILTER
286
+ : 'filter'
287
+ ;
288
+
289
+ FIRST
290
+ : 'first'
291
+ ;
292
+
293
+ FLOW
294
+ : 'flow'
295
+ ;
296
+
297
+ FOR
298
+ : 'for'
299
+ ;
300
+
301
+ FORK
302
+ : 'fork'
303
+ ;
304
+
305
+ FRAME
306
+ : 'frame'
307
+ ;
308
+
309
+ FROM
310
+ : 'from'
311
+ ;
312
+
313
+ FUNCTION
314
+ : 'function'
315
+ ;
316
+
317
+ HASTYPE
318
+ : 'hastype'
319
+ ;
320
+
321
+ IF
322
+ : 'if'
323
+ ;
324
+
325
+ IMPLIES
326
+ : 'implies'
327
+ ;
328
+
329
+ IMPORT
330
+ : 'import'
331
+ ;
332
+
333
+ IN
334
+ : 'in'
335
+ ;
336
+
337
+ INCLUDE
338
+ : 'include'
339
+ ;
340
+
341
+ INDIVIDUAL
342
+ : 'individual'
343
+ ;
344
+
345
+ INOUT
346
+ : 'inout'
347
+ ;
348
+
349
+ INTERACTION
350
+ : 'interaction'
351
+ ;
352
+
353
+ INTERFACE
354
+ : 'interface'
355
+ ;
356
+
357
+ INTERSECTS
358
+ : 'intersects'
359
+ ;
360
+
361
+ INV
362
+ : 'inv'
363
+ ;
364
+
365
+ INVERSE
366
+ : 'inverse'
367
+ ;
368
+
369
+ INVERTING
370
+ : 'inverting'
371
+ ;
372
+
373
+ ISTYPE
374
+ : 'istype'
375
+ ;
376
+
377
+ ITEM
378
+ : 'item'
379
+ ;
380
+
381
+ JOIN
382
+ : 'join'
383
+ ;
384
+
385
+ LANGUAGE
386
+ : 'language'
387
+ ;
388
+
389
+ LIBRARY
390
+ : 'library'
391
+ ;
392
+
393
+ LOCALE
394
+ : 'locale'
395
+ ;
396
+
397
+ LOOP
398
+ : 'loop'
399
+ ;
400
+
401
+ MEMBER
402
+ : 'member'
403
+ ;
404
+
405
+ MERGE
406
+ : 'merge'
407
+ ;
408
+
409
+ MESSAGE
410
+ : 'message'
411
+ ;
412
+
413
+ META
414
+ : 'meta'
415
+ ;
416
+
417
+ METACLASS
418
+ : 'metaclass'
419
+ ;
420
+
421
+ METADATA
422
+ : 'metadata'
423
+ ;
424
+
425
+ MULTIPLICITY
426
+ : 'multiplicity'
427
+ ;
428
+
429
+ NAMESPACE
430
+ : 'namespace'
431
+ ;
432
+
433
+ NEW
434
+ : 'new'
435
+ ;
436
+
437
+ NONUNIQUE
438
+ : 'nonunique'
439
+ ;
440
+
441
+ NOT
442
+ : 'not'
443
+ ;
444
+
445
+ NULL
446
+ : 'null'
447
+ ;
448
+
449
+ OBJECTIVE
450
+ : 'objective'
451
+ ;
452
+
453
+ OCCURRENCE
454
+ : 'occurrence'
455
+ ;
456
+
457
+ OF
458
+ : 'of'
459
+ ;
460
+
461
+ OR
462
+ : 'or'
463
+ ;
464
+
465
+ ORDERED
466
+ : 'ordered'
467
+ ;
468
+
469
+ OUT
470
+ : 'out'
471
+ ;
472
+
473
+ PACKAGE
474
+ : 'package'
475
+ ;
476
+
477
+ PARALLEL
478
+ : 'parallel'
479
+ ;
480
+
481
+ PART
482
+ : 'part'
483
+ ;
484
+
485
+ PERFORM
486
+ : 'perform'
487
+ ;
488
+
489
+ PORT
490
+ : 'port'
491
+ ;
492
+
493
+ PORTION
494
+ : 'portion'
495
+ ;
496
+
497
+ PREDICATE
498
+ : 'predicate'
499
+ ;
500
+
501
+ PRIVATE
502
+ : 'private'
503
+ ;
504
+
505
+ PROTECTED
506
+ : 'protected'
507
+ ;
508
+
509
+ PUBLIC
510
+ : 'public'
511
+ ;
512
+
513
+ REDEFINES
514
+ : 'redefines'
515
+ ;
516
+
517
+ REDEFINITION
518
+ : 'redefinition'
519
+ ;
520
+
521
+ REF
522
+ : 'ref'
523
+ ;
524
+
525
+ REFERENCES
526
+ : 'references'
527
+ ;
528
+
529
+ RENDER
530
+ : 'render'
531
+ ;
532
+
533
+ RENDERING
534
+ : 'rendering'
535
+ ;
536
+
537
+ REP
538
+ : 'rep'
539
+ ;
540
+
541
+ REQUIRE
542
+ : 'require'
543
+ ;
544
+
545
+ REQUIREMENT
546
+ : 'requirement'
547
+ ;
548
+
549
+ RETURN
550
+ : 'return'
551
+ ;
552
+
553
+ SATISFY
554
+ : 'satisfy'
555
+ ;
556
+
557
+ SEND
558
+ : 'send'
559
+ ;
560
+
561
+ SNAPSHOT
562
+ : 'snapshot'
563
+ ;
564
+
565
+ SPECIALIZATION
566
+ : 'specialization'
567
+ ;
568
+
569
+ SPECIALIZES
570
+ : 'specializes'
571
+ ;
572
+
573
+ STAKEHOLDER
574
+ : 'stakeholder'
575
+ ;
576
+
577
+ STANDARD
578
+ : 'standard'
579
+ ;
580
+
581
+ STATE
582
+ : 'state'
583
+ ;
584
+
585
+ STEP
586
+ : 'step'
587
+ ;
588
+
589
+ STRUCT
590
+ : 'struct'
591
+ ;
592
+
593
+ SUBCLASSIFIER
594
+ : 'subclassifier'
595
+ ;
596
+
597
+ SUBJECT
598
+ : 'subject'
599
+ ;
600
+
601
+ SUBSET
602
+ : 'subset'
603
+ ;
604
+
605
+ SUBSETS
606
+ : 'subsets'
607
+ ;
608
+
609
+ SUBTYPE
610
+ : 'subtype'
611
+ ;
612
+
613
+ SUCCESSION
614
+ : 'succession'
615
+ ;
616
+
617
+ TERMINATE
618
+ : 'terminate'
619
+ ;
620
+
621
+ THEN
622
+ : 'then'
623
+ ;
624
+
625
+ TIMESLICE
626
+ : 'timeslice'
627
+ ;
628
+
629
+ TO
630
+ : 'to'
631
+ ;
632
+
633
+ TRANSITION
634
+ : 'transition'
635
+ ;
636
+
637
+ TRUE
638
+ : 'true'
639
+ ;
640
+
641
+ TYPE
642
+ : 'type'
643
+ ;
644
+
645
+ TYPED
646
+ : 'typed'
647
+ ;
648
+
649
+ TYPING
650
+ : 'typing'
651
+ ;
652
+
653
+ UNIONS
654
+ : 'unions'
655
+ ;
656
+
657
+ UNTIL
658
+ : 'until'
659
+ ;
660
+
661
+ USE
662
+ : 'use'
663
+ ;
664
+
665
+ VAR
666
+ : 'var'
667
+ ;
668
+
669
+ VARIANT
670
+ : 'variant'
671
+ ;
672
+
673
+ VARIATION
674
+ : 'variation'
675
+ ;
676
+
677
+ VERIFICATION
678
+ : 'verification'
679
+ ;
680
+
681
+ VERIFY
682
+ : 'verify'
683
+ ;
684
+
685
+ VIA
686
+ : 'via'
687
+ ;
688
+
689
+ VIEW
690
+ : 'view'
691
+ ;
692
+
693
+ VIEWPOINT
694
+ : 'viewpoint'
695
+ ;
696
+
697
+ WHEN
698
+ : 'when'
699
+ ;
700
+
701
+ WHILE
702
+ : 'while'
703
+ ;
704
+
705
+ XOR
706
+ : 'xor'
707
+ ;
708
+
709
+ // Operators and punctuation
710
+ BANG_EQ_EQ
711
+ : '!=='
712
+ ;
713
+
714
+ COLON_COLON_GT
715
+ : '::>'
716
+ ;
717
+
718
+ COLON_GT_GT
719
+ : ':>>'
720
+ ;
721
+
722
+ EQ_EQ_EQ
723
+ : '==='
724
+ ;
725
+
726
+ BANG_EQ
727
+ : '!='
728
+ ;
729
+
730
+ STAR_STAR
731
+ : '**'
732
+ ;
733
+
734
+ ARROW
735
+ : '->'
736
+ ;
737
+
738
+ DOT_DOT
739
+ : '..'
740
+ ;
741
+
742
+ DOT_QUESTION
743
+ : '.?'
744
+ ;
745
+
746
+ COLON_COLON
747
+ : '::'
748
+ ;
749
+
750
+ COLON_EQ
751
+ : ':='
752
+ ;
753
+
754
+ COLON_GT
755
+ : ':>'
756
+ ;
757
+
758
+ LE
759
+ : '<='
760
+ ;
761
+
762
+ EQ_EQ
763
+ : '=='
764
+ ;
765
+
766
+ FAT_ARROW
767
+ : '=>'
768
+ ;
769
+
770
+ GE
771
+ : '>='
772
+ ;
773
+
774
+ QUESTION_QUESTION
775
+ : '??'
776
+ ;
777
+
778
+ AT_AT
779
+ : '@@'
780
+ ;
781
+
782
+ HASH
783
+ : '#'
784
+ ;
785
+
786
+ DOLLAR
787
+ : '$'
788
+ ;
789
+
790
+ PERCENT
791
+ : '%'
792
+ ;
793
+
794
+ AMP
795
+ : '&'
796
+ ;
797
+
798
+ LPAREN
799
+ : '('
800
+ ;
801
+
802
+ RPAREN
803
+ : ')'
804
+ ;
805
+
806
+ STAR
807
+ : '*'
808
+ ;
809
+
810
+ PLUS
811
+ : '+'
812
+ ;
813
+
814
+ COMMA
815
+ : ','
816
+ ;
817
+
818
+ MINUS
819
+ : '-'
820
+ ;
821
+
822
+ DOT
823
+ : '.'
824
+ ;
825
+
826
+ SLASH
827
+ : '/'
828
+ ;
829
+
830
+ COLON
831
+ : ':'
832
+ ;
833
+
834
+ SEMI
835
+ : ';'
836
+ ;
837
+
838
+ LT
839
+ : '<'
840
+ ;
841
+
842
+ EQ
843
+ : '='
844
+ ;
845
+
846
+ GT
847
+ : '>'
848
+ ;
849
+
850
+ QUESTION
851
+ : '?'
852
+ ;
853
+
854
+ AT_SIGN
855
+ : '@'
856
+ ;
857
+
858
+ LBRACK
859
+ : '['
860
+ ;
861
+
862
+ RBRACK
863
+ : ']'
864
+ ;
865
+
866
+ CARET
867
+ : '^'
868
+ ;
869
+
870
+ LBRACE
871
+ : '{'
872
+ ;
873
+
874
+ PIPE
875
+ : '|'
876
+ ;
877
+
878
+ RBRACE
879
+ : '}'
880
+ ;
881
+
882
+ TILDE
883
+ : '~'
884
+ ;
885
+
886
+ // Identifiers
887
+ IDENTIFIER
888
+ : [a-zA-Z_] [a-zA-Z0-9_]*
889
+ ;
890
+
891
+ // String literals
892
+ STRING
893
+ : '\'' ('\\' . | ~['\\])* '\''
894
+ ;
895
+
896
+ DOUBLE_STRING
897
+ : '"' ('\\' . | ~["\\])* '"'
898
+ ;
899
+
900
+ // Numeric literals
901
+ INTEGER
902
+ : [0-9]+
903
+ ;
904
+
905
+ REAL
906
+ : [0-9]* '.' [0-9]+ ([eE] [+-]? [0-9]+)?
907
+ | [0-9]+ [eE] [+-]? [0-9]+
908
+ ;
909
+
910
+ // Comments
911
+ // REGULAR_COMMENT also matches //* ... */ (OMG block-comment-out convention).
912
+ REGULAR_COMMENT
913
+ : '/*' .*? '*/'
914
+ | '//*' .*? '*/'
915
+ ;
916
+
917
+ // SINGLE_LINE_NOTE: '//' followed by non-'*' content (to avoid consuming
918
+ // //* ... */ block comments which are handled by REGULAR_COMMENT).
919
+ // A bare '//' at end of line is handled by the second rule.
920
+ SINGLE_LINE_NOTE
921
+ : '//' ~[*\r\n] ~[\r\n]* -> skip
922
+ ;
923
+
924
+ BARE_LINE_COMMENT
925
+ : '//' -> skip
926
+ ;
927
+
928
+ // Whitespace
929
+ WS
930
+ : [ \t\r\n]+ -> skip
931
+ ;