@blockml/parser 0.9.4 → 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.
- package/blocks/org/blockml/bml/compiler/parser/Library.bml +19 -26
- package/blocks/org/blockml/bml/compiler/parser/ParserType.bml +16 -20
- package/blocks/org/blockml/bml/compiler/parser/README.bml +14 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/AssertBlockRoot.bml +23 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/BuildSubBlockIndex.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectLeadingComments.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/CollectTrailingComments.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ContainsUnescapedInterpolation.bml +26 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/CreateMapContext.bml +28 -24
- package/blocks/org/blockml/bml/compiler/parser/capability/DetectFormat.bml +19 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/DocumentElement.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementChildren.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementLocalName.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementPrefix.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementSourceLoc.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ElementStartTagIsSelfClosing.bml +23 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ExpressionFromRaw.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/ExtractNamespaceBindings.bml +20 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/FqnToQName.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/GetAttribute.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/GetCharacterData.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/GetParseErrors.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/HasBmlSemanticQNameBindings.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/InferCardinality.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsBooleanLiteral.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsCData.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsComment.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsDocumentRootLocalName.bml +57 -0
- package/blocks/org/blockml/bml/compiler/parser/capability/IsElement.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTextNode.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/IsTypeReferenceEntitySugar.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlock.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/MapBlockInstanceNode.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/MapCompositionTemplate.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/MapDocumentBlock.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/MapTypeReferenceEntityInstance.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/MergeSourceInfo.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/NormalizeBooleanValue.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/Parse.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBmlMeta.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseBooleanAttribute.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseDirectives.bml +23 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericArgumentList.bml +23 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseGenericsBinding.bml +23 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseMemberValue.bml +35 -27
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseTypeExpression.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseVisibilityFromName.bml +19 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/ParseXmlDom.bml +22 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveBlockReference.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolvePrefix.bml +22 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/ResolveTypeName.bml +25 -23
- package/blocks/org/blockml/bml/compiler/parser/capability/SourceLoc.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/capability/SplitQName.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/TrimText.bml +18 -21
- package/blocks/org/blockml/bml/compiler/parser/capability/TypeExpressionToString.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/VisibilityPrefix.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/capability/XmlTriviaFromElement.bml +19 -21
- package/blocks/org/blockml/bml/compiler/parser/config/MapTimeDiagnosticCodes.bml +16 -19
- package/blocks/org/blockml/bml/compiler/parser/config/ParserConstants.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/ArchitectureOverview.bml +21 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/AttributeClassification.bml +18 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/BlockMetadataMapping.bml +23 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/DesignDecisions.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/Diagnostics.bml +24 -24
- package/blocks/org/blockml/bml/compiler/parser/documentation/ExpressionCapture.bml +20 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/Introduction.bml +17 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/LayerSeparation.bml +19 -24
- package/blocks/org/blockml/bml/compiler/parser/documentation/MappingPrinciples.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMapping.bml +17 -20
- package/blocks/org/blockml/bml/compiler/parser/documentation/MemberMappingOrder.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/PackageOwnership.bml +17 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/PublicApi.bml +19 -22
- package/blocks/org/blockml/bml/compiler/parser/documentation/RoundtripContract.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/ScopeExclusions.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/SingleFileScope.bml +16 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/StructuralGrammar.bml +18 -23
- package/blocks/org/blockml/bml/compiler/parser/documentation/TypeDescriptorParsing.bml +15 -20
- package/blocks/org/blockml/bml/compiler/parser/documentation/V1Scope.bml +18 -21
- package/blocks/org/blockml/bml/compiler/parser/documentation/XmlCommentsParse.bml +18 -21
- package/blocks/org/blockml/bml/compiler/parser/map/BmlMeta.bml +25 -22
- package/blocks/org/blockml/bml/compiler/parser/map/CharacterData.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/map/MapContext.bml +40 -27
- package/blocks/org/blockml/bml/compiler/parser/map/MapContextOptions.bml +31 -24
- package/blocks/org/blockml/bml/compiler/parser/map/QNameParts.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/map/VisibilityParse.bml +19 -20
- package/blocks/org/blockml/bml/compiler/parser/map/XmlDomNode.bml +13 -17
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/map/directives.d.ts.map +1 -1
- package/dist/map/directives.js +2 -2
- package/dist/map/directives.js.map +1 -1
- package/dist/map/interpolation-escape.d.ts +11 -0
- package/dist/map/interpolation-escape.d.ts.map +1 -0
- package/dist/map/interpolation-escape.js +87 -0
- package/dist/map/interpolation-escape.js.map +1 -0
- package/dist/map/map-block.d.ts.map +1 -1
- package/dist/map/map-block.js +102 -6
- package/dist/map/map-block.js.map +1 -1
- package/dist/map/member-value.d.ts +1 -1
- package/dist/map/member-value.d.ts.map +1 -1
- package/dist/map/member-value.js +4 -11
- package/dist/map/member-value.js.map +1 -1
- package/dist/pipeline/namespaces.d.ts.map +1 -1
- package/dist/pipeline/namespaces.js +3 -0
- package/dist/pipeline/namespaces.js.map +1 -1
- package/dist/pipeline/root-type.d.ts +3 -0
- package/dist/pipeline/root-type.d.ts.map +1 -1
- package/dist/pipeline/root-type.js +16 -3
- package/dist/pipeline/root-type.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 Documentation — ScopeExclusions
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.ScopeExclusions-->
|
|
3
|
+
<pardocumentation:ScopeExclusions 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"
|
|
@@ -30,13 +24,15 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Explicit out-of-scope for the parser package
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
Out of scope for @blockml/parser:
|
|
35
|
+
|
|
40
36
|
• BOM → BML emit — @blockml/serializer
|
|
41
37
|
• Semantic validation — @blockml/validator
|
|
42
38
|
• TypeRegistry bootstrap / cross-file resolve — @blockml/cli + @blockml/framework
|
|
@@ -44,11 +40,10 @@
|
|
|
44
40
|
• Render target output — @blockml/compiler
|
|
45
41
|
• parseFile, async, streaming — deferred API
|
|
46
42
|
• Meta-driven mapping from Definition blocks — V2
|
|
47
|
-
|
|
48
|
-
In scope: single-file BML XML → lossless BomDocument
|
|
49
|
-
|
|
43
|
+
|
|
44
|
+
In scope: single-file BML XML → lossless BomDocument.
|
|
45
|
+
</documentation>
|
|
50
46
|
<references>
|
|
51
47
|
<see type="pardocumentation:Introduction" relation="SeeAlso" />
|
|
52
48
|
</references>
|
|
53
|
-
|
|
54
|
-
</block>
|
|
49
|
+
</pardocumentation:ScopeExclusions>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 Documentation — SingleFileScope
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.SingleFileScope-->
|
|
3
|
+
<pardocumentation:SingleFileScope 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"
|
|
@@ -30,23 +24,24 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
One BomDocument per parse(); external refs as strings (B5)
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
parse() produces exactly one BomDocument per invocation.
|
|
35
|
+
|
|
40
36
|
Cross-file references stored in authored form:
|
|
41
37
|
• type/baseType FQNs as resolved strings
|
|
42
38
|
• Preset refs as FQN::id strings (unmerged)
|
|
43
39
|
• bml:version on instances — no registry lookup at parse time
|
|
44
|
-
|
|
40
|
+
|
|
45
41
|
TypeRegistry bootstrap, effective member resolution, cross-file validation →
|
|
46
|
-
@blockml/cli orchestrator + @blockml/framework utilities + @blockml/validator
|
|
47
|
-
|
|
42
|
+
@blockml/cli orchestrator + @blockml/framework utilities + @blockml/validator.
|
|
43
|
+
</documentation>
|
|
48
44
|
<references>
|
|
49
45
|
<see type="pardocumentation:DesignDecisions" relation="ReadNext" />
|
|
50
46
|
</references>
|
|
51
|
-
|
|
52
|
-
</block>
|
|
47
|
+
</pardocumentation:SingleFileScope>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 Documentation — StructuralGrammar
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.StructuralGrammar-->
|
|
3
|
+
<pardocumentation:StructuralGrammar 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"
|
|
@@ -30,38 +24,39 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Closed root vocabulary and preserve-on-error for structural BML errors
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
A document is valid BlockML if it is well-formed XML, structurally conforms
|
|
39
35
|
to the BlockML definitions, and passes semantic validation against a complete registry.
|
|
40
36
|
XSD is not part of this definition.
|
|
41
|
-
|
|
37
|
+
|
|
42
38
|
Error classes: XML Syntax Error (malformed XML; document may be null);
|
|
43
39
|
Structural BML Error (unknown Gerüst tag/attribute/directive — this package);
|
|
44
40
|
Semantic BML Error (unknown type/member/library — @blockml/validator).
|
|
45
|
-
|
|
41
|
+
|
|
46
42
|
Root children are closed: only identity and container names from the effective
|
|
47
43
|
Block / document grammar (name, type, baseType, properties, aggregations, …).
|
|
48
44
|
Direct aggregations at root are not allowed. User content lives only inside
|
|
49
45
|
predefined containers and members.
|
|
50
|
-
|
|
46
|
+
|
|
51
47
|
Preserve-on-error: invalid authored constructs that can be represented are stored
|
|
52
48
|
as unknownElements / unknownAttributes residuals. Diagnostics MUST NOT require
|
|
53
49
|
destructive recovery. An error invalidates validity, not the whole BOM.
|
|
54
|
-
|
|
50
|
+
|
|
55
51
|
Definition/grammar nodes: unknown children/attributes → BML_UNKNOWN_ELEMENT /
|
|
56
52
|
BML_UNKNOWN_ATTRIBUTE. Unknown bml:* → BML_UNKNOWN_DIRECTIVE.
|
|
57
53
|
Non-whitespace text on element-only grammar nodes → BML_UNEXPECTED_TEXT.
|
|
58
54
|
Formatting whitespace is ignored (B13). Character-data hosts keep text
|
|
59
55
|
(name, is, documentation, value, property host text, …).
|
|
60
|
-
Block instances: extra attributes stay in memberValues for semantic checking
|
|
61
|
-
|
|
56
|
+
Block instances: extra attributes stay in memberValues for semantic checking.
|
|
57
|
+
</documentation>
|
|
62
58
|
<references>
|
|
63
59
|
<see type="pardocumentation:XmlCommentsParse" relation="ReadNext" />
|
|
64
60
|
<see type="valdocumentation:ValidityContract" relation="SeeAlso" />
|
|
65
61
|
</references>
|
|
66
|
-
|
|
67
|
-
</block>
|
|
62
|
+
</pardocumentation:StructuralGrammar>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 Documentation — TypeDescriptorParsing
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.TypeDescriptorParsing-->
|
|
3
|
+
<pardocumentation:TypeDescriptorParsing 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"
|
|
@@ -30,24 +24,25 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
TypeExpression parsing at map time
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
Parse type attribute strings into BOM TypeExpression shapes (defined in @blockml/bom).
|
|
35
|
+
|
|
40
36
|
• Named type refs → resolved FQN via namespace bindings + implicit namespaces
|
|
41
37
|
• Union (A | B), struct ({ a: T }), multiplicity, nested (T[])[], generics (including unions as arguments), self refs
|
|
42
38
|
• Ungrouped stacked multiplicity Integer[][] → BML_INVALID_TYPE_REFERENCE
|
|
43
39
|
• Boolean.True/Boolean.False preserved as type refs (B16) — not rewritten to literals
|
|
44
40
|
• Boolean values normalized to lowercase (B15)
|
|
45
41
|
• Failure → BML_UNKNOWN_TYPE
|
|
46
|
-
• Anonymous struct at specialized sites; context-bound implicit namespaces per 02_mbml.md
|
|
47
|
-
|
|
42
|
+
• Anonymous struct at specialized sites; context-bound implicit namespaces per 02_mbml.md
|
|
43
|
+
</documentation>
|
|
48
44
|
<references>
|
|
49
45
|
<see type="parcap:ParseTypeExpression" relation="Defines" />
|
|
50
46
|
<see type="pardocumentation:BlockMetadataMapping" relation="ReadNext" />
|
|
51
47
|
</references>
|
|
52
|
-
|
|
53
|
-
</block>
|
|
48
|
+
</pardocumentation:TypeDescriptorParsing>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 Documentation — V1Scope
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.V1Scope-->
|
|
3
|
+
<pardocumentation:V1Scope 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"
|
|
@@ -30,24 +24,27 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Phase A parser slice and deferred features
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
<![CDATA[
|
|
35
|
+
V1 (Phase A) parser implements:
|
|
36
|
+
• Hardcoded BML → BOM mapper for document roots (<block> or type tag; doc:DocumentFormat)
|
|
40
37
|
• Single-file scope (B5) — no TypeRegistry bootstrap in parse()
|
|
41
38
|
• Stage 1 structural BML validation (unknown Gerüst tags/attributes/directives); no TypeRegistry semantic checks (B8: XSD not Stage 1)
|
|
42
39
|
• JSON BML authoring not planned (B6)
|
|
43
40
|
• Tolerant parse by default (continueOnError: true)
|
|
44
|
-
|
|
41
|
+
|
|
45
42
|
Deferred: cross-file resolution, parseFile/async, streaming, parse({ validate: true }),
|
|
46
|
-
meta-driven mapping from Definition blocks (V2).
|
|
47
|
-
|
|
43
|
+
meta-driven mapping from Definition blocks (V2).
|
|
44
|
+
]]>
|
|
45
|
+
</documentation>
|
|
48
46
|
<references>
|
|
49
47
|
<see type="pardocumentation:PublicApi" relation="ReadNext" />
|
|
50
48
|
<see type="pardocumentation:SingleFileScope" relation="SeeAlso" />
|
|
51
49
|
</references>
|
|
52
|
-
|
|
53
|
-
</block>
|
|
50
|
+
</pardocumentation:V1Scope>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 Documentation — XmlCommentsParse
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.documentation.XmlCommentsParse-->
|
|
3
|
+
<pardocumentation:XmlCommentsParse 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"
|
|
@@ -30,24 +24,27 @@
|
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation"
|
|
31
25
|
xmlns:doc="org.blockml.bml.documentation">
|
|
32
26
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<is>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
27
|
+
<baseType>
|
|
28
|
+
core:Documentation
|
|
29
|
+
</baseType>
|
|
30
|
+
<is>
|
|
31
|
+
Comment binding algorithm (B11 parse side)
|
|
32
|
+
</is>
|
|
33
|
+
<documentation>
|
|
34
|
+
<![CDATA[
|
|
35
|
+
Cross-ref: org.blockml.bml.bom.documentation.XmlComments for Urmodell storage model.
|
|
36
|
+
|
|
40
37
|
Parse algorithm:
|
|
41
38
|
• pendingLeading comments → bind to next element as leadingComments
|
|
42
39
|
• Comments after element end tag → trailingComments on that element
|
|
43
40
|
• Storage: xmlTrivia on elements, memberSectionTrivia, metadataTrivia
|
|
44
|
-
|
|
41
|
+
|
|
45
42
|
Comment bodies only — without <!-- / -->. Whitespace/layout not stored (B13).
|
|
46
|
-
Re-emit rules (B22) → @blockml/serializer.
|
|
47
|
-
|
|
43
|
+
Re-emit rules (B22) → @blockml/serializer.
|
|
44
|
+
]]>
|
|
45
|
+
</documentation>
|
|
48
46
|
<references>
|
|
49
47
|
<see type="bomdocumentation:XmlComments" relation="SeeAlso" />
|
|
50
48
|
<see type="pardocumentation:TypeDescriptorParsing" relation="ReadNext" />
|
|
51
49
|
</references>
|
|
52
|
-
|
|
53
|
-
</block>
|
|
50
|
+
</pardocumentation:XmlCommentsParse>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 — BmlMeta
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.map.BmlMeta-->
|
|
3
|
+
<parmap:BmlMeta 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,26 +23,35 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
parser:ParserType
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Parsed bml:id/version/bean/scope on a BlockInstance
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
BML type gap: stands for the object returned by parseBmlMeta() (packages/parser/src/map/directives.ts).
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<id type="bomvalue:MemberValue">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
id. TS type: bomvalue:MemberValue. (optional)
|
|
39
|
+
</documentation>
|
|
42
40
|
</id>
|
|
43
41
|
<version type="bomvalue:MemberValue">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
version. TS type: bomvalue:MemberValue. (optional)
|
|
44
|
+
</documentation>
|
|
45
45
|
</version>
|
|
46
46
|
<bean type="bomvalue:MemberValue">
|
|
47
|
-
<documentation>
|
|
47
|
+
<documentation>
|
|
48
|
+
bean. TS type: bomvalue:MemberValue. (optional)
|
|
49
|
+
</documentation>
|
|
48
50
|
</bean>
|
|
49
51
|
<scope type="type:Text">
|
|
50
|
-
<documentation>
|
|
52
|
+
<documentation>
|
|
53
|
+
scope. TS type: type:Text. (optional)
|
|
54
|
+
</documentation>
|
|
51
55
|
</scope>
|
|
52
56
|
</properties>
|
|
53
|
-
|
|
54
|
-
</block>
|
|
57
|
+
</parmap:BmlMeta>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 — CharacterData
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.map.CharacterData-->
|
|
3
|
+
<parmap:CharacterData 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
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
parser:ParserType
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Trimmed element character data and authored form
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
BML type gap: stands for TypeScript { text: string; form: "text" | "cdata" } from getCharacterData() (packages/parser/src/util/xml.ts).
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<text type="type:Text">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
text. TS type: type:Text. (required)
|
|
39
|
+
</documentation>
|
|
42
40
|
</text>
|
|
43
41
|
<form type="bomcommon:CharacterDataForm">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
form. TS type: bomcommon:CharacterDataForm. (required)
|
|
44
|
+
</documentation>
|
|
45
45
|
</form>
|
|
46
46
|
</properties>
|
|
47
|
-
|
|
48
|
-
</block>
|
|
47
|
+
</parmap:CharacterData>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 — MapContext
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.map.MapContext-->
|
|
3
|
+
<parmap:MapContext 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,41 +23,60 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
parser:ParserType
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Per-parse mapping configuration and namespace context
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
Created by createMapContext(). Passed through map/* modules during step [5].
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<filePath type="type:Text">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
filePath. TS type: type:Text. (required)
|
|
39
|
+
</documentation>
|
|
42
40
|
</filePath>
|
|
43
41
|
<source type="type:Text">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
Original source string. (required)
|
|
44
|
+
</documentation>
|
|
45
45
|
</source>
|
|
46
46
|
<bindings type="type:Text">
|
|
47
|
-
<documentation>
|
|
47
|
+
<documentation>
|
|
48
|
+
Record<string, string> namespace bindings. (required)
|
|
49
|
+
</documentation>
|
|
48
50
|
</bindings>
|
|
49
51
|
<subBlockIndex type="type:Text">
|
|
50
|
-
<documentation>
|
|
52
|
+
<documentation>
|
|
53
|
+
Map<string, string> sub-block lookup. (required)
|
|
54
|
+
</documentation>
|
|
51
55
|
</subBlockIndex>
|
|
52
56
|
<parentBlockType type="type:Text">
|
|
53
|
-
<documentation>
|
|
57
|
+
<documentation>
|
|
58
|
+
Enclosing block type FQN when nested. (optional)
|
|
59
|
+
</documentation>
|
|
54
60
|
</parentBlockType>
|
|
55
61
|
<isRoot type="type:Boolean">
|
|
56
|
-
<documentation>
|
|
62
|
+
<documentation>
|
|
63
|
+
isRoot. TS type: type:Boolean. (required)
|
|
64
|
+
</documentation>
|
|
57
65
|
</isRoot>
|
|
58
66
|
<isEmbedded type="type:Boolean">
|
|
59
|
-
<documentation>
|
|
67
|
+
<documentation>
|
|
68
|
+
isEmbedded. TS type: type:Boolean. (required)
|
|
69
|
+
</documentation>
|
|
60
70
|
</isEmbedded>
|
|
61
71
|
<diagnostics type="bomcommon:Diagnostic[]">
|
|
62
|
-
<documentation>
|
|
72
|
+
<documentation>
|
|
73
|
+
Shared map-time diagnostics; structural errors append here without aborting. (required)
|
|
74
|
+
</documentation>
|
|
63
75
|
</diagnostics>
|
|
64
76
|
<parseValue type="type:Text">
|
|
65
|
-
<documentation>
|
|
77
|
+
<documentation>
|
|
78
|
+
Optional host parseValue hook from ParseOptions. (optional)
|
|
79
|
+
</documentation>
|
|
66
80
|
</parseValue>
|
|
67
81
|
</properties>
|
|
68
|
-
|
|
69
|
-
</block>
|
|
82
|
+
</parmap:MapContext>
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
|
|
3
|
-
|
|
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 — MapContextOptions
|
|
2
|
+
FQN: org.blockml.bml.compiler.parser.map.MapContextOptions-->
|
|
3
|
+
<parmap:MapContextOptions 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,32 +23,45 @@
|
|
|
29
23
|
xmlns:serdocumentation="org.blockml.bml.compiler.serializer.documentation"
|
|
30
24
|
xmlns:valdocumentation="org.blockml.bml.compiler.validator.documentation">
|
|
31
25
|
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
<is>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
<baseType>
|
|
27
|
+
parser:ParserType
|
|
28
|
+
</baseType>
|
|
29
|
+
<is>
|
|
30
|
+
Optional extras when building MapContext
|
|
31
|
+
</is>
|
|
32
|
+
<documentation>
|
|
33
|
+
BML type gap: stands for the options argument of createMapContext() (packages/parser/src/map/context.ts).
|
|
34
|
+
</documentation>
|
|
39
35
|
<properties>
|
|
40
36
|
<subBlockIndex type="type:Text">
|
|
41
|
-
<documentation>
|
|
37
|
+
<documentation>
|
|
38
|
+
Map<string, string> sub-block lookup. (optional)
|
|
39
|
+
</documentation>
|
|
42
40
|
</subBlockIndex>
|
|
43
41
|
<parentBlockType type="type:Text">
|
|
44
|
-
<documentation>
|
|
42
|
+
<documentation>
|
|
43
|
+
Enclosing block type FQN when nested. (optional)
|
|
44
|
+
</documentation>
|
|
45
45
|
</parentBlockType>
|
|
46
46
|
<isRoot type="type:Boolean">
|
|
47
|
-
<documentation>
|
|
47
|
+
<documentation>
|
|
48
|
+
isRoot. TS type: type:Boolean. (optional)
|
|
49
|
+
</documentation>
|
|
48
50
|
</isRoot>
|
|
49
51
|
<isEmbedded type="type:Boolean">
|
|
50
|
-
<documentation>
|
|
52
|
+
<documentation>
|
|
53
|
+
isEmbedded. TS type: type:Boolean. (optional)
|
|
54
|
+
</documentation>
|
|
51
55
|
</isEmbedded>
|
|
52
56
|
<diagnostics type="bomcommon:Diagnostic[]">
|
|
53
|
-
<documentation>
|
|
57
|
+
<documentation>
|
|
58
|
+
diagnostics. TS type: bomcommon:Diagnostic[]. (optional)
|
|
59
|
+
</documentation>
|
|
54
60
|
</diagnostics>
|
|
55
61
|
<parseValue type="type:Text">
|
|
56
|
-
<documentation>
|
|
62
|
+
<documentation>
|
|
63
|
+
Optional host parseValue hook from ParseOptions. (optional)
|
|
64
|
+
</documentation>
|
|
57
65
|
</parseValue>
|
|
58
66
|
</properties>
|
|
59
|
-
|
|
60
|
-
</block>
|
|
67
|
+
</parmap:MapContextOptions>
|