arelle-release 2.37.47__py3-none-any.whl → 2.37.49__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.

Potentially problematic release.


This version of arelle-release might be problematic. Click here for more details.

Files changed (100) hide show
  1. arelle/CntlrCmdLine.py +5 -1
  2. arelle/ModelObjectFactory.py +18 -2
  3. arelle/_version.py +2 -2
  4. arelle/plugin/validate/EDINET/Constants.py +6 -0
  5. arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +134 -7
  6. arelle/plugin/validate/EDINET/Statement.py +139 -0
  7. arelle/plugin/validate/EDINET/rules/contexts.py +5 -10
  8. arelle/plugin/validate/EDINET/rules/edinet.py +89 -51
  9. arelle/plugin/validate/EDINET/rules/gfm.py +41 -0
  10. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/METADATA +3 -1
  11. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/RECORD +15 -99
  12. arelle/archive/CustomLogger.py +0 -43
  13. arelle/archive/LoadEFMvalidate.py +0 -32
  14. arelle/archive/LoadSavePreLbCsv.py +0 -26
  15. arelle/archive/LoadValidate.cs +0 -31
  16. arelle/archive/LoadValidate.py +0 -36
  17. arelle/archive/LoadValidateCmdLine.java +0 -69
  18. arelle/archive/LoadValidatePostedZip.java +0 -57
  19. arelle/archive/LoadValidateWebService.java +0 -34
  20. arelle/archive/SaveTableToExelle.py +0 -140
  21. arelle/archive/TR3toTR4.py +0 -88
  22. arelle/archive/plugin/ESEF_2022/__init__.py +0 -47
  23. arelle/archive/plugin/bigInstance.py +0 -394
  24. arelle/archive/plugin/cmdWebServerExtension.py +0 -43
  25. arelle/archive/plugin/crashTest.py +0 -38
  26. arelle/archive/plugin/functionsXmlCreation.py +0 -106
  27. arelle/archive/plugin/hello_i18n.pot +0 -26
  28. arelle/archive/plugin/hello_i18n.py +0 -32
  29. arelle/archive/plugin/importTestChild1.py +0 -21
  30. arelle/archive/plugin/importTestChild2.py +0 -22
  31. arelle/archive/plugin/importTestGrandchild1.py +0 -21
  32. arelle/archive/plugin/importTestGrandchild2.py +0 -21
  33. arelle/archive/plugin/importTestImported1.py +0 -23
  34. arelle/archive/plugin/importTestImported11.py +0 -22
  35. arelle/archive/plugin/importTestParent.py +0 -48
  36. arelle/archive/plugin/instanceInfo.py +0 -306
  37. arelle/archive/plugin/loadFromOIM-2018.py +0 -1282
  38. arelle/archive/plugin/locale/fr/LC_MESSAGES/hello_i18n.po +0 -25
  39. arelle/archive/plugin/objectmaker.py +0 -285
  40. arelle/archive/plugin/packagedImportTest/__init__.py +0 -47
  41. arelle/archive/plugin/packagedImportTest/importTestChild1.py +0 -21
  42. arelle/archive/plugin/packagedImportTest/importTestChild2.py +0 -22
  43. arelle/archive/plugin/packagedImportTest/importTestGrandchild1.py +0 -21
  44. arelle/archive/plugin/packagedImportTest/importTestGrandchild2.py +0 -21
  45. arelle/archive/plugin/packagedImportTest/importTestImported1.py +0 -24
  46. arelle/archive/plugin/packagedImportTest/importTestImported11.py +0 -21
  47. arelle/archive/plugin/packagedImportTest/subdir/importTestImported111.py +0 -21
  48. arelle/archive/plugin/packagedImportTest/subdir/subsubdir/importTestImported1111.py +0 -21
  49. arelle/archive/plugin/sakaCalendar.py +0 -215
  50. arelle/archive/plugin/saveInstanceInfoset.py +0 -121
  51. arelle/archive/plugin/sphinx/FormulaGenerator.py +0 -823
  52. arelle/archive/plugin/sphinx/SphinxContext.py +0 -404
  53. arelle/archive/plugin/sphinx/SphinxEvaluator.py +0 -783
  54. arelle/archive/plugin/sphinx/SphinxMethods.py +0 -1287
  55. arelle/archive/plugin/sphinx/SphinxParser.py +0 -1093
  56. arelle/archive/plugin/sphinx/SphinxValidator.py +0 -163
  57. arelle/archive/plugin/sphinx/US-GAAP Ratios Example.xsr +0 -52
  58. arelle/archive/plugin/sphinx/__init__.py +0 -285
  59. arelle/archive/plugin/streamingExtensions.py +0 -335
  60. arelle/archive/plugin/updateTableLB.py +0 -242
  61. arelle/archive/plugin/validate/SBRnl/CustomLoader.py +0 -19
  62. arelle/archive/plugin/validate/SBRnl/DTS.py +0 -305
  63. arelle/archive/plugin/validate/SBRnl/Dimensions.py +0 -357
  64. arelle/archive/plugin/validate/SBRnl/Document.py +0 -799
  65. arelle/archive/plugin/validate/SBRnl/Filing.py +0 -467
  66. arelle/archive/plugin/validate/SBRnl/__init__.py +0 -75
  67. arelle/archive/plugin/validate/SBRnl/config.xml +0 -26
  68. arelle/archive/plugin/validate/SBRnl/sbr-nl-taxonomies.xml +0 -754
  69. arelle/archive/plugin/validate/USBestPractices.py +0 -570
  70. arelle/archive/plugin/validate/USCorpAction.py +0 -557
  71. arelle/archive/plugin/validate/USSecTagging.py +0 -337
  72. arelle/archive/plugin/validate/XDC/__init__.py +0 -77
  73. arelle/archive/plugin/validate/XDC/config.xml +0 -20
  74. arelle/archive/plugin/validate/XFsyntax/__init__.py +0 -64
  75. arelle/archive/plugin/validate/XFsyntax/xf.py +0 -2227
  76. arelle/archive/plugin/validate/calc2.py +0 -536
  77. arelle/archive/plugin/validateSchemaLxml.py +0 -156
  78. arelle/archive/plugin/validateTableInfoset.py +0 -52
  79. arelle/archive/us-gaap-dei-docType-extraction-frm.xml +0 -90
  80. arelle/archive/us-gaap-dei-ratio-cash-frm.xml +0 -150
  81. arelle/examples/plugin/formulaSuiteConverter.py +0 -212
  82. arelle/examples/plugin/functionsCustom.py +0 -59
  83. arelle/examples/plugin/hello_dolly.py +0 -64
  84. arelle/examples/plugin/multi.py +0 -58
  85. arelle/examples/plugin/rssSaveOim.py +0 -96
  86. arelle/examples/plugin/validate/XYZ/DisclosureSystems.py +0 -2
  87. arelle/examples/plugin/validate/XYZ/PluginValidationDataExtension.py +0 -10
  88. arelle/examples/plugin/validate/XYZ/ValidationPluginExtension.py +0 -50
  89. arelle/examples/plugin/validate/XYZ/__init__.py +0 -75
  90. arelle/examples/plugin/validate/XYZ/resources/config.xml +0 -16
  91. arelle/examples/plugin/validate/XYZ/rules/__init__.py +0 -0
  92. arelle/examples/plugin/validate/XYZ/rules/rules01.py +0 -110
  93. arelle/examples/plugin/validate/XYZ/rules/rules02.py +0 -59
  94. arelle/scripts-macOS/startWebServer.command +0 -3
  95. arelle/scripts-unix/startWebServer.sh +0 -1
  96. arelle/scripts-windows/startWebServer.bat +0 -5
  97. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/WHEEL +0 -0
  98. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/entry_points.txt +0 -0
  99. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/licenses/LICENSE.md +0 -0
  100. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/top_level.txt +0 -0
@@ -1,2227 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding: utf-8 -*-
3
-
4
- # CAVEAT UTILITOR
5
- #
6
- # This file was automatically generated by TatSu.
7
- #
8
- # https://pypi.python.org/pypi/tatsu/
9
- #
10
- # Any changes you make to it will be overwritten the next time
11
- # the file is generated.
12
-
13
-
14
- from __future__ import print_function, division, absolute_import, unicode_literals
15
-
16
- import sys
17
-
18
- from tatsu.buffering import Buffer
19
- from tatsu.parsing import Parser
20
- from tatsu.parsing import tatsumasu
21
- from tatsu.util import re, generic_main
22
-
23
-
24
- KEYWORDS = {} # type: ignore
25
-
26
-
27
- class XFBuffer(Buffer):
28
- def __init__(
29
- self,
30
- text,
31
- whitespace=None,
32
- nameguard=None,
33
- comments_re='(?s)\\(:((?!(\\(:|:\\))).)*:\\)',
34
- eol_comments_re=None,
35
- ignorecase=None,
36
- namechars='-',
37
- **kwargs
38
- ):
39
- super(XFBuffer, self).__init__(
40
- text,
41
- whitespace=whitespace,
42
- nameguard=nameguard,
43
- comments_re=comments_re,
44
- eol_comments_re=eol_comments_re,
45
- ignorecase=ignorecase,
46
- namechars=namechars,
47
- **kwargs
48
- )
49
-
50
-
51
- class XFParser(Parser):
52
- def __init__(
53
- self,
54
- whitespace=None,
55
- nameguard=None,
56
- comments_re='(?s)\\(:((?!(\\(:|:\\))).)*:\\)',
57
- eol_comments_re=None,
58
- ignorecase=None,
59
- left_recursion=True,
60
- parseinfo=True,
61
- keywords=None,
62
- namechars='-',
63
- buffer_class=XFBuffer,
64
- **kwargs
65
- ):
66
- if keywords is None:
67
- keywords = KEYWORDS
68
- super(XFParser, self).__init__(
69
- whitespace=whitespace,
70
- nameguard=nameguard,
71
- comments_re=comments_re,
72
- eol_comments_re=eol_comments_re,
73
- ignorecase=ignorecase,
74
- left_recursion=left_recursion,
75
- parseinfo=parseinfo,
76
- keywords=keywords,
77
- namechars=namechars,
78
- buffer_class=buffer_class,
79
- **kwargs
80
- )
81
-
82
- @tatsumasu()
83
- def _module_(self):
84
-
85
- def block0():
86
- self._namespace_declaration_()
87
- self._closure(block0)
88
-
89
- def block1():
90
- self._default_()
91
- self._closure(block1)
92
-
93
- def block2():
94
- self._parameter_()
95
- self._closure(block2)
96
-
97
- def block3():
98
- with self._choice():
99
- with self._option():
100
- self._filter_declaration_()
101
- with self._option():
102
- self._fact_variable_()
103
- with self._option():
104
- self._general_variable_()
105
- with self._option():
106
- self._function_declaration_()
107
- self._error('no available options')
108
- self._closure(block3)
109
-
110
- def block5():
111
- self._assertion_()
112
- self._closure(block5)
113
- self._check_eof()
114
-
115
- @tatsumasu()
116
- def _separator_(self):
117
- self._token(';')
118
-
119
- @tatsumasu()
120
- def _namespace_declaration_(self):
121
- self._token('namespace')
122
- self._name_()
123
- self._token('=')
124
- self._quoted_url_()
125
- self._separator_()
126
-
127
- @tatsumasu()
128
- def _default_(self):
129
- with self._choice():
130
- with self._option():
131
- self._severity_()
132
- with self._option():
133
- self._token('default-language')
134
- self._language_()
135
- self._separator_()
136
- self._error('no available options')
137
-
138
- @tatsumasu()
139
- def _severity_(self):
140
- self._token('unsatisfied-severity')
141
- self._message_severity_()
142
- self._separator_()
143
-
144
- @tatsumasu()
145
- def _message_severity_(self):
146
- with self._choice():
147
- with self._option():
148
- self._token('ERROR')
149
- with self._option():
150
- self._token('WARNING')
151
- with self._option():
152
- self._token('INFO')
153
- self._error('no available options')
154
-
155
- @tatsumasu()
156
- def _parameter_(self):
157
- self._token('parameter')
158
- self._name_()
159
- with self._optional():
160
- self._token('required')
161
- self._token('{')
162
- with self._optional():
163
- self._token('select')
164
- self._enclosed_expression_()
165
- with self._optional():
166
- self._token('as')
167
- self._qname_()
168
- self._token('}')
169
- self._separator_()
170
-
171
- @tatsumasu()
172
- def _filter_declaration_(self):
173
- self._token('filter')
174
- self._name_()
175
- self._token('{')
176
-
177
- def block0():
178
- self._filter_()
179
- self._positive_closure(block0)
180
- self._token('}')
181
- self._separator_()
182
-
183
- @tatsumasu()
184
- def _filter_(self):
185
- with self._group():
186
- with self._choice():
187
- with self._option():
188
- self._concept_filter_()
189
- with self._option():
190
- self._general_filter_()
191
- with self._option():
192
- self._period_filter_()
193
- with self._option():
194
- self._dimension_filter_()
195
- with self._option():
196
- self._unit_filter_()
197
- with self._option():
198
- self._entity_filter_()
199
- with self._option():
200
- self._match_filter_()
201
- with self._option():
202
- self._relative_filter_()
203
- with self._option():
204
- self._tuple_filter_()
205
- with self._option():
206
- self._value_filter_()
207
- with self._option():
208
- self._boolean_filter_()
209
- with self._option():
210
- self._aspect_cover_filter_()
211
- with self._option():
212
- self._concept_relation_filter_()
213
- with self._option():
214
- self._declared_filter_reference_()
215
- self._error('no available options')
216
-
217
- @tatsumasu()
218
- def _concept_filter_(self):
219
- with self._optional():
220
- self._token('complemented')
221
- with self._group():
222
- with self._choice():
223
- with self._option():
224
- self._token('covering')
225
- with self._option():
226
- self._constant('covering')
227
- with self._option():
228
- self._token('non-covering')
229
- self._error('no available options')
230
- with self._group():
231
- with self._choice():
232
- with self._option():
233
- self._token('concept-name')
234
- self._cut()
235
-
236
- def block1():
237
- with self._choice():
238
- with self._option():
239
- self._qname_()
240
- with self._option():
241
- self._localname_()
242
- with self._option():
243
- self._enclosed_expression_()
244
- self._error('no available options')
245
- self._positive_closure(block1)
246
- with self._option():
247
- self._token('concept-period-type')
248
- self._cut()
249
- with self._group():
250
- with self._choice():
251
- with self._option():
252
- self._token('instant')
253
- with self._option():
254
- self._token('duration')
255
- self._error('no available options')
256
- with self._option():
257
- self._token('concept-balance')
258
- self._cut()
259
- with self._group():
260
- with self._choice():
261
- with self._option():
262
- self._token('credit')
263
- with self._option():
264
- self._token('debit')
265
- with self._option():
266
- self._token('none')
267
- self._error('no available options')
268
- with self._option():
269
- self._token('concept-data-type')
270
- self._cut()
271
- with self._group():
272
- with self._choice():
273
- with self._option():
274
- self._token('strict')
275
- with self._option():
276
- self._token('non-strict')
277
- self._error('no available options')
278
- with self._group():
279
- with self._choice():
280
- with self._option():
281
- self._qname_()
282
- with self._option():
283
- self._enclosed_expression_()
284
- self._error('no available options')
285
- with self._option():
286
- self._token('concept-substitution-group')
287
- self._cut()
288
- with self._group():
289
- with self._choice():
290
- with self._option():
291
- self._token('strict')
292
- with self._option():
293
- self._token('non-strict')
294
- self._error('no available options')
295
- with self._group():
296
- with self._choice():
297
- with self._option():
298
- self._qname_()
299
- with self._option():
300
- self._enclosed_expression_()
301
- self._error('no available options')
302
- self._error('no available options')
303
- self._separator_()
304
-
305
- @tatsumasu()
306
- def _general_filter_(self):
307
- with self._optional():
308
- self._token('complemented')
309
- self._token('general')
310
- self._cut()
311
- self._enclosed_expression_()
312
- self._separator_()
313
-
314
- @tatsumasu()
315
- def _period_filter_(self):
316
- with self._optional():
317
- self._token('complemented')
318
- with self._group():
319
- with self._choice():
320
- with self._option():
321
- self._token('period-start')
322
- self._cut()
323
- with self._group():
324
- with self._choice():
325
- with self._option():
326
- self._date_constant_()
327
- with self._option():
328
- self._date_time_constant_()
329
- with self._option():
330
- with self._group():
331
- self._token('date')
332
- self._enclosed_expression_()
333
- with self._optional():
334
- self._token('time')
335
- self._enclosed_expression_()
336
- self._error('no available options')
337
- with self._option():
338
- self._token('period-end')
339
- self._cut()
340
- with self._group():
341
- with self._choice():
342
- with self._option():
343
- self._date_constant_()
344
- with self._option():
345
- self._date_time_constant_()
346
- with self._option():
347
- with self._group():
348
- self._token('date')
349
- self._enclosed_expression_()
350
- with self._optional():
351
- self._token('time')
352
- self._enclosed_expression_()
353
- self._error('no available options')
354
- with self._option():
355
- self._token('period-instant')
356
- self._cut()
357
- with self._group():
358
- with self._choice():
359
- with self._option():
360
- self._date_constant_()
361
- with self._option():
362
- self._date_time_constant_()
363
- with self._option():
364
- with self._group():
365
- self._token('date')
366
- self._enclosed_expression_()
367
- with self._optional():
368
- self._token('time')
369
- self._enclosed_expression_()
370
- self._error('no available options')
371
- with self._option():
372
- self._token('period')
373
- self._cut()
374
- self._enclosed_expression_()
375
- with self._option():
376
- self._token('instant-duration')
377
- self._cut()
378
- with self._group():
379
- with self._choice():
380
- with self._option():
381
- self._token('start')
382
- with self._option():
383
- self._token('end')
384
- self._error('no available options')
385
- self._variable_ref_()
386
- self._error('no available options')
387
- self._separator_()
388
-
389
- @tatsumasu()
390
- def _dimension_filter_(self):
391
- with self._optional():
392
- self._token('complemented')
393
- with self._group():
394
- with self._choice():
395
- with self._option():
396
- with self._group():
397
- self._token('explicit-dimension')
398
- self._cut()
399
- with self._group():
400
- with self._choice():
401
- with self._option():
402
- self._variable_ref_()
403
- with self._option():
404
- self._qname_()
405
- with self._option():
406
- self._localname_()
407
- with self._option():
408
- self._enclosed_expression_()
409
- self._error('no available options')
410
-
411
- def block1():
412
- with self._choice():
413
- with self._option():
414
- self._token('default-member')
415
- with self._option():
416
- self._token('member')
417
- self._cut()
418
- with self._group():
419
- with self._choice():
420
- with self._option():
421
- self._variable_ref_()
422
- with self._option():
423
- self._qname_()
424
- with self._option():
425
- self._localname_()
426
- with self._option():
427
- self._enclosed_expression_()
428
- self._error('no available options')
429
- with self._optional():
430
- self._token('linkrole')
431
- self._quoted_anyURI_()
432
- self._token('arcrole')
433
- self._quoted_anyURI_()
434
- self._token('axis')
435
- self._dimension_axis_()
436
- self._error('no available options')
437
- self._closure(block1)
438
- with self._option():
439
- with self._group():
440
- self._token('typed-dimension')
441
- self._cut()
442
- with self._group():
443
- with self._choice():
444
- with self._option():
445
- self._variable_ref_()
446
- with self._option():
447
- self._qname_()
448
- with self._option():
449
- self._localname_()
450
- with self._option():
451
- self._enclosed_expression_()
452
- self._error('no available options')
453
- with self._optional():
454
- self._token('test')
455
- self._enclosed_expression_()
456
- self._error('no available options')
457
- self._separator_()
458
-
459
- @tatsumasu()
460
- def _dimension_axis_(self):
461
- with self._choice():
462
- with self._option():
463
- self._token('child')
464
- with self._option():
465
- self._token('child-or-self')
466
- with self._option():
467
- self._token('descendant')
468
- with self._option():
469
- self._token('descendant-or-self')
470
- self._error('no available options')
471
-
472
- @tatsumasu()
473
- def _unit_filter_(self):
474
- with self._optional():
475
- self._token('complemented')
476
- with self._group():
477
- with self._choice():
478
- with self._option():
479
- self._token('unit-single-measure')
480
- self._cut()
481
- with self._group():
482
- with self._choice():
483
- with self._option():
484
- self._qname_()
485
- with self._option():
486
- self._enclosed_expression_()
487
- self._error('no available options')
488
- with self._option():
489
- self._token('unit-general-measures')
490
- self._cut()
491
- self._enclosed_expression_()
492
- self._error('no available options')
493
- self._separator_()
494
-
495
- @tatsumasu()
496
- def _entity_filter_(self):
497
- with self._optional():
498
- self._token('complemented')
499
- with self._group():
500
- with self._choice():
501
- with self._option():
502
- self._token('entity-scheme-pattern')
503
- self._cut()
504
- self._regexp_pattern_()
505
- with self._option():
506
- self._token('entity-scheme')
507
- self._cut()
508
- self._enclosed_expression_()
509
- with self._option():
510
- self._token('entity-identifier-pattern')
511
- self._cut()
512
- self._regexp_pattern_()
513
- with self._option():
514
- self._token('entity-identifier')
515
- self._cut()
516
- self._enclosed_expression_()
517
- with self._option():
518
- self._token('entity')
519
- self._cut()
520
- self._token('scheme')
521
- self._enclosed_expression_()
522
- self._token('value')
523
- self._enclosed_expression_()
524
- self._error('no available options')
525
- self._separator_()
526
-
527
- @tatsumasu()
528
- def _match_filter_(self):
529
- with self._optional():
530
- self._token('complemented')
531
- with self._group():
532
- with self._choice():
533
- with self._option():
534
- self._token('match-concept')
535
- self._cut()
536
- self._variable_ref_()
537
- with self._option():
538
- self._token('match-location')
539
- self._cut()
540
- self._variable_ref_()
541
- with self._option():
542
- self._token('match-entity-identifier')
543
- self._cut()
544
- self._variable_ref_()
545
- with self._option():
546
- self._token('match-period')
547
- self._cut()
548
- self._variable_ref_()
549
- with self._option():
550
- self._token('match-unit')
551
- self._cut()
552
- self._variable_ref_()
553
- with self._option():
554
- self._token('match-dimension')
555
- self._cut()
556
- self._variable_ref_()
557
- self._token('dimension')
558
- self._qname_()
559
- self._error('no available options')
560
- with self._optional():
561
- self._token('match-any')
562
- self._separator_()
563
-
564
- @tatsumasu()
565
- def _relative_filter_(self):
566
- with self._optional():
567
- self._token('complemented')
568
- self._token('relative')
569
- self._cut()
570
- self._variable_ref_()
571
- self._separator_()
572
-
573
- @tatsumasu()
574
- def _tuple_filter_(self):
575
- with self._optional():
576
- self._token('complemented')
577
- with self._group():
578
- with self._choice():
579
- with self._option():
580
- self._token('parent')
581
- self._cut()
582
- with self._group():
583
- with self._choice():
584
- with self._option():
585
- self._qname_()
586
- with self._option():
587
- self._enclosed_expression_()
588
- self._error('no available options')
589
- with self._option():
590
- self._token('ancestor')
591
- self._cut()
592
- with self._group():
593
- with self._choice():
594
- with self._option():
595
- self._qname_()
596
- with self._option():
597
- self._enclosed_expression_()
598
- self._error('no available options')
599
- with self._option():
600
- self._token('sibling')
601
- self._cut()
602
- self._variable_ref_()
603
- self._error('no available options')
604
- self._separator_()
605
-
606
- @tatsumasu()
607
- def _value_filter_(self):
608
- with self._optional():
609
- self._token('complemented')
610
- self._token('nilled')
611
- self._separator_()
612
-
613
- @tatsumasu()
614
- def _boolean_filter_(self):
615
- with self._optional():
616
- self._token('complemented')
617
- with self._group():
618
- with self._choice():
619
- with self._option():
620
- self._token('and')
621
- with self._option():
622
- self._token('or')
623
- self._error('no available options')
624
- self._cut()
625
- self._token('{')
626
-
627
- def block1():
628
- self._filter_()
629
- self._positive_closure(block1)
630
- self._token('}')
631
- self._separator_()
632
-
633
- @tatsumasu()
634
- def _aspect_cover_filter_(self):
635
- with self._optional():
636
- self._token('complemented')
637
- self._token('aspect-cover')
638
- self._cut()
639
-
640
- def block0():
641
- with self._choice():
642
- with self._option():
643
- self._token('all')
644
- with self._option():
645
- self._token('concept')
646
- with self._option():
647
- self._token('entity-identifier')
648
- with self._option():
649
- self._token('location')
650
- with self._option():
651
- self._token('period')
652
- with self._option():
653
- self._token('unit')
654
- with self._option():
655
- self._token('dimensions')
656
- with self._option():
657
- self._token('dimension')
658
- with self._group():
659
- with self._choice():
660
- with self._option():
661
- self._qname_()
662
- with self._option():
663
- self._localname_()
664
- with self._option():
665
- self._enclosed_expression_()
666
- self._error('no available options')
667
- with self._option():
668
- self._token('exclude-dimension')
669
- with self._group():
670
- with self._choice():
671
- with self._option():
672
- self._qname_()
673
- with self._option():
674
- self._localname_()
675
- with self._option():
676
- self._enclosed_expression_()
677
- self._error('no available options')
678
- self._error('no available options')
679
- self._positive_closure(block0)
680
- self._separator_()
681
-
682
- @tatsumasu()
683
- def _concept_relation_filter_(self):
684
- with self._optional():
685
- self._token('complemented')
686
- self._token('concept-relation')
687
- self._cut()
688
- with self._group():
689
- with self._choice():
690
- with self._option():
691
- self._variable_ref_()
692
- with self._option():
693
- self._qname_()
694
- with self._option():
695
- self._localname_()
696
- with self._option():
697
- self._enclosed_expression_()
698
- self._error('no available options')
699
- with self._optional():
700
- self._token('linkrole')
701
- with self._group():
702
- with self._choice():
703
- with self._option():
704
- self._quoted_anyURI_()
705
- with self._option():
706
- self._enclosed_expression_()
707
- self._error('no available options')
708
- with self._optional():
709
- self._token('arcrole')
710
- with self._group():
711
- with self._choice():
712
- with self._option():
713
- self._quoted_anyURI_()
714
- with self._option():
715
- self._enclosed_expression_()
716
- self._error('no available options')
717
- with self._optional():
718
- self._token('axis')
719
- self._relation_axis_()
720
- with self._optional():
721
- self._token('generations')
722
- self._non_negative_integer_()
723
- with self._optional():
724
- self._token('test')
725
- self._enclosed_expression_()
726
- self._separator_()
727
-
728
- @tatsumasu()
729
- def _relation_axis_(self):
730
- with self._group():
731
- with self._choice():
732
- with self._option():
733
- self._token('child-or-self')
734
- with self._option():
735
- self._token('child')
736
- with self._option():
737
- self._token('descendant-or-self')
738
- with self._option():
739
- self._token('descendant')
740
- with self._option():
741
- self._token('parent-or-self')
742
- with self._option():
743
- self._token('parent')
744
- with self._option():
745
- self._token('ancestor-or-self')
746
- with self._option():
747
- self._token('ancestor')
748
- with self._option():
749
- self._token('sibling-or-self')
750
- with self._option():
751
- self._token('sibling-or-descendant')
752
- with self._option():
753
- self._token('sibling')
754
- self._error('no available options')
755
- self._separator_()
756
-
757
- @tatsumasu()
758
- def _declared_filter_reference_(self):
759
- self._token('filter')
760
- self._cut()
761
- self._variable_ref_()
762
- self._separator_()
763
-
764
- @tatsumasu()
765
- def _fact_variable_(self):
766
- self._token('variable')
767
- self._cut()
768
- self._variable_ref_()
769
- self._token('{')
770
- with self._optional():
771
- self._token('bind-as-sequence')
772
- with self._optional():
773
- self._token('nils')
774
- with self._optional():
775
- self._token('matches')
776
- with self._optional():
777
- self._token('fallback')
778
- self._enclosed_expression_()
779
-
780
- def block0():
781
- self._filter_()
782
- self._closure(block0)
783
- self._token('}')
784
- self._separator_()
785
-
786
- @tatsumasu()
787
- def _general_variable_(self):
788
- self._token('variable')
789
- self._cut()
790
- self._variable_ref_()
791
- self._token('{')
792
- with self._optional():
793
- self._token('bind-as-sequence')
794
- self._token('select')
795
- self._enclosed_expression_()
796
- self._token('}')
797
- self._separator_()
798
-
799
- @tatsumasu()
800
- def _function_declaration_(self):
801
- self._token('function')
802
- self._cut()
803
- self._qname_()
804
- self._token('(')
805
-
806
- def block0():
807
- self._NCNAME_FRAG_()
808
- self._token('as')
809
- self._qname_()
810
- self._closure(block0)
811
- self._token(')')
812
- self._token('as')
813
- self._qname_()
814
- with self._optional():
815
- self._token('{')
816
- self._token('return')
817
- self._enclosed_expression_()
818
- self._separator_()
819
- self._token('}')
820
- self._separator_()
821
-
822
- @tatsumasu()
823
- def _assertion_(self):
824
- self._token('assertion')
825
- self._name_()
826
- self._token('{')
827
-
828
- def block0():
829
- with self._choice():
830
- with self._option():
831
- self._label_()
832
- with self._option():
833
- self._message_()
834
- with self._option():
835
- self._severity_()
836
- with self._option():
837
- self._token('aspect-model-non-dimensional')
838
- self._separator_()
839
- with self._option():
840
- self._token('no-implicit-filtering')
841
- self._separator_()
842
- self._error('no available options')
843
- self._closure(block0)
844
-
845
- def block2():
846
- self._filter_()
847
- self._closure(block2)
848
-
849
- def block3():
850
- with self._choice():
851
- with self._option():
852
- self._fact_variable_()
853
- with self._option():
854
- self._general_variable_()
855
- with self._option():
856
- self._referenced_parameter_()
857
- self._error('no available options')
858
- self._closure(block3)
859
-
860
- def block5():
861
- self._precondition_()
862
- self._closure(block5)
863
- with self._group():
864
- with self._choice():
865
- with self._option():
866
- self._value_expression_()
867
- with self._option():
868
- self._existence_expression_()
869
- self._error('no available options')
870
- self._token('}')
871
- self._separator_()
872
-
873
- @tatsumasu()
874
- def _label_(self):
875
- self._token('label')
876
- with self._optional():
877
- self._token('(')
878
- self._language_()
879
- self._token(')')
880
- self._quoted_string_()
881
- self._separator_()
882
-
883
- @tatsumasu()
884
- def _message_(self):
885
- with self._group():
886
- with self._choice():
887
- with self._option():
888
- self._token('satisfied-message')
889
- with self._option():
890
- self._token('unsatisfied-message')
891
- self._error('no available options')
892
- self._cut()
893
- with self._optional():
894
- self._token('(')
895
- self._cut()
896
- self._language_()
897
- self._token(')')
898
- self._quoted_string_()
899
- self._separator_()
900
-
901
- @tatsumasu()
902
- def _referenced_parameter_(self):
903
- self._token('parameter')
904
- self._cut()
905
- self._variable_ref_()
906
- self._token('references')
907
- self._qname_()
908
- self._separator_()
909
-
910
- @tatsumasu()
911
- def _precondition_(self):
912
- self._token('precondition')
913
- self._enclosed_expression_()
914
-
915
- @tatsumasu()
916
- def _value_expression_(self):
917
- self._token('test')
918
- self._enclosed_expression_()
919
- self._separator_()
920
-
921
- @tatsumasu()
922
- def _existence_expression_(self):
923
- self._token('evaluation-count')
924
- self._enclosed_expression_()
925
- self._separator_()
926
-
927
- @tatsumasu()
928
- def _enclosed_expression_(self):
929
- self._token('{')
930
- self._xPath_()
931
- self._token('}')
932
-
933
- @tatsumasu()
934
- def _name_(self):
935
- self._NCNAME_FRAG_()
936
-
937
- @tatsumasu()
938
- def _language_(self):
939
- self._pattern(r'[A-Za-z]{2}(-[A-Za-z]{2})?')
940
-
941
- @tatsumasu()
942
- def _quoted_anyURI_(self):
943
- self._quoted_url_()
944
-
945
- @tatsumasu()
946
- def _quoted_url_(self):
947
- self._quoted_string_()
948
-
949
- @tatsumasu()
950
- def _localname_(self):
951
- self._name_()
952
-
953
- @tatsumasu()
954
- def _variable_ref_(self):
955
- self._token('$')
956
- self._variable_name_()
957
-
958
- @tatsumasu()
959
- def _variable_name_(self):
960
- self._name_()
961
-
962
- @tatsumasu()
963
- def _non_negative_integer_(self):
964
- self._pattern(r'[0-9]+')
965
-
966
- @tatsumasu()
967
- def _date_time_constant_(self):
968
- self._pattern(r'\b(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\\.[0-9]+)?(Z)?\b')
969
-
970
- @tatsumasu()
971
- def _date_constant_(self):
972
- self._pattern(r'\b(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])\b')
973
-
974
- @tatsumasu()
975
- def _quoted_string_(self):
976
- self._pattern(r'("([^\\"]|\\.)*"|\'([^\\\']|\\.)*\')')
977
-
978
- @tatsumasu()
979
- def _regexp_pattern_(self):
980
- self._pattern(r'\/([^\\\/]|\\.)*\/')
981
-
982
- @tatsumasu()
983
- def _xPath_(self):
984
- self._expr_()
985
-
986
- @tatsumasu()
987
- def _expr_(self):
988
- self._exprSingle_()
989
-
990
- def block0():
991
- self._token(',')
992
- self._exprSingle_()
993
- self._closure(block0)
994
-
995
- @tatsumasu()
996
- def _exprSingle_(self):
997
- with self._choice():
998
- with self._option():
999
- self._forExpr_()
1000
- with self._option():
1001
- self._quantifiedExpr_()
1002
- with self._option():
1003
- self._ifExpr_()
1004
- with self._option():
1005
- self._orExpr_()
1006
- self._error('no available options')
1007
-
1008
- @tatsumasu()
1009
- def _forExpr_(self):
1010
- self._simpleForClause_()
1011
- self._token('return')
1012
- self._exprSingle_()
1013
-
1014
- @tatsumasu()
1015
- def _simpleForClause_(self):
1016
- self._token('for')
1017
- self._token('$')
1018
- self._varName_()
1019
- self._token('in')
1020
- self._exprSingle_()
1021
-
1022
- def block0():
1023
- self._token(',')
1024
- self._token('$')
1025
- self._varName_()
1026
- self._token('in')
1027
- self._exprSingle_()
1028
- self._closure(block0)
1029
-
1030
- @tatsumasu()
1031
- def _quantifiedExpr_(self):
1032
- with self._group():
1033
- with self._choice():
1034
- with self._option():
1035
- self._token('some')
1036
- with self._option():
1037
- self._token('every')
1038
- self._error('no available options')
1039
- self._token('$')
1040
- self._varName_()
1041
- self._token('in')
1042
- self._exprSingle_()
1043
-
1044
- def block1():
1045
- self._token(',')
1046
- self._token('$')
1047
- self._varName_()
1048
- self._token('in')
1049
- self._exprSingle_()
1050
- self._closure(block1)
1051
- self._token('satisfies')
1052
- self._exprSingle_()
1053
-
1054
- @tatsumasu()
1055
- def _ifExpr_(self):
1056
- self._token('if')
1057
- self._token('(')
1058
- self._expr_()
1059
- self._token(')')
1060
- self._token('then')
1061
- self._exprSingle_()
1062
- self._token('else')
1063
- self._exprSingle_()
1064
-
1065
- @tatsumasu()
1066
- def _orExpr_(self):
1067
- self._andExpr_()
1068
-
1069
- def block0():
1070
- self._token('or')
1071
- self._andExpr_()
1072
- self._closure(block0)
1073
-
1074
- @tatsumasu()
1075
- def _andExpr_(self):
1076
- self._comparisonExpr_()
1077
-
1078
- def block0():
1079
- self._token('and')
1080
- self._comparisonExpr_()
1081
- self._closure(block0)
1082
-
1083
- @tatsumasu()
1084
- def _comparisonExpr_(self):
1085
- self._rangeExpr_()
1086
- with self._optional():
1087
- with self._group():
1088
- with self._choice():
1089
- with self._option():
1090
- self._valueComp_()
1091
- with self._option():
1092
- self._nodeComp_()
1093
- with self._option():
1094
- self._generalComp_()
1095
- self._error('no available options')
1096
- self._rangeExpr_()
1097
-
1098
- @tatsumasu()
1099
- def _rangeExpr_(self):
1100
- self._additiveExpr_()
1101
- with self._optional():
1102
- self._token('to')
1103
- self._additiveExpr_()
1104
-
1105
- @tatsumasu()
1106
- def _additiveExpr_(self):
1107
- self._multiplicativeExpr_()
1108
-
1109
- def block0():
1110
- with self._group():
1111
- with self._choice():
1112
- with self._option():
1113
- self._token('+')
1114
- with self._option():
1115
- self._token('-')
1116
- self._error('no available options')
1117
- self._multiplicativeExpr_()
1118
- self._closure(block0)
1119
-
1120
- @tatsumasu()
1121
- def _multiplicativeExpr_(self):
1122
- self._unionExpr_()
1123
-
1124
- def block0():
1125
- with self._group():
1126
- with self._choice():
1127
- with self._option():
1128
- self._token('*')
1129
- with self._option():
1130
- self._token('div')
1131
- with self._option():
1132
- self._token('idiv')
1133
- with self._option():
1134
- self._token('mod')
1135
- self._error('no available options')
1136
- self._unionExpr_()
1137
- self._closure(block0)
1138
-
1139
- @tatsumasu()
1140
- def _unionExpr_(self):
1141
- self._intersectExceptExpr_()
1142
-
1143
- def block0():
1144
- with self._group():
1145
- with self._choice():
1146
- with self._option():
1147
- self._token('union')
1148
- with self._option():
1149
- self._token('|')
1150
- self._error('no available options')
1151
- self._intersectExceptExpr_()
1152
- self._closure(block0)
1153
-
1154
- @tatsumasu()
1155
- def _intersectExceptExpr_(self):
1156
- self._instanceofExpr_()
1157
-
1158
- def block0():
1159
- with self._group():
1160
- with self._choice():
1161
- with self._option():
1162
- self._token('intersect')
1163
- with self._option():
1164
- self._token('except')
1165
- self._error('no available options')
1166
- self._instanceofExpr_()
1167
- self._closure(block0)
1168
-
1169
- @tatsumasu()
1170
- def _instanceofExpr_(self):
1171
- self._treatExpr_()
1172
- with self._optional():
1173
- self._token('instance')
1174
- self._token('of')
1175
- self._sequenceType_()
1176
-
1177
- @tatsumasu()
1178
- def _treatExpr_(self):
1179
- self._castableExpr_()
1180
- with self._optional():
1181
- self._token('treat')
1182
- self._token('as')
1183
- self._sequenceType_()
1184
-
1185
- @tatsumasu()
1186
- def _castableExpr_(self):
1187
- self._castExpr_()
1188
- with self._optional():
1189
- self._token('castable')
1190
- self._token('as')
1191
- self._singleType_()
1192
-
1193
- @tatsumasu()
1194
- def _castExpr_(self):
1195
- self._unaryExpr_()
1196
- with self._optional():
1197
- self._token('cast')
1198
- self._token('as')
1199
- self._singleType_()
1200
-
1201
- @tatsumasu()
1202
- def _unaryExpr_(self):
1203
-
1204
- def block0():
1205
- with self._choice():
1206
- with self._option():
1207
- self._token('-')
1208
- with self._option():
1209
- self._token('+')
1210
- self._error('no available options')
1211
- self._closure(block0)
1212
- self._valueExpr_()
1213
-
1214
- @tatsumasu()
1215
- def _valueExpr_(self):
1216
- self._pathExpr_()
1217
-
1218
- @tatsumasu()
1219
- def _generalComp_(self):
1220
- with self._choice():
1221
- with self._option():
1222
- self._token('=')
1223
- with self._option():
1224
- self._token('!=')
1225
- with self._option():
1226
- self._token('<=')
1227
- with self._option():
1228
- self._token('<')
1229
- with self._option():
1230
- self._token('>=')
1231
- with self._option():
1232
- self._token('>')
1233
- self._error('no available options')
1234
-
1235
- @tatsumasu()
1236
- def _valueComp_(self):
1237
- with self._choice():
1238
- with self._option():
1239
- self._token('eq')
1240
- with self._option():
1241
- self._token('ne')
1242
- with self._option():
1243
- self._token('lt')
1244
- with self._option():
1245
- self._token('le')
1246
- with self._option():
1247
- self._token('gt')
1248
- with self._option():
1249
- self._token('ge')
1250
- self._error('no available options')
1251
-
1252
- @tatsumasu()
1253
- def _nodeComp_(self):
1254
- with self._choice():
1255
- with self._option():
1256
- self._token('is')
1257
- with self._option():
1258
- self._token('<<')
1259
- with self._option():
1260
- self._token('>>')
1261
- self._error('no available options')
1262
-
1263
- @tatsumasu()
1264
- def _pathExpr_(self):
1265
- with self._choice():
1266
- with self._option():
1267
- with self._group():
1268
- self._token('//')
1269
- self._relativePathExpr_()
1270
- with self._option():
1271
- with self._group():
1272
- self._token('/')
1273
- with self._optional():
1274
- self._relativePathExpr_()
1275
- with self._option():
1276
- self._relativePathExpr_()
1277
- self._error('no available options')
1278
-
1279
- @tatsumasu()
1280
- def _relativePathExpr_(self):
1281
- self._stepExpr_()
1282
-
1283
- def block0():
1284
- with self._group():
1285
- with self._choice():
1286
- with self._option():
1287
- self._token('/')
1288
- with self._option():
1289
- self._token('//')
1290
- self._error('no available options')
1291
- self._stepExpr_()
1292
- self._closure(block0)
1293
-
1294
- @tatsumasu()
1295
- def _stepExpr_(self):
1296
- with self._choice():
1297
- with self._option():
1298
- self._filterExpr_()
1299
- with self._option():
1300
- self._axisStep_()
1301
- self._error('no available options')
1302
-
1303
- @tatsumasu()
1304
- def _axisStep_(self):
1305
- with self._group():
1306
- with self._choice():
1307
- with self._option():
1308
- self._reverseStep_()
1309
- with self._option():
1310
- self._forwardStep_()
1311
- self._error('no available options')
1312
- self._predicateList_()
1313
-
1314
- @tatsumasu()
1315
- def _forwardStep_(self):
1316
- with self._choice():
1317
- with self._option():
1318
- with self._group():
1319
- self._forwardAxis_()
1320
- self._nodeTest_()
1321
- with self._option():
1322
- self._abbrevForwardStep_()
1323
- self._error('no available options')
1324
-
1325
- @tatsumasu()
1326
- def _forwardAxis_(self):
1327
- with self._choice():
1328
- with self._option():
1329
- with self._group():
1330
- self._token('child')
1331
- self._token('::')
1332
- with self._option():
1333
- with self._group():
1334
- self._token('descendant')
1335
- self._token('::')
1336
- with self._option():
1337
- with self._group():
1338
- self._token('attribute')
1339
- self._token('::')
1340
- with self._option():
1341
- with self._group():
1342
- self._token('self')
1343
- self._token('::')
1344
- with self._option():
1345
- with self._group():
1346
- self._token('descendant-or-self')
1347
- self._token('::')
1348
- with self._option():
1349
- with self._group():
1350
- self._token('following-sibling')
1351
- self._token('::')
1352
- with self._option():
1353
- with self._group():
1354
- self._token('following')
1355
- self._token('::')
1356
- with self._option():
1357
- with self._group():
1358
- self._token('namespace')
1359
- self._token('::')
1360
- self._error('no available options')
1361
-
1362
- @tatsumasu()
1363
- def _abbrevForwardStep_(self):
1364
- with self._optional():
1365
- self._token('@')
1366
- self._nodeTest_()
1367
-
1368
- @tatsumasu()
1369
- def _reverseStep_(self):
1370
- with self._choice():
1371
- with self._option():
1372
- with self._group():
1373
- self._reverseAxis_()
1374
- self._nodeTest_()
1375
- with self._option():
1376
- self._abbrevReverseStep_()
1377
- self._error('no available options')
1378
-
1379
- @tatsumasu()
1380
- def _reverseAxis_(self):
1381
- with self._choice():
1382
- with self._option():
1383
- with self._group():
1384
- self._token('parent')
1385
- self._token('::')
1386
- with self._option():
1387
- with self._group():
1388
- self._token('ancestor')
1389
- self._token('::')
1390
- with self._option():
1391
- with self._group():
1392
- self._token('preceding-sibling')
1393
- self._token('::')
1394
- with self._option():
1395
- with self._group():
1396
- self._token('preceding')
1397
- self._token('::')
1398
- with self._option():
1399
- with self._group():
1400
- self._token('ancestor-or-self')
1401
- self._token('::')
1402
- self._error('no available options')
1403
-
1404
- @tatsumasu()
1405
- def _abbrevReverseStep_(self):
1406
- self._token('..')
1407
-
1408
- @tatsumasu()
1409
- def _nodeTest_(self):
1410
- with self._choice():
1411
- with self._option():
1412
- self._kindTest_()
1413
- with self._option():
1414
- self._nameTest_()
1415
- self._error('no available options')
1416
-
1417
- @tatsumasu()
1418
- def _nameTest_(self):
1419
- with self._choice():
1420
- with self._option():
1421
- self._qname_()
1422
- with self._option():
1423
- self._wildcard_()
1424
- self._error('no available options')
1425
-
1426
- @tatsumasu()
1427
- def _wildcard_(self):
1428
- with self._choice():
1429
- with self._option():
1430
- self._token('*')
1431
- with self._option():
1432
- with self._group():
1433
- self._ncname_()
1434
- self._token(':')
1435
- self._token('*')
1436
- with self._option():
1437
- with self._group():
1438
- self._token('*')
1439
- self._token(':')
1440
- self._ncname_()
1441
- self._error('no available options')
1442
-
1443
- @tatsumasu()
1444
- def _filterExpr_(self):
1445
- self._primaryExpr_()
1446
- self._predicateList_()
1447
-
1448
- @tatsumasu()
1449
- def _predicateList_(self):
1450
-
1451
- def block0():
1452
- self._predicate_()
1453
- self._closure(block0)
1454
-
1455
- @tatsumasu()
1456
- def _predicate_(self):
1457
- self._token('[')
1458
- self._expr_()
1459
- self._token(']')
1460
-
1461
- @tatsumasu()
1462
- def _primaryExpr_(self):
1463
- with self._choice():
1464
- with self._option():
1465
- self._literal_()
1466
- with self._option():
1467
- self._varRef_()
1468
- with self._option():
1469
- self._parenthesizedExpr_()
1470
- with self._option():
1471
- self._contextItemExpr_()
1472
- with self._option():
1473
- self._functionCall_()
1474
- self._error('no available options')
1475
-
1476
- @tatsumasu()
1477
- def _literal_(self):
1478
- with self._choice():
1479
- with self._option():
1480
- self._numericLiteral_()
1481
- with self._option():
1482
- self._stringLiteral_()
1483
- self._error('no available options')
1484
-
1485
- @tatsumasu()
1486
- def _numericLiteral_(self):
1487
- with self._choice():
1488
- with self._option():
1489
- self._integerLiteral_()
1490
- with self._option():
1491
- self._decimalLiteral_()
1492
- with self._option():
1493
- self._doubleLiteral_()
1494
- self._error('no available options')
1495
-
1496
- @tatsumasu()
1497
- def _varRef_(self):
1498
- self._token('$')
1499
- self._varName_()
1500
-
1501
- @tatsumasu()
1502
- def _varName_(self):
1503
- self._qname_()
1504
-
1505
- @tatsumasu()
1506
- def _parenthesizedExpr_(self):
1507
- self._token('(')
1508
- with self._optional():
1509
- self._expr_()
1510
- self._token(')')
1511
-
1512
- @tatsumasu()
1513
- def _contextItemExpr_(self):
1514
- self._token('.')
1515
-
1516
- @tatsumasu()
1517
- def _functionCall_(self):
1518
- self._qname_()
1519
- self._token('(')
1520
- with self._optional():
1521
- self._exprSingle_()
1522
-
1523
- def block0():
1524
- self._token(',')
1525
- self._exprSingle_()
1526
- self._closure(block0)
1527
- self._token(')')
1528
-
1529
- @tatsumasu()
1530
- def _singleType_(self):
1531
- self._atomicType_()
1532
- with self._optional():
1533
- self._token('?')
1534
-
1535
- @tatsumasu()
1536
- def _sequenceType_(self):
1537
- with self._choice():
1538
- with self._option():
1539
- with self._group():
1540
- self._token('empty-sequence')
1541
- self._token('(')
1542
- self._token(')')
1543
- with self._option():
1544
- with self._group():
1545
- self._itemType_()
1546
- with self._optional():
1547
- self._occurrenceIndicator_()
1548
- self._error('no available options')
1549
-
1550
- @tatsumasu()
1551
- def _occurrenceIndicator_(self):
1552
- with self._choice():
1553
- with self._option():
1554
- self._token('?')
1555
- with self._option():
1556
- self._token('*')
1557
- with self._option():
1558
- self._token('+')
1559
- self._error('no available options')
1560
-
1561
- @tatsumasu()
1562
- def _itemType_(self):
1563
- with self._choice():
1564
- with self._option():
1565
- self._kindTest_()
1566
- with self._option():
1567
- with self._group():
1568
- self._token('item')
1569
- self._token('(')
1570
- self._token(')')
1571
- with self._option():
1572
- self._atomicType_()
1573
- self._error('no available options')
1574
-
1575
- @tatsumasu()
1576
- def _atomicType_(self):
1577
- self._qname_()
1578
-
1579
- @tatsumasu()
1580
- def _kindTest_(self):
1581
- with self._choice():
1582
- with self._option():
1583
- self._documentTest_()
1584
- with self._option():
1585
- self._elementTest_()
1586
- with self._option():
1587
- self._attributeTest_()
1588
- with self._option():
1589
- self._schemaElementTest_()
1590
- with self._option():
1591
- self._schemaAttributeTest_()
1592
- with self._option():
1593
- self._pITest_()
1594
- with self._option():
1595
- self._commentTest_()
1596
- with self._option():
1597
- self._textTest_()
1598
- with self._option():
1599
- self._anyKindTest_()
1600
- self._error('no available options')
1601
-
1602
- @tatsumasu()
1603
- def _anyKindTest_(self):
1604
- self._token('node')
1605
- self._token('(')
1606
- self._token(')')
1607
-
1608
- @tatsumasu()
1609
- def _documentTest_(self):
1610
- self._token('document-node')
1611
- self._token('(')
1612
- with self._optional():
1613
- with self._choice():
1614
- with self._option():
1615
- self._elementTest_()
1616
- with self._option():
1617
- self._schemaElementTest_()
1618
- self._error('no available options')
1619
- self._token(')')
1620
-
1621
- @tatsumasu()
1622
- def _textTest_(self):
1623
- self._token('text')
1624
- self._token('(')
1625
- self._token(')')
1626
-
1627
- @tatsumasu()
1628
- def _commentTest_(self):
1629
- self._token('comment')
1630
- self._token('(')
1631
- self._token(')')
1632
-
1633
- @tatsumasu()
1634
- def _pITest_(self):
1635
- self._token('processing-instruction')
1636
- self._token('(')
1637
- with self._optional():
1638
- with self._choice():
1639
- with self._option():
1640
- self._ncname_()
1641
- with self._option():
1642
- self._stringLiteral_()
1643
- self._error('no available options')
1644
- self._token(')')
1645
-
1646
- @tatsumasu()
1647
- def _attributeTest_(self):
1648
- self._token('attribute')
1649
- self._token('(')
1650
- with self._optional():
1651
- self._attribNameOrWildcard_()
1652
- with self._optional():
1653
- self._token(',')
1654
- self._typeName_()
1655
- self._token(')')
1656
-
1657
- @tatsumasu()
1658
- def _attribNameOrWildcard_(self):
1659
- with self._choice():
1660
- with self._option():
1661
- self._attributeName_()
1662
- with self._option():
1663
- self._token('*')
1664
- self._error('no available options')
1665
-
1666
- @tatsumasu()
1667
- def _schemaAttributeTest_(self):
1668
- self._token('schema-attribute')
1669
- self._token('(')
1670
- self._attributeDeclaration_()
1671
- self._token(')')
1672
-
1673
- @tatsumasu()
1674
- def _attributeDeclaration_(self):
1675
- self._attributeName_()
1676
-
1677
- @tatsumasu()
1678
- def _elementTest_(self):
1679
- self._token('element')
1680
- self._token('(')
1681
- with self._optional():
1682
- self._elementNameOrWildcard_()
1683
- with self._optional():
1684
- self._token(',')
1685
- self._typeName_()
1686
- with self._optional():
1687
- self._token('?')
1688
- self._token(')')
1689
-
1690
- @tatsumasu()
1691
- def _elementNameOrWildcard_(self):
1692
- with self._choice():
1693
- with self._option():
1694
- self._elementName_()
1695
- with self._option():
1696
- self._token('*')
1697
- self._error('no available options')
1698
-
1699
- @tatsumasu()
1700
- def _schemaElementTest_(self):
1701
- self._token('schema-element')
1702
- self._token('(')
1703
- self._elementDeclaration_()
1704
- self._token(')')
1705
-
1706
- @tatsumasu()
1707
- def _elementDeclaration_(self):
1708
- self._elementName_()
1709
-
1710
- @tatsumasu()
1711
- def _attributeName_(self):
1712
- self._qname_()
1713
-
1714
- @tatsumasu()
1715
- def _elementName_(self):
1716
- self._qname_()
1717
-
1718
- @tatsumasu()
1719
- def _typeName_(self):
1720
- self._qname_()
1721
-
1722
- @tatsumasu()
1723
- def _integerLiteral_(self):
1724
- self._DIGITS_()
1725
-
1726
- @tatsumasu()
1727
- def _decimalLiteral_(self):
1728
- with self._choice():
1729
- with self._option():
1730
- with self._group():
1731
- self._token('.')
1732
- self._DIGITS_()
1733
- with self._option():
1734
- with self._group():
1735
- self._DIGITS_()
1736
- self._pattern(r'\.[0-9]*')
1737
- self._error('no available options')
1738
-
1739
- @tatsumasu()
1740
- def _doubleLiteral_(self):
1741
- with self._group():
1742
- with self._choice():
1743
- with self._option():
1744
- with self._group():
1745
- self._token('.')
1746
- self._DIGITS_()
1747
- with self._option():
1748
- with self._group():
1749
- self._DIGITS_()
1750
- self._pattern(r'(\.[0-9]*)?')
1751
- self._error('no available options')
1752
- self._pattern(r'[eE][+-]?')
1753
- self._DIGITS_()
1754
-
1755
- @tatsumasu()
1756
- def _stringLiteral_(self):
1757
- with self._choice():
1758
- with self._option():
1759
- with self._group():
1760
- self._pattern(r'"')
1761
-
1762
- def block0():
1763
- with self._choice():
1764
- with self._option():
1765
- self._ESCAPEQUOT_()
1766
- with self._option():
1767
- self._pattern(r'[^"]')
1768
- self._error('no available options')
1769
- self._closure(block0)
1770
- self._pattern(r'"')
1771
- with self._option():
1772
- with self._group():
1773
- self._pattern(r"'")
1774
-
1775
- def block2():
1776
- with self._choice():
1777
- with self._option():
1778
- self._ESCAPEAPOS_()
1779
- with self._option():
1780
- self._pattern(r"[^']")
1781
- self._error('no available options')
1782
- self._closure(block2)
1783
- self._pattern(r"'")
1784
- self._error('no available options')
1785
-
1786
- @tatsumasu()
1787
- def _ESCAPEQUOT_(self):
1788
- self._token('""')
1789
-
1790
- @tatsumasu()
1791
- def _ESCAPEAPOS_(self):
1792
- self._token("''")
1793
-
1794
- @tatsumasu()
1795
- def _qname_(self):
1796
- with self._choice():
1797
- with self._option():
1798
- with self._group():
1799
- self._NCNAME_FRAG_()
1800
- self._pattern(r':')
1801
- self._NCNAME_FRAG_()
1802
- with self._option():
1803
- self._NCNAME_FRAG_()
1804
- self._error('no available options')
1805
-
1806
- @tatsumasu()
1807
- def _ncname_(self):
1808
- self._NCNAME_FRAG_()
1809
-
1810
- @tatsumasu()
1811
- def _NCNAME_FRAG_(self):
1812
- self._pattern(r'([A-Z]|_|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|[\U00010000-\U000EFFFF])([A-Z]|_|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|[\U00010000-\U000EFFFF]|-|\.|[0-9]|\u00B7|[\u0300-\u036F]|[\u203F-\u2040])*')
1813
-
1814
- @tatsumasu()
1815
- def _DIGITS_(self):
1816
- self._pattern(r'[0-9]+')
1817
-
1818
-
1819
- class XFSemantics(object):
1820
- def module(self, ast):
1821
- return ast
1822
-
1823
- def separator(self, ast):
1824
- return ast
1825
-
1826
- def namespace_declaration(self, ast):
1827
- return ast
1828
-
1829
- def default(self, ast):
1830
- return ast
1831
-
1832
- def severity(self, ast):
1833
- return ast
1834
-
1835
- def message_severity(self, ast):
1836
- return ast
1837
-
1838
- def parameter(self, ast):
1839
- return ast
1840
-
1841
- def filter_declaration(self, ast):
1842
- return ast
1843
-
1844
- def filter(self, ast):
1845
- return ast
1846
-
1847
- def concept_filter(self, ast):
1848
- return ast
1849
-
1850
- def general_filter(self, ast):
1851
- return ast
1852
-
1853
- def period_filter(self, ast):
1854
- return ast
1855
-
1856
- def dimension_filter(self, ast):
1857
- return ast
1858
-
1859
- def dimension_axis(self, ast):
1860
- return ast
1861
-
1862
- def unit_filter(self, ast):
1863
- return ast
1864
-
1865
- def entity_filter(self, ast):
1866
- return ast
1867
-
1868
- def match_filter(self, ast):
1869
- return ast
1870
-
1871
- def relative_filter(self, ast):
1872
- return ast
1873
-
1874
- def tuple_filter(self, ast):
1875
- return ast
1876
-
1877
- def value_filter(self, ast):
1878
- return ast
1879
-
1880
- def boolean_filter(self, ast):
1881
- return ast
1882
-
1883
- def aspect_cover_filter(self, ast):
1884
- return ast
1885
-
1886
- def concept_relation_filter(self, ast):
1887
- return ast
1888
-
1889
- def relation_axis(self, ast):
1890
- return ast
1891
-
1892
- def declared_filter_reference(self, ast):
1893
- return ast
1894
-
1895
- def fact_variable(self, ast):
1896
- return ast
1897
-
1898
- def general_variable(self, ast):
1899
- return ast
1900
-
1901
- def function_declaration(self, ast):
1902
- return ast
1903
-
1904
- def assertion(self, ast):
1905
- return ast
1906
-
1907
- def label(self, ast):
1908
- return ast
1909
-
1910
- def message(self, ast):
1911
- return ast
1912
-
1913
- def referenced_parameter(self, ast):
1914
- return ast
1915
-
1916
- def precondition(self, ast):
1917
- return ast
1918
-
1919
- def value_expression(self, ast):
1920
- return ast
1921
-
1922
- def existence_expression(self, ast):
1923
- return ast
1924
-
1925
- def enclosed_expression(self, ast):
1926
- return ast
1927
-
1928
- def name(self, ast):
1929
- return ast
1930
-
1931
- def language(self, ast):
1932
- return ast
1933
-
1934
- def quoted_anyURI(self, ast):
1935
- return ast
1936
-
1937
- def quoted_url(self, ast):
1938
- return ast
1939
-
1940
- def localname(self, ast):
1941
- return ast
1942
-
1943
- def variable_ref(self, ast):
1944
- return ast
1945
-
1946
- def variable_name(self, ast):
1947
- return ast
1948
-
1949
- def non_negative_integer(self, ast):
1950
- return ast
1951
-
1952
- def date_time_constant(self, ast):
1953
- return ast
1954
-
1955
- def date_constant(self, ast):
1956
- return ast
1957
-
1958
- def quoted_string(self, ast):
1959
- return ast
1960
-
1961
- def regexp_pattern(self, ast):
1962
- return ast
1963
-
1964
- def xPath(self, ast):
1965
- return ast
1966
-
1967
- def expr(self, ast):
1968
- return ast
1969
-
1970
- def exprSingle(self, ast):
1971
- return ast
1972
-
1973
- def forExpr(self, ast):
1974
- return ast
1975
-
1976
- def simpleForClause(self, ast):
1977
- return ast
1978
-
1979
- def quantifiedExpr(self, ast):
1980
- return ast
1981
-
1982
- def ifExpr(self, ast):
1983
- return ast
1984
-
1985
- def orExpr(self, ast):
1986
- return ast
1987
-
1988
- def andExpr(self, ast):
1989
- return ast
1990
-
1991
- def comparisonExpr(self, ast):
1992
- return ast
1993
-
1994
- def rangeExpr(self, ast):
1995
- return ast
1996
-
1997
- def additiveExpr(self, ast):
1998
- return ast
1999
-
2000
- def multiplicativeExpr(self, ast):
2001
- return ast
2002
-
2003
- def unionExpr(self, ast):
2004
- return ast
2005
-
2006
- def intersectExceptExpr(self, ast):
2007
- return ast
2008
-
2009
- def instanceofExpr(self, ast):
2010
- return ast
2011
-
2012
- def treatExpr(self, ast):
2013
- return ast
2014
-
2015
- def castableExpr(self, ast):
2016
- return ast
2017
-
2018
- def castExpr(self, ast):
2019
- return ast
2020
-
2021
- def unaryExpr(self, ast):
2022
- return ast
2023
-
2024
- def valueExpr(self, ast):
2025
- return ast
2026
-
2027
- def generalComp(self, ast):
2028
- return ast
2029
-
2030
- def valueComp(self, ast):
2031
- return ast
2032
-
2033
- def nodeComp(self, ast):
2034
- return ast
2035
-
2036
- def pathExpr(self, ast):
2037
- return ast
2038
-
2039
- def relativePathExpr(self, ast):
2040
- return ast
2041
-
2042
- def stepExpr(self, ast):
2043
- return ast
2044
-
2045
- def axisStep(self, ast):
2046
- return ast
2047
-
2048
- def forwardStep(self, ast):
2049
- return ast
2050
-
2051
- def forwardAxis(self, ast):
2052
- return ast
2053
-
2054
- def abbrevForwardStep(self, ast):
2055
- return ast
2056
-
2057
- def reverseStep(self, ast):
2058
- return ast
2059
-
2060
- def reverseAxis(self, ast):
2061
- return ast
2062
-
2063
- def abbrevReverseStep(self, ast):
2064
- return ast
2065
-
2066
- def nodeTest(self, ast):
2067
- return ast
2068
-
2069
- def nameTest(self, ast):
2070
- return ast
2071
-
2072
- def wildcard(self, ast):
2073
- return ast
2074
-
2075
- def filterExpr(self, ast):
2076
- return ast
2077
-
2078
- def predicateList(self, ast):
2079
- return ast
2080
-
2081
- def predicate(self, ast):
2082
- return ast
2083
-
2084
- def primaryExpr(self, ast):
2085
- return ast
2086
-
2087
- def literal(self, ast):
2088
- return ast
2089
-
2090
- def numericLiteral(self, ast):
2091
- return ast
2092
-
2093
- def varRef(self, ast):
2094
- return ast
2095
-
2096
- def varName(self, ast):
2097
- return ast
2098
-
2099
- def parenthesizedExpr(self, ast):
2100
- return ast
2101
-
2102
- def contextItemExpr(self, ast):
2103
- return ast
2104
-
2105
- def functionCall(self, ast):
2106
- return ast
2107
-
2108
- def singleType(self, ast):
2109
- return ast
2110
-
2111
- def sequenceType(self, ast):
2112
- return ast
2113
-
2114
- def occurrenceIndicator(self, ast):
2115
- return ast
2116
-
2117
- def itemType(self, ast):
2118
- return ast
2119
-
2120
- def atomicType(self, ast):
2121
- return ast
2122
-
2123
- def kindTest(self, ast):
2124
- return ast
2125
-
2126
- def anyKindTest(self, ast):
2127
- return ast
2128
-
2129
- def documentTest(self, ast):
2130
- return ast
2131
-
2132
- def textTest(self, ast):
2133
- return ast
2134
-
2135
- def commentTest(self, ast):
2136
- return ast
2137
-
2138
- def pITest(self, ast):
2139
- return ast
2140
-
2141
- def attributeTest(self, ast):
2142
- return ast
2143
-
2144
- def attribNameOrWildcard(self, ast):
2145
- return ast
2146
-
2147
- def schemaAttributeTest(self, ast):
2148
- return ast
2149
-
2150
- def attributeDeclaration(self, ast):
2151
- return ast
2152
-
2153
- def elementTest(self, ast):
2154
- return ast
2155
-
2156
- def elementNameOrWildcard(self, ast):
2157
- return ast
2158
-
2159
- def schemaElementTest(self, ast):
2160
- return ast
2161
-
2162
- def elementDeclaration(self, ast):
2163
- return ast
2164
-
2165
- def attributeName(self, ast):
2166
- return ast
2167
-
2168
- def elementName(self, ast):
2169
- return ast
2170
-
2171
- def typeName(self, ast):
2172
- return ast
2173
-
2174
- def integerLiteral(self, ast):
2175
- return ast
2176
-
2177
- def decimalLiteral(self, ast):
2178
- return ast
2179
-
2180
- def doubleLiteral(self, ast):
2181
- return ast
2182
-
2183
- def stringLiteral(self, ast):
2184
- return ast
2185
-
2186
- def ESCAPEQUOT(self, ast):
2187
- return ast
2188
-
2189
- def ESCAPEAPOS(self, ast):
2190
- return ast
2191
-
2192
- def qname(self, ast):
2193
- return ast
2194
-
2195
- def ncname(self, ast):
2196
- return ast
2197
-
2198
- def NCNAME_FRAG(self, ast):
2199
- return ast
2200
-
2201
- def DIGITS(self, ast):
2202
- return ast
2203
-
2204
-
2205
- def main(filename, start=None, **kwargs):
2206
- if start is None:
2207
- start = 'module'
2208
- if not filename or filename == '-':
2209
- text = sys.stdin.read()
2210
- else:
2211
- with open(filename) as f:
2212
- text = f.read()
2213
- parser = XFParser()
2214
- return parser.parse(text, rule_name=start, filename=filename, **kwargs)
2215
-
2216
-
2217
- if __name__ == '__main__':
2218
- import json
2219
- from tatsu.util import asjson
2220
-
2221
- ast = generic_main(main, XFParser, name='XF')
2222
- print('AST:')
2223
- print(ast)
2224
- print()
2225
- print('JSON:')
2226
- print(json.dumps(asjson(ast), indent=2))
2227
- print()