@blockml/parser 0.9.3 → 0.9.5

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 (116) hide show
  1. package/blocks/org/blockml/bml/compiler/parser/Library.bml +19 -26
  2. package/blocks/org/blockml/bml/compiler/parser/ParserType.bml +16 -20
  3. package/blocks/org/blockml/bml/compiler/parser/README.bml +14 -21
  4. package/blocks/org/blockml/bml/compiler/parser/capability/AssertBlockRoot.bml +23 -21
  5. package/blocks/org/blockml/bml/compiler/parser/capability/BuildSubBlockIndex.bml +19 -20
  6. package/blocks/org/blockml/bml/compiler/parser/capability/CollectLeadingComments.bml +22 -22
  7. package/blocks/org/blockml/bml/compiler/parser/capability/CollectTrailingComments.bml +22 -22
  8. package/blocks/org/blockml/bml/compiler/parser/capability/ContainsUnescapedInterpolation.bml +26 -21
  9. package/blocks/org/blockml/bml/compiler/parser/capability/CreateMapContext.bml +28 -24
  10. package/blocks/org/blockml/bml/compiler/parser/capability/DetectFormat.bml +19 -21
  11. package/blocks/org/blockml/bml/compiler/parser/capability/DocumentElement.bml +19 -20
  12. package/blocks/org/blockml/bml/compiler/parser/capability/ElementChildren.bml +19 -20
  13. package/blocks/org/blockml/bml/compiler/parser/capability/ElementLocalName.bml +19 -20
  14. package/blocks/org/blockml/bml/compiler/parser/capability/ElementPrefix.bml +19 -20
  15. package/blocks/org/blockml/bml/compiler/parser/capability/ElementSourceLoc.bml +25 -22
  16. package/blocks/org/blockml/bml/compiler/parser/capability/ElementStartTagIsSelfClosing.bml +23 -22
  17. package/blocks/org/blockml/bml/compiler/parser/capability/ExpressionFromRaw.bml +22 -21
  18. package/blocks/org/blockml/bml/compiler/parser/capability/ExtractNamespaceBindings.bml +20 -21
  19. package/blocks/org/blockml/bml/compiler/parser/capability/FqnToQName.bml +22 -21
  20. package/blocks/org/blockml/bml/compiler/parser/capability/GetAttribute.bml +22 -21
  21. package/blocks/org/blockml/bml/compiler/parser/capability/GetCharacterData.bml +19 -20
  22. package/blocks/org/blockml/bml/compiler/parser/capability/GetParseErrors.bml +19 -20
  23. package/blocks/org/blockml/bml/compiler/parser/capability/HasBmlSemanticQNameBindings.bml +19 -20
  24. package/blocks/org/blockml/bml/compiler/parser/capability/InferCardinality.bml +19 -20
  25. package/blocks/org/blockml/bml/compiler/parser/capability/IsBooleanLiteral.bml +19 -20
  26. package/blocks/org/blockml/bml/compiler/parser/capability/IsCData.bml +19 -20
  27. package/blocks/org/blockml/bml/compiler/parser/capability/IsComment.bml +19 -20
  28. package/blocks/org/blockml/bml/compiler/parser/capability/IsDocumentRootLocalName.bml +57 -0
  29. package/blocks/org/blockml/bml/compiler/parser/capability/IsElement.bml +19 -20
  30. package/blocks/org/blockml/bml/compiler/parser/capability/IsTextNode.bml +19 -20
  31. package/blocks/org/blockml/bml/compiler/parser/capability/IsTypeReferenceEntitySugar.bml +19 -20
  32. package/blocks/org/blockml/bml/compiler/parser/capability/MapBlock.bml +22 -22
  33. package/blocks/org/blockml/bml/compiler/parser/capability/MapBlockInstanceNode.bml +22 -21
  34. package/blocks/org/blockml/bml/compiler/parser/capability/MapCompositionTemplate.bml +22 -21
  35. package/blocks/org/blockml/bml/compiler/parser/capability/MapDocumentBlock.bml +25 -23
  36. package/blocks/org/blockml/bml/compiler/parser/capability/MapTypeReferenceEntityInstance.bml +22 -21
  37. package/blocks/org/blockml/bml/compiler/parser/capability/MergeSourceInfo.bml +25 -22
  38. package/blocks/org/blockml/bml/compiler/parser/capability/NormalizeBooleanValue.bml +19 -20
  39. package/blocks/org/blockml/bml/compiler/parser/capability/Parse.bml +22 -22
  40. package/blocks/org/blockml/bml/compiler/parser/capability/ParseBmlMeta.bml +19 -20
  41. package/blocks/org/blockml/bml/compiler/parser/capability/ParseBooleanAttribute.bml +19 -20
  42. package/blocks/org/blockml/bml/compiler/parser/capability/ParseDirectives.bml +23 -23
  43. package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericArgumentList.bml +23 -23
  44. package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericsBinding.bml +23 -23
  45. package/blocks/org/blockml/bml/compiler/parser/capability/ParseMemberValue.bml +35 -27
  46. package/blocks/org/blockml/bml/compiler/parser/capability/ParseTypeExpression.bml +25 -23
  47. package/blocks/org/blockml/bml/compiler/parser/capability/ParseVisibilityFromName.bml +19 -21
  48. package/blocks/org/blockml/bml/compiler/parser/capability/ParseXmlDom.bml +22 -22
  49. package/blocks/org/blockml/bml/compiler/parser/capability/ResolveBlockReference.bml +25 -23
  50. package/blocks/org/blockml/bml/compiler/parser/capability/ResolvePrefix.bml +22 -21
  51. package/blocks/org/blockml/bml/compiler/parser/capability/ResolveTypeName.bml +25 -23
  52. package/blocks/org/blockml/bml/compiler/parser/capability/SourceLoc.bml +25 -22
  53. package/blocks/org/blockml/bml/compiler/parser/capability/SplitQName.bml +19 -20
  54. package/blocks/org/blockml/bml/compiler/parser/capability/TrimText.bml +23 -20
  55. package/blocks/org/blockml/bml/compiler/parser/capability/TypeExpressionToString.bml +19 -20
  56. package/blocks/org/blockml/bml/compiler/parser/capability/VisibilityPrefix.bml +19 -20
  57. package/blocks/org/blockml/bml/compiler/parser/capability/XmlTriviaFromElement.bml +19 -21
  58. package/blocks/org/blockml/bml/compiler/parser/config/MapTimeDiagnosticCodes.bml +16 -19
  59. package/blocks/org/blockml/bml/compiler/parser/config/ParserConstants.bml +25 -22
  60. package/blocks/org/blockml/bml/compiler/parser/documentation/ArchitectureOverview.bml +21 -23
  61. package/blocks/org/blockml/bml/compiler/parser/documentation/AttributeClassification.bml +18 -23
  62. package/blocks/org/blockml/bml/compiler/parser/documentation/BlockMetadataMapping.bml +24 -22
  63. package/blocks/org/blockml/bml/compiler/parser/documentation/DesignDecisions.bml +16 -21
  64. package/blocks/org/blockml/bml/compiler/parser/documentation/Diagnostics.bml +24 -24
  65. package/blocks/org/blockml/bml/compiler/parser/documentation/ExpressionCapture.bml +20 -23
  66. package/blocks/org/blockml/bml/compiler/parser/documentation/Introduction.bml +17 -22
  67. package/blocks/org/blockml/bml/compiler/parser/documentation/LayerSeparation.bml +19 -24
  68. package/blocks/org/blockml/bml/compiler/parser/documentation/MappingPrinciples.bml +16 -21
  69. package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMapping.bml +17 -20
  70. package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMappingOrder.bml +16 -21
  71. package/blocks/org/blockml/bml/compiler/parser/documentation/PackageOwnership.bml +17 -22
  72. package/blocks/org/blockml/bml/compiler/parser/documentation/PublicApi.bml +19 -22
  73. package/blocks/org/blockml/bml/compiler/parser/documentation/RoundtripContract.bml +16 -21
  74. package/blocks/org/blockml/bml/compiler/parser/documentation/ScopeExclusions.bml +16 -21
  75. package/blocks/org/blockml/bml/compiler/parser/documentation/SingleFileScope.bml +16 -21
  76. package/blocks/org/blockml/bml/compiler/parser/documentation/StructuralGrammar.bml +18 -23
  77. package/blocks/org/blockml/bml/compiler/parser/documentation/TypeDescriptorParsing.bml +15 -20
  78. package/blocks/org/blockml/bml/compiler/parser/documentation/V1Scope.bml +18 -21
  79. package/blocks/org/blockml/bml/compiler/parser/documentation/XmlCommentsParse.bml +18 -21
  80. package/blocks/org/blockml/bml/compiler/parser/map/BmlMeta.bml +25 -22
  81. package/blocks/org/blockml/bml/compiler/parser/map/CharacterData.bml +19 -20
  82. package/blocks/org/blockml/bml/compiler/parser/map/MapContext.bml +40 -27
  83. package/blocks/org/blockml/bml/compiler/parser/map/MapContextOptions.bml +31 -24
  84. package/blocks/org/blockml/bml/compiler/parser/map/QNameParts.bml +19 -20
  85. package/blocks/org/blockml/bml/compiler/parser/map/VisibilityParse.bml +19 -20
  86. package/blocks/org/blockml/bml/compiler/parser/map/XmlDomNode.bml +13 -17
  87. package/dist/index.d.ts +2 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +2 -0
  90. package/dist/index.js.map +1 -1
  91. package/dist/map/directives.d.ts.map +1 -1
  92. package/dist/map/directives.js +2 -2
  93. package/dist/map/directives.js.map +1 -1
  94. package/dist/map/interpolation-escape.d.ts +11 -0
  95. package/dist/map/interpolation-escape.d.ts.map +1 -0
  96. package/dist/map/interpolation-escape.js +87 -0
  97. package/dist/map/interpolation-escape.js.map +1 -0
  98. package/dist/map/map-block.d.ts.map +1 -1
  99. package/dist/map/map-block.js +102 -6
  100. package/dist/map/map-block.js.map +1 -1
  101. package/dist/map/member-value.d.ts +1 -1
  102. package/dist/map/member-value.d.ts.map +1 -1
  103. package/dist/map/member-value.js +4 -11
  104. package/dist/map/member-value.js.map +1 -1
  105. package/dist/pipeline/namespaces.d.ts.map +1 -1
  106. package/dist/pipeline/namespaces.js +3 -0
  107. package/dist/pipeline/namespaces.js.map +1 -1
  108. package/dist/pipeline/root-type.d.ts +3 -0
  109. package/dist/pipeline/root-type.d.ts.map +1 -1
  110. package/dist/pipeline/root-type.js +16 -3
  111. package/dist/pipeline/root-type.js.map +1 -1
  112. package/dist/util/xml.d.ts +6 -1
  113. package/dist/util/xml.d.ts.map +1 -1
  114. package/dist/util/xml.js +14 -2
  115. package/dist/util/xml.js.map +1 -1
  116. package/package.json +3 -3
@@ -1,12 +1,6 @@
1
- <!--
2
- BlockML Parser Library Descriptor
3
- FQN: org.blockml.bml.compiler.parser.Library
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--BlockML Parser Library Descriptor
2
+ FQN: org.blockml.bml.compiler.parser.Library-->
3
+ <parser:Library xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,45 +23,44 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>Library</name>
33
- <type>parser:Library</type>
34
- <baseType>core:BlockLibrary</baseType>
35
- <is>The BlockML Parser compiler package library catalog</is>
36
-
26
+ <baseType>
27
+ core:BlockLibrary
28
+ </baseType>
29
+ <is>
30
+ The BlockML Parser compiler package library catalog
31
+ </is>
32
+ <version>
33
+ 0.9.5
34
+ </version>
37
35
  <documentation>
38
36
  # The BlockML Parser compiler package library catalog
39
-
37
+
40
38
  Canonical parser specification for BlockML — BML → BOM mapping algorithm,
41
39
  Stage 1 pipeline [1]–[5], and parse() contract. TypeScript in packages/parser/src/
42
40
  implements this library. Input/output Urmodell types live in org.blockml.bml.bom.*
43
41
  (@blockml/bom). Membership is defined exclusively by this blocks list.
44
42
  </documentation>
45
-
46
- <version>0.9.3</version>
47
-
48
43
  <language>
49
- <English />
44
+ <blockml:language.English />
50
45
  </language>
51
-
52
46
  <properties>
53
47
  <description override="true">
54
48
  <value>BlockML Parser library</value>
55
49
  </description>
56
50
  </properties>
57
-
58
51
  <aggregations>
59
- <readMe>
52
+ <readMe override="true">
60
53
  <composition>
61
54
  <parser:README />
62
55
  </composition>
63
56
  </readMe>
64
- <dependencies>
57
+ <dependencies override="true">
65
58
  <composition>
66
59
  <blockml:Library />
67
60
  <bom:Library />
68
61
  </composition>
69
62
  </dependencies>
70
- <blocks>
63
+ <blocks override="true">
71
64
  <composition>
72
65
  <parser:ParserType />
73
66
  <parmap:MapContext />
@@ -85,6 +78,7 @@
85
78
  <parcap:GetParseErrors />
86
79
  <parcap:DocumentElement />
87
80
  <parcap:AssertBlockRoot />
81
+ <parcap:IsDocumentRootLocalName />
88
82
  <parcap:ExtractNamespaceBindings />
89
83
  <parcap:MergeSourceInfo />
90
84
  <parcap:CreateMapContext />
@@ -155,5 +149,4 @@
155
149
  </composition>
156
150
  </blocks>
157
151
  </aggregations>
158
-
159
- </block>
152
+ </parser:Library>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser ParserType
3
- FQN: org.blockml.bml.compiler.parser.ParserType
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser — ParserType
2
+ FQN: org.blockml.bml.compiler.parser.ParserType-->
3
+ <parser:ParserType xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,17 +23,19 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>ParserType</name>
33
- <type>parser:ParserType</type>
34
- <baseType>core:Entity</baseType>
35
- <is>Abstract marker for parser implementation data-structure blocks</is>
36
-
37
- <documentation>All org.blockml.bml.compiler.parser.map.* and .config.* types extend this marker. Distinct from bom:UrmodellType (parse-result data) and core:Capability (operations).</documentation>
38
-
26
+ <baseType>
27
+ core:Entity
28
+ </baseType>
29
+ <is>
30
+ Abstract marker for parser implementation data-structure blocks
31
+ </is>
32
+ <documentation>
33
+ All org.blockml.bml.compiler.parser.map.* and .config.* types extend this marker. Distinct from bom:UrmodellType (parse-result data) and core:Capability (operations).
34
+ </documentation>
35
+ <abstract>
36
+ true
37
+ </abstract>
39
38
  <references>
40
39
  <see type="bom:UrmodellType" relation="SeeAlso" />
41
40
  </references>
42
-
43
- <abstract>true</abstract>
44
-
45
- </block>
41
+ </parser:ParserType>
@@ -1,12 +1,6 @@
1
- <!--
2
- BlockML Parser — README
3
- FQN: org.blockml.bml.compiler.parser.README
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--BlockML Parser — README
2
+ FQN: org.blockml.bml.compiler.parser.README-->
3
+ <parser:README xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,31 +23,31 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>README</name>
33
- <type>parser:README</type>
34
- <baseType>core:ReadMe</baseType>
35
- <is>Reading entry for the Parser compiler library</is>
36
-
26
+ <baseType>
27
+ core:ReadMe
28
+ </baseType>
29
+ <is>
30
+ Reading entry for the Parser compiler library
31
+ </is>
37
32
  <documentation>
38
33
  The @blockml/parser package converts BML XML to BomDocument (Urmodell).
39
34
  This library (org.blockml.bml.compiler.parser.*) is the SSOT; TypeScript in
40
35
  packages/parser/src/ implements it. Parity tests in packages/parser/test/
41
36
  verify BML ↔ TS alignment.
42
-
37
+
43
38
  Start reading at org.blockml.bml.compiler.parser.documentation.Introduction (ReadNext chain).
44
-
39
+
45
40
  Layer separation:
46
41
  • org.blockml.bml.bom.* (@blockml/bom) — Urmodell types parser produces
47
42
  • org.blockml.bml.compiler.parser.* (this library) — mapping rules and pipeline
48
43
  • org.blockml.bml.compiler.serializer.* (@blockml/serializer) — inverse emit
49
44
  • org.blockml.bml.definition.* (@blockml/core) — BML meta-model
50
-
45
+
51
46
  Modules: documentation (narrative specs), map (MapContext), config (constants),
52
47
  capability (parse + map operations).
53
-
48
+
54
49
  Not in this library: SerializeResult (@blockml/serializer); bomEquals (@blockml/bom).
55
50
  </documentation>
56
-
57
51
  <references>
58
52
  <see type="pardocumentation:Introduction" relation="ReadFirst" />
59
53
  <see type="pardocumentation:DesignDecisions" relation="SeeAlso" />
@@ -61,5 +55,4 @@
61
55
  <see type="bomdocumentation:PublicApi" relation="SeeAlso" />
62
56
  <see type="serdocumentation:Introduction" relation="SeeAlso" />
63
57
  </references>
64
-
65
- </block>
58
+ </parser:README>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — AssertBlockRoot
3
- FQN: org.blockml.bml.compiler.parser.capability.AssertBlockRoot
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — AssertBlockRoot
2
+ FQN: org.blockml.bml.compiler.parser.capability.AssertBlockRoot-->
3
+ <parcap:AssertBlockRoot xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -27,24 +21,32 @@
27
21
  xmlns:bomdocumentation="org.blockml.bml.bom.documentation"
28
22
  xmlns:bomcap="org.blockml.bml.bom.capability"
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
- xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
-
32
- <name>AssertBlockRoot</name>
33
- <type>parcap:AssertBlockRoot</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Root type resolver — step [3]; V1 requires &lt;block></is>
36
-
37
- <documentation>Throws BML_INVALID_ROOT when localName !== block.</documentation>
24
+ xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
25
+ xmlns:doc="org.blockml.bml.documentation">
38
26
 
27
+ <baseType>
28
+ core:Capability
29
+ </baseType>
30
+ <is>
31
+ Root type resolver — step [3]; &lt;block> or a type tag
32
+ </is>
33
+ <documentation>
34
+ <![CDATA[
35
+ Accepts legacy <block> or a type-as-root tag (PascalCase local
36
+ name, optional Package prefix). Throws BML_INVALID_ROOT otherwise
37
+ (doc:DocumentFormat).
38
+ ]]>
39
+ </documentation>
39
40
  <references>
40
41
  <see type="parconfig:ParserConstants" relation="SeeAlso" />
41
42
  <see type="pardocumentation:ArchitectureOverview" relation="SeeAlso" />
43
+ <see type="doc:DocumentFormat" relation="SeeAlso" />
42
44
  </references>
43
-
44
45
  <properties>
45
46
  <element type="parmap:XmlDomNode">
46
- <documentation>element. TS type: parmap:XmlDomNode. (required)</documentation>
47
+ <documentation>
48
+ element. TS type: parmap:XmlDomNode. (required)
49
+ </documentation>
47
50
  </element>
48
51
  </properties>
49
-
50
- </block>
52
+ </parcap:AssertBlockRoot>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — BuildSubBlockIndex
3
- FQN: org.blockml.bml.compiler.parser.capability.BuildSubBlockIndex
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — BuildSubBlockIndex
2
+ FQN: org.blockml.bml.compiler.parser.capability.BuildSubBlockIndex-->
3
+ <parcap:BuildSubBlockIndex xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,20 +23,25 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>BuildSubBlockIndex</name>
33
- <type>parcap:BuildSubBlockIndex</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Build sub-block name → type FQN index from BlockDefinition</is>
36
-
37
- <documentation>Build sub-block name → type FQN index from BlockDefinition</documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Build sub-block name → type FQN index from BlockDefinition
31
+ </is>
32
+ <documentation>
33
+ Build sub-block name → type FQN index from BlockDefinition
34
+ </documentation>
39
35
  <properties>
40
36
  <block type="bomblock:BlockDefinition">
41
- <documentation>block. TS type: bomblock:BlockDefinition. (required)</documentation>
37
+ <documentation>
38
+ block. TS type: bomblock:BlockDefinition. (required)
39
+ </documentation>
42
40
  </block>
43
41
  <index type="type:Text">
44
- <documentation>Map&lt;string, string> (required)</documentation>
42
+ <documentation>
43
+ Map&lt;string, string> (required)
44
+ </documentation>
45
45
  </index>
46
46
  </properties>
47
-
48
- </block>
47
+ </parcap:BuildSubBlockIndex>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — CollectLeadingComments
3
- FQN: org.blockml.bml.compiler.parser.capability.CollectLeadingComments
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — CollectLeadingComments
2
+ FQN: org.blockml.bml.compiler.parser.capability.CollectLeadingComments-->
3
+ <parcap:CollectLeadingComments xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,27 +23,33 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>CollectLeadingComments</name>
33
- <type>parcap:CollectLeadingComments</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Collect comment siblings before element index (B11)</is>
36
-
37
- <documentation>Collect comment siblings before element index (B11)</documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Collect comment siblings before element index (B11)
31
+ </is>
32
+ <documentation>
33
+ Collect comment siblings before element index (B11)
34
+ </documentation>
39
35
  <references>
40
36
  <see type="pardocumentation:XmlCommentsParse" relation="SeeAlso" />
41
37
  </references>
42
-
43
38
  <properties>
44
39
  <siblings type="parmap:XmlDomNode[]">
45
- <documentation>siblings. TS type: parmap:XmlDomNode[]. (required)</documentation>
40
+ <documentation>
41
+ siblings. TS type: parmap:XmlDomNode[]. (required)
42
+ </documentation>
46
43
  </siblings>
47
44
  <index type="type:Integer">
48
- <documentation>index. TS type: type:Integer. (required)</documentation>
45
+ <documentation>
46
+ index. TS type: type:Integer. (required)
47
+ </documentation>
49
48
  </index>
50
49
  <comments type="type:Text[]">
51
- <documentation>comments. TS type: type:Text[]. (required)</documentation>
50
+ <documentation>
51
+ comments. TS type: type:Text[]. (required)
52
+ </documentation>
52
53
  </comments>
53
54
  </properties>
54
-
55
- </block>
55
+ </parcap:CollectLeadingComments>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — CollectTrailingComments
3
- FQN: org.blockml.bml.compiler.parser.capability.CollectTrailingComments
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — CollectTrailingComments
2
+ FQN: org.blockml.bml.compiler.parser.capability.CollectTrailingComments-->
3
+ <parcap:CollectTrailingComments xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,27 +23,33 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>CollectTrailingComments</name>
33
- <type>parcap:CollectTrailingComments</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Collect comment siblings after element (B11)</is>
36
-
37
- <documentation>Collect comment siblings after element (B11)</documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Collect comment siblings after element (B11)
31
+ </is>
32
+ <documentation>
33
+ Collect comment siblings after element (B11)
34
+ </documentation>
39
35
  <references>
40
36
  <see type="pardocumentation:XmlCommentsParse" relation="SeeAlso" />
41
37
  </references>
42
-
43
38
  <properties>
44
39
  <siblings type="parmap:XmlDomNode[]">
45
- <documentation>siblings. TS type: parmap:XmlDomNode[]. (required)</documentation>
40
+ <documentation>
41
+ siblings. TS type: parmap:XmlDomNode[]. (required)
42
+ </documentation>
46
43
  </siblings>
47
44
  <index type="type:Integer">
48
- <documentation>index. TS type: type:Integer. (required)</documentation>
45
+ <documentation>
46
+ index. TS type: type:Integer. (required)
47
+ </documentation>
49
48
  </index>
50
49
  <comments type="type:Text[]">
51
- <documentation>comments. TS type: type:Text[]. (required)</documentation>
50
+ <documentation>
51
+ comments. TS type: type:Text[]. (required)
52
+ </documentation>
52
53
  </comments>
53
54
  </properties>
54
-
55
- </block>
55
+ </parcap:CollectTrailingComments>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — ContainsUnescapedInterpolation
3
- FQN: org.blockml.bml.compiler.parser.capability.ContainsUnescapedInterpolation
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — ContainsUnescapedInterpolation
2
+ FQN: org.blockml.bml.compiler.parser.capability.ContainsUnescapedInterpolation-->
3
+ <parcap:ContainsUnescapedInterpolation xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,25 +23,36 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>ContainsUnescapedInterpolation</name>
33
- <type>parcap:ContainsUnescapedInterpolation</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Detect unescaped ${…} interpolation in raw text</is>
36
-
37
- <documentation>True when raw contains ${ not preceded by a backslash. Used by ParseMemberValue and ParseDirectives to choose InterpolatedTextValue over a JSON-like literal.</documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Detect unescaped ${…} interpolation in raw text
31
+ </is>
32
+ <documentation>
33
+ True when raw contains an interpolation opener `${` with an even number of
34
+ immediately preceding backslashes (zero is even).
35
+
36
+ - Odd backslashes: last `\` escapes — `\${` is a literal `${`
37
+ - Even backslashes: `\\${` is one literal `\` plus a hole
38
+
39
+ Used by ParseMemberValue and ParseDirectives to choose InterpolatedTextValue
40
+ over a JSON-like literal.
41
+ </documentation>
39
42
  <references>
40
43
  <see type="pardocumentation:ExpressionCapture" relation="SeeAlso" />
41
44
  <see type="parcap:ParseMemberValue" relation="SeeAlso" />
42
45
  </references>
43
-
44
46
  <properties>
45
47
  <raw type="type:Text">
46
- <documentation>raw. TS type: type:Text. (required)</documentation>
48
+ <documentation>
49
+ raw. TS type: type:Text. (required)
50
+ </documentation>
47
51
  </raw>
48
52
  <result type="type:Boolean">
49
- <documentation>result. TS type: type:Boolean. (required)</documentation>
53
+ <documentation>
54
+ result. TS type: type:Boolean. (required)
55
+ </documentation>
50
56
  </result>
51
57
  </properties>
52
-
53
- </block>
58
+ </parcap:ContainsUnescapedInterpolation>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — CreateMapContext
3
- FQN: org.blockml.bml.compiler.parser.capability.CreateMapContext
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — CreateMapContext
2
+ FQN: org.blockml.bml.compiler.parser.capability.CreateMapContext-->
3
+ <parcap:CreateMapContext xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,33 +23,43 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>CreateMapContext</name>
33
- <type>parcap:CreateMapContext</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Build MapContext for step [5] mapping</is>
36
-
37
- <documentation>Build MapContext for step [5] mapping</documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Build MapContext for step [5] mapping
31
+ </is>
32
+ <documentation>
33
+ Build MapContext for step [5] mapping
34
+ </documentation>
39
35
  <references>
40
36
  <see type="parmap:MapContext" relation="SeeAlso" />
41
37
  </references>
42
-
43
38
  <properties>
44
39
  <filePath type="type:Text">
45
- <documentation>filePath. TS type: type:Text. (required)</documentation>
40
+ <documentation>
41
+ filePath. TS type: type:Text. (required)
42
+ </documentation>
46
43
  </filePath>
47
44
  <source type="type:Text">
48
- <documentation>source. TS type: type:Text. (required)</documentation>
45
+ <documentation>
46
+ source. TS type: type:Text. (required)
47
+ </documentation>
49
48
  </source>
50
49
  <bindings type="type:Text">
51
- <documentation>bindings. TS type: type:Text. (required)</documentation>
50
+ <documentation>
51
+ bindings. TS type: type:Text. (required)
52
+ </documentation>
52
53
  </bindings>
53
54
  <options type="parmap:MapContextOptions">
54
- <documentation>subBlockIndex, parentBlockType, isRoot, isEmbedded, diagnostics. (optional)</documentation>
55
+ <documentation>
56
+ subBlockIndex, parentBlockType, isRoot, isEmbedded, diagnostics. (optional)
57
+ </documentation>
55
58
  </options>
56
59
  <context type="parmap:MapContext">
57
- <documentation>context. TS type: parmap:MapContext. (required)</documentation>
60
+ <documentation>
61
+ context. TS type: parmap:MapContext. (required)
62
+ </documentation>
58
63
  </context>
59
64
  </properties>
60
-
61
- </block>
65
+ </parcap:CreateMapContext>
@@ -1,12 +1,6 @@
1
- <!--
2
- Parser Capability — DetectFormat
3
- FQN: org.blockml.bml.compiler.parser.capability.DetectFormat
4
- -->
5
- <block
6
- xmlns="http://blockml.org/bml"
7
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
8
- xsi:schemaLocation="http://blockml.org/bml https://blockml.org/schemas/bml.xsd
9
- "
1
+ <!--Parser Capability — DetectFormat
2
+ FQN: org.blockml.bml.compiler.parser.capability.DetectFormat-->
3
+ <parcap:DetectFormat xmlns="http://blockml.org/bml"
10
4
  xmlns:blockml="org.blockml.bml"
11
5
  xmlns:bom="org.blockml.bml.bom"
12
6
  xmlns:bomapi="org.blockml.bml.bom.api"
@@ -29,24 +23,28 @@
29
23
  xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
30
24
  xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
31
25
 
32
- <name>DetectFormat</name>
33
- <type>parcap:DetectFormat</type>
34
- <baseType>core:Capability</baseType>
35
- <is>Format detector — step [1] (B24)</is>
36
-
37
- <documentation><![CDATA[Strip UTF-8 BOM; detect xml when first non-whitespace is '<'.]]></documentation>
38
-
26
+ <baseType>
27
+ core:Capability
28
+ </baseType>
29
+ <is>
30
+ Format detector — step [1] (B24)
31
+ </is>
32
+ <documentation>
33
+ <![CDATA[Strip UTF-8 BOM; detect xml when first non-whitespace is '<'.]]>
34
+ </documentation>
39
35
  <references>
40
36
  <see type="pardocumentation:ArchitectureOverview" relation="SeeAlso" />
41
37
  </references>
42
-
43
38
  <properties>
44
39
  <source type="type:Text">
45
- <documentation>source. TS type: type:Text. (required)</documentation>
40
+ <documentation>
41
+ source. TS type: type:Text. (required)
42
+ </documentation>
46
43
  </source>
47
44
  <format type="type:Text">
48
- <documentation>"xml" | null (optional)</documentation>
45
+ <documentation>
46
+ "xml" | null (optional)
47
+ </documentation>
49
48
  </format>
50
49
  </properties>
51
-
52
- </block>
50
+ </parcap:DetectFormat>