@blockml/compiler 0.1.0
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/runtime/Library.bml +121 -0
- package/blocks/org/blockml/bml/compiler/runtime/README.bml +60 -0
- package/blocks/org/blockml/bml/compiler/runtime/RuntimeType.bml +36 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompileBomOptions.bml +46 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompileInput.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompileOptions.bml +44 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompileRequest.bml +42 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompileScope.bml +45 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompileScopeKind.bml +44 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/CompilerResult.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/RenderContext.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/RenderOutput.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/RenderOutputFile.bml +42 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/RenderSession.bml +49 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/RenderTarget.bml +44 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/ResolvedScope.bml +44 -0
- package/blocks/org/blockml/bml/compiler/runtime/api/ScopeConfigHints.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/BuildRenderSession.bml +49 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/ClearTargets.bml +41 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/CompileBmlToBom.bml +52 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/CompileBmlToOutput.bml +54 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/CompileBomToOutput.bml +60 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/CompileToOutput.bml +58 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/CreateRenderContext.bml +54 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/GetTarget.bml +48 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/RegisterTarget.bml +47 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/RegisteredTargetNames.bml +41 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/ResolveScope.bml +54 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/ScopeAccepts.bml +51 -0
- package/blocks/org/blockml/bml/compiler/runtime/capability/ValidateRegistryDocuments.bml +51 -0
- package/blocks/org/blockml/bml/compiler/runtime/config/RuntimeConstants.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/ArchitectureOverview.bml +49 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/CompileIO.bml +44 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/CompileScopeRules.bml +46 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/DesignDecisions.bml +47 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/Diagnostics.bml +47 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/ExternalTargetContract.bml +63 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/Introduction.bml +49 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/LayerSeparation.bml +48 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/PackageOwnership.bml +46 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/PublicApi.bml +52 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/RenderContextRules.bml +47 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/ScopeExclusions.bml +43 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/TargetRegistry.bml +48 -0
- package/blocks/org/blockml/bml/compiler/runtime/documentation/V1Scope.bml +50 -0
- package/dist/compile-bml-to-bom.d.ts +6 -0
- package/dist/compile-bml-to-bom.d.ts.map +1 -0
- package/dist/compile-bml-to-bom.js +51 -0
- package/dist/compile-bml-to-bom.js.map +1 -0
- package/dist/compile-to-output.d.ts +6 -0
- package/dist/compile-to-output.d.ts.map +1 -0
- package/dist/compile-to-output.js +198 -0
- package/dist/compile-to-output.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/render-context.d.ts +12 -0
- package/dist/render-context.d.ts.map +1 -0
- package/dist/render-context.js +33 -0
- package/dist/render-context.js.map +1 -0
- package/dist/scope.d.ts +8 -0
- package/dist/scope.d.ts.map +1 -0
- package/dist/scope.js +71 -0
- package/dist/scope.js.map +1 -0
- package/dist/target-registry.d.ts +6 -0
- package/dist/target-registry.d.ts.map +1 -0
- package/dist/target-registry.js +41 -0
- package/dist/target-registry.js.map +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +43 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Capability — RegisterTarget
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.capability.RegisterTarget
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
27
|
+
|
|
28
|
+
<name>RegisterTarget</name>
|
|
29
|
+
<type>runcap:RegisterTarget</type>
|
|
30
|
+
<baseType>core:Capability</baseType>
|
|
31
|
+
<is>Register a RenderTarget in the in-memory Target Registry</is>
|
|
32
|
+
|
|
33
|
+
<documentation>C3: overwrites same name; registry starts empty — no built-in targets.
|
|
34
|
+
Validates before store (host programming errors throw): name non-empty; accepts non-empty
|
|
35
|
+
and only valid CompileScopeKind values; render is a function; validateRequest if set is a function.</documentation>
|
|
36
|
+
|
|
37
|
+
<references>
|
|
38
|
+
<see type="rundocumentation:TargetRegistry" relation="SeeAlso" />
|
|
39
|
+
</references>
|
|
40
|
+
|
|
41
|
+
<properties>
|
|
42
|
+
<target type="runapi:RenderTarget">
|
|
43
|
+
<documentation>Target to register. (required)</documentation>
|
|
44
|
+
</target>
|
|
45
|
+
</properties>
|
|
46
|
+
|
|
47
|
+
</block>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Capability — RegisteredTargetNames
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.capability.RegisteredTargetNames
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
27
|
+
|
|
28
|
+
<name>RegisteredTargetNames</name>
|
|
29
|
+
<type>runcap:RegisteredTargetNames</type>
|
|
30
|
+
<baseType>core:Capability</baseType>
|
|
31
|
+
<is>List registered target names</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Returns keys of the in-memory registry map.</documentation>
|
|
34
|
+
|
|
35
|
+
<properties>
|
|
36
|
+
<result type="type:Text">
|
|
37
|
+
<documentation>Target name list. (required)</documentation>
|
|
38
|
+
</result>
|
|
39
|
+
</properties>
|
|
40
|
+
|
|
41
|
+
</block>
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Capability — ResolveScope
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.capability.ResolveScope
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
27
|
+
|
|
28
|
+
<name>ResolveScope</name>
|
|
29
|
+
<type>runcap:ResolveScope</type>
|
|
30
|
+
<baseType>core:Capability</baseType>
|
|
31
|
+
<is>Resolve CompileScope to ResolvedScope or empty diagnostic</is>
|
|
32
|
+
|
|
33
|
+
<documentation>C7: document requires document; library/corpus use scope fields then ScopeConfigHints; auto prefers libraries then roots; empty → BML_COMPILE_SCOPE_EMPTY.</documentation>
|
|
34
|
+
|
|
35
|
+
<references>
|
|
36
|
+
<see type="rundocumentation:CompileScopeRules" relation="SeeAlso" />
|
|
37
|
+
</references>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<scope type="runapi:CompileScope">
|
|
41
|
+
<documentation>Input scope. (required)</documentation>
|
|
42
|
+
</scope>
|
|
43
|
+
<hints type="runapi:ScopeConfigHints">
|
|
44
|
+
<documentation>Host hints. (optional)</documentation>
|
|
45
|
+
</hints>
|
|
46
|
+
<resolved type="runapi:ResolvedScope">
|
|
47
|
+
<documentation>Concrete scope or null. (optional)</documentation>
|
|
48
|
+
</resolved>
|
|
49
|
+
<diagnostics type="type:Text">
|
|
50
|
+
<documentation>Scope diagnostics. (required)</documentation>
|
|
51
|
+
</diagnostics>
|
|
52
|
+
</properties>
|
|
53
|
+
|
|
54
|
+
</block>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Capability — ScopeAccepts
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.capability.ScopeAccepts
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
27
|
+
|
|
28
|
+
<name>ScopeAccepts</name>
|
|
29
|
+
<type>runcap:ScopeAccepts</type>
|
|
30
|
+
<baseType>core:Capability</baseType>
|
|
31
|
+
<is>Whether a resolved kind is accepted by a target accepts list</is>
|
|
32
|
+
|
|
33
|
+
<documentation>True if accepts includes the resolved kind; also true if accepts includes auto and kind is library or corpus.</documentation>
|
|
34
|
+
|
|
35
|
+
<references>
|
|
36
|
+
<see type="rundocumentation:CompileScopeRules" relation="SeeAlso" />
|
|
37
|
+
</references>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<resolvedKind type="type:Text">
|
|
41
|
+
<documentation>document | library | corpus. (required)</documentation>
|
|
42
|
+
</resolvedKind>
|
|
43
|
+
<accepts type="type:Text">
|
|
44
|
+
<documentation>Target accepts array. (required)</documentation>
|
|
45
|
+
</accepts>
|
|
46
|
+
<result type="type:Boolean">
|
|
47
|
+
<documentation>True if accepted. (required)</documentation>
|
|
48
|
+
</result>
|
|
49
|
+
</properties>
|
|
50
|
+
|
|
51
|
+
</block>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Capability — ValidateRegistryDocuments
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.capability.ValidateRegistryDocuments
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
27
|
+
|
|
28
|
+
<name>ValidateRegistryDocuments</name>
|
|
29
|
+
<type>runcap:ValidateRegistryDocuments</type>
|
|
30
|
+
<baseType>core:Capability</baseType>
|
|
31
|
+
<is>Re-validate BomDocuments in a TypeRegistry</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Dedupes by filePath; optional filePaths filter; continueOnError true.</documentation>
|
|
34
|
+
|
|
35
|
+
<references>
|
|
36
|
+
<see type="validator:Library" relation="SeeAlso" />
|
|
37
|
+
</references>
|
|
38
|
+
|
|
39
|
+
<properties>
|
|
40
|
+
<typeRegistry type="type:Text">
|
|
41
|
+
<documentation>TypeRegistry. (required)</documentation>
|
|
42
|
+
</typeRegistry>
|
|
43
|
+
<filePaths type="type:Text">
|
|
44
|
+
<documentation>Optional path filter. (optional)</documentation>
|
|
45
|
+
</filePaths>
|
|
46
|
+
<result type="type:Text">
|
|
47
|
+
<documentation>Diagnostic list. (required)</documentation>
|
|
48
|
+
</result>
|
|
49
|
+
</properties>
|
|
50
|
+
|
|
51
|
+
</block>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Config — RuntimeConstants
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.config.RuntimeConstants
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator">
|
|
27
|
+
|
|
28
|
+
<name>RuntimeConstants</name>
|
|
29
|
+
<type>runconfig:RuntimeConstants</type>
|
|
30
|
+
<baseType>runtime:RuntimeType</baseType>
|
|
31
|
+
<is>Well-known diagnostic codes and scope kind literals</is>
|
|
32
|
+
|
|
33
|
+
<documentation>Codes emitted by ResolveScope and CompileToOutput / CompileBomToOutput.
|
|
34
|
+
Scope kinds mirror CompileScopeKind.</documentation>
|
|
35
|
+
<properties>
|
|
36
|
+
<BML_UNKNOWN_TARGET type="type:Text"><documentation>Unknown render target name.</documentation></BML_UNKNOWN_TARGET>
|
|
37
|
+
<BML_TARGET_SCOPE_MISMATCH type="type:Text"><documentation>Resolved scope kind not in target.accepts.</documentation></BML_TARGET_SCOPE_MISMATCH>
|
|
38
|
+
<BML_COMPILE_SCOPE_EMPTY type="type:Text"><documentation>Missing document/libraries/roots or auto found nothing.</documentation></BML_COMPILE_SCOPE_EMPTY>
|
|
39
|
+
<BML_MISSING_TYPE_REGISTRY type="type:Text"><documentation>compileBomToOutput requires typeRegistry.</documentation></BML_MISSING_TYPE_REGISTRY>
|
|
40
|
+
<SCOPE_KINDS type="type:Text"><documentation>document, library, corpus, auto</documentation></SCOPE_KINDS>
|
|
41
|
+
</properties>
|
|
42
|
+
|
|
43
|
+
</block>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — ArchitectureOverview
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.ArchitectureOverview
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>ArchitectureOverview</name>
|
|
30
|
+
<type>rundocumentation:ArchitectureOverview</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Modules and compileToOutput data flow</is>
|
|
33
|
+
|
|
34
|
+
<documentation>Public modules map to capabilities:
|
|
35
|
+
types.ts → api/*; target-registry.ts → Register/Get/Clear/RegisteredTargetNames;
|
|
36
|
+
scope.ts → ResolveScope, ScopeAccepts;
|
|
37
|
+
compile-bml-to-bom.ts → CompileBmlToBom, ValidateRegistryDocuments;
|
|
38
|
+
compile-to-output.ts → CompileToOutput (+ sugar);
|
|
39
|
+
render-context.ts → BuildRenderSession, CreateRenderContext.
|
|
40
|
+
|
|
41
|
+
CompileToOutput pipeline: getTarget → validateRequest? → ResolveScope → ScopeAccepts →
|
|
42
|
+
bootstrapForScope (document parse/register or framework bootstrapTypeRegistry) →
|
|
43
|
+
document ValidateRegistryDocuments → BuildRenderSession → CreateRenderContext → render.</documentation>
|
|
44
|
+
<references>
|
|
45
|
+
<see type="rundocumentation:V1Scope" relation="ReadNext"></see>
|
|
46
|
+
<see type="runcap:CompileToOutput" relation="SeeAlso"></see>
|
|
47
|
+
</references>
|
|
48
|
+
|
|
49
|
+
</block>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — CompileIO
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.CompileIO
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>CompileIO</name>
|
|
30
|
+
<type>rundocumentation:CompileIO</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Compile I/O model (C4)</is>
|
|
33
|
+
|
|
34
|
+
<documentation>C4: BlockML has no mandatory input↔output cardinality. Targets decide how many files
|
|
35
|
+
(including zero) and may attach side fields on RenderOutput subtypes.
|
|
36
|
+
Hosts write files; the compiler returns opaque RenderOutput.
|
|
37
|
+
MachineBlocks 1 BML → 1 SCAD is a domain convention, not a compiler rule.
|
|
38
|
+
TypeRegistry population follows resolved scope (document vs library vs corpus), not a fixed I/O map.</documentation>
|
|
39
|
+
<references>
|
|
40
|
+
<see type="rundocumentation:CompileScopeRules" relation="ReadNext"></see>
|
|
41
|
+
<see type="runapi:RenderOutput" relation="SeeAlso"></see>
|
|
42
|
+
</references>
|
|
43
|
+
|
|
44
|
+
</block>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — CompileScopeRules
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.CompileScopeRules
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>CompileScopeRules</name>
|
|
30
|
+
<type>rundocumentation:CompileScopeRules</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Compile scope resolution and accepts (C7)</is>
|
|
33
|
+
|
|
34
|
+
<documentation>Kinds: document | library | corpus | auto.
|
|
35
|
+
ResolveScope: document requires scope.document; library uses libraries then hints.libraries;
|
|
36
|
+
corpus uses roots then hints.roots; auto prefers libraries then roots; else BML_COMPILE_SCOPE_EMPTY.
|
|
37
|
+
ScopeAccepts: exact kind match, or accepts includes auto and kind is library or corpus.
|
|
38
|
+
CompileToOutput rejects with BML_TARGET_SCOPE_MISMATCH when ScopeAccepts is false.
|
|
39
|
+
Accepts matrix for concrete targets lives in target libraries / CLI TargetCliMatrix — not here.</documentation>
|
|
40
|
+
<references>
|
|
41
|
+
<see type="rundocumentation:TargetRegistry" relation="ReadNext"></see>
|
|
42
|
+
<see type="runcap:ResolveScope" relation="SeeAlso"></see>
|
|
43
|
+
<see type="runcap:ScopeAccepts" relation="SeeAlso"></see>
|
|
44
|
+
</references>
|
|
45
|
+
|
|
46
|
+
</block>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — DesignDecisions
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.DesignDecisions
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>DesignDecisions</name>
|
|
30
|
+
<type>rundocumentation:DesignDecisions</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Normative Phase C decisions C1–C7</is>
|
|
33
|
+
|
|
34
|
+
<documentation>C1 RenderContext = RenderSession plus forked per-node context; internal render API.
|
|
35
|
+
C2 Facade = compileToOutput(CompileRequest, …); compileBmlToOutput is document sugar;
|
|
36
|
+
compileBomToOutput is BOM-first with required TypeRegistry (no re-parse/bootstrap).
|
|
37
|
+
C3 Registry has no defaults; hosts register; targets[] bootstrap is CLI config (cross-ref);
|
|
38
|
+
registerTarget validates name, accepts, render.
|
|
39
|
+
C4 No mandatory input↔output mapping; RenderOutput opaque (files[] base).
|
|
40
|
+
C5 Incremental build is CLI-only (boundary); not a runtime capability.
|
|
41
|
+
C6 Thumbnails are CLI-only; not part of RenderOutput.
|
|
42
|
+
C7 Scope document | library | corpus | auto; accepts[]; opaque targetOptions.</documentation>
|
|
43
|
+
<references>
|
|
44
|
+
<see type="rundocumentation:PackageOwnership" relation="ReadNext"></see>
|
|
45
|
+
</references>
|
|
46
|
+
|
|
47
|
+
</block>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — Diagnostics
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.Diagnostics
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>Diagnostics</name>
|
|
30
|
+
<type>rundocumentation:Diagnostics</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Compiler envelope diagnostic codes</is>
|
|
33
|
+
|
|
34
|
+
<documentation>Runtime-owned codes:
|
|
35
|
+
BML_UNKNOWN_TARGET — getTarget missed.
|
|
36
|
+
BML_TARGET_SCOPE_MISMATCH — resolved kind not accepted.
|
|
37
|
+
BML_COMPILE_SCOPE_EMPTY — missing document/libraries/roots or auto empty.
|
|
38
|
+
BML_MISSING_TYPE_REGISTRY — compileBomToOutput called without typeRegistry.
|
|
39
|
+
Parse/validate diagnostics are forwarded from parser/validator.
|
|
40
|
+
success on CompilerResult is false if any diagnostic has severity error.
|
|
41
|
+
CLI maps diagnostics to exit codes — not modeled here.</documentation>
|
|
42
|
+
<references>
|
|
43
|
+
<see type="rundocumentation:DesignDecisions" relation="ReadNext"></see>
|
|
44
|
+
<see type="runconfig:RuntimeConstants" relation="SeeAlso"></see>
|
|
45
|
+
</references>
|
|
46
|
+
|
|
47
|
+
</block>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — ExternalTargetContract
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.ExternalTargetContract
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>ExternalTargetContract</name>
|
|
30
|
+
<type>rundocumentation:ExternalTargetContract</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Normative contract for external Stage-3 RenderTargets</is>
|
|
33
|
+
|
|
34
|
+
<documentation>RenderTarget: name, accepts[], optional validateRequest, render(request, ctx) → RenderOutput
|
|
35
|
+
(files[] required; optional rootFiles[] at project root, optional diagnostics[] for CLI merge).
|
|
36
|
+
BOM-first hosts call compileBomToOutput(document, targetName, CompileBomOptions) with a required
|
|
37
|
+
TypeRegistry; no re-parse or bootstrap. Host must ensure the document is discoverable in the
|
|
38
|
+
registry when the target looks up by sourceFilePath or FQN.
|
|
39
|
+
|
|
40
|
+
Stable RenderSession fields for registry targets: typeRegistry, sourceFilePath, outputBasePath,
|
|
41
|
+
targetName, scopeKind, libraryPaths?, corpusRoots?.
|
|
42
|
+
Per-node RenderContext fields (blockFqn, outputRelativePath, child) are for composition renderers;
|
|
43
|
+
registry targets may ignore them.
|
|
44
|
+
|
|
45
|
+
Domain-specific options (MachineBlocks lib path, active config profiles, …) live in opaque
|
|
46
|
+
targetOptions on CompileRequest / CompileBomOptions — not on CompileOptions or RenderSession.
|
|
47
|
+
Hosts register targets via registerTarget before compile.
|
|
48
|
+
|
|
49
|
+
Stage-2 guarantee: hosts should run validate() or validateRegistryDocuments on the corpus
|
|
50
|
+
before emit when targets depend on semantic guarantees (embedded blocks, constraints,
|
|
51
|
+
instance refs). BlockDoc/XSD compile paths may omit full corpus Stage-2 by policy;
|
|
52
|
+
blockml validate remains SSOT for semantic validation.
|
|
53
|
+
|
|
54
|
+
@blockml/lsp (V1) — editor-agnostic stdio language server (blockml-lsp);
|
|
55
|
+
IDE clients connect via LSP. See org.blockml.bml.lsp.documentation.Introduction.</documentation>
|
|
56
|
+
<references>
|
|
57
|
+
<see type="rundocumentation:Diagnostics" relation="ReadNext"></see>
|
|
58
|
+
<see type="runapi:RenderTarget" relation="SeeAlso"></see>
|
|
59
|
+
<see type="runcap:CompileBomToOutput" relation="SeeAlso"></see>
|
|
60
|
+
<see type="rundocumentation:TargetRegistry" relation="SeeAlso"></see>
|
|
61
|
+
</references>
|
|
62
|
+
|
|
63
|
+
</block>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
Compiler Runtime Documentation — Introduction
|
|
3
|
+
FQN: org.blockml.bml.compiler.runtime.documentation.Introduction
|
|
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
|
+
"
|
|
10
|
+
xmlns:blockml="org.blockml.bml"
|
|
11
|
+
xmlns:bom="org.blockml.bml.bom"
|
|
12
|
+
xmlns:bomapi="org.blockml.bml.bom.api"
|
|
13
|
+
xmlns:bomcommon="org.blockml.bml.bom.common"
|
|
14
|
+
xmlns:bomdoc="org.blockml.bml.bom.document"
|
|
15
|
+
xmlns:cli="org.blockml.bml.cli"
|
|
16
|
+
xmlns:core="org.blockml.bml.core"
|
|
17
|
+
xmlns:def="org.blockml.bml.definition"
|
|
18
|
+
xmlns:framework="org.blockml.bml.framework"
|
|
19
|
+
xmlns:parser="org.blockml.bml.compiler.parser"
|
|
20
|
+
xmlns:runtime="org.blockml.bml.compiler.runtime"
|
|
21
|
+
xmlns:runapi="org.blockml.bml.compiler.runtime.api"
|
|
22
|
+
xmlns:runcap="org.blockml.bml.compiler.runtime.capability"
|
|
23
|
+
xmlns:runconfig="org.blockml.bml.compiler.runtime.config"
|
|
24
|
+
xmlns:rundocumentation="org.blockml.bml.compiler.runtime.documentation"
|
|
25
|
+
xmlns:type="org.blockml.bml.type"
|
|
26
|
+
xmlns:validator="org.blockml.bml.compiler.validator"
|
|
27
|
+
xmlns:doc="org.blockml.bml.documentation">
|
|
28
|
+
|
|
29
|
+
<name>Introduction</name>
|
|
30
|
+
<type>rundocumentation:Introduction</type>
|
|
31
|
+
<baseType>core:Documentation</baseType>
|
|
32
|
+
<is>Purpose and scope of the compiler runtime</is>
|
|
33
|
+
|
|
34
|
+
<documentation>The @blockml/compiler package implements the Stage-3 facade and Target Registry.
|
|
35
|
+
Normative entry is compileToOutput (C2). Targets register via registerTarget; the
|
|
36
|
+
registry ships with no defaults (C3). Compile scope kinds and auto resolution are C7.
|
|
37
|
+
|
|
38
|
+
This library (org.blockml.bml.compiler.runtime.*) is the SSOT. TypeScript in
|
|
39
|
+
packages/compiler/src/ implements it. Tests in packages/compiler/test/ encode contracts.
|
|
40
|
+
|
|
41
|
+
Host wiring (targets[] bootstrap, file write, exit codes, C5/C6) lives in
|
|
42
|
+
org.blockml.bml.cli.*. Target emit rules live in each target library.
|
|
43
|
+
Parser/validator algorithms live in their own libraries; this package orchestrates them.</documentation>
|
|
44
|
+
<references>
|
|
45
|
+
<see type="rundocumentation:LayerSeparation" relation="ReadNext"></see>
|
|
46
|
+
<see type="runcap:CompileToOutput" relation="SeeAlso"></see>
|
|
47
|
+
</references>
|
|
48
|
+
|
|
49
|
+
</block>
|