self-host TCS compiler GIR and add portable host runtime
This commit is contained in:
parent
3959ae4270
commit
ff29e52a32
33 changed files with 3848 additions and 831 deletions
113
build/self-host/ECHO-MODULE.stage1.gir.json
Normal file
113
build/self-host/ECHO-MODULE.stage1.gir.json
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
"authority_proof": {
|
||||
"issuer": "LOCAL_TEST_FIXTURE",
|
||||
"lease_required": false,
|
||||
"proof_ref": "TEST-ONLY",
|
||||
"scope": "EXACT_BUILD_RECEIPT_PATH",
|
||||
"single_use": true,
|
||||
"valid_from": "PROGRAM_START",
|
||||
"valid_until": "PROGRAM_END"
|
||||
},
|
||||
"cleanup_plan": {
|
||||
"exact_boundary": "./build",
|
||||
"targets": [
|
||||
"UNCOMMITTED_TEST_RECEIPT"
|
||||
]
|
||||
},
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "f1ecd630e50dfe5374ca26998d68a49efd35cf3d9de54ecabd3ca3aae68c61bf"
|
||||
},
|
||||
"conditions": {
|
||||
"C1": {
|
||||
"on_false": "FAIL_CLOSED",
|
||||
"predicate": "TARGET_WITHIN_TEST_BUILD_ROOT"
|
||||
}
|
||||
},
|
||||
"deterministic_action_graph": {
|
||||
"A1": {
|
||||
"input_refs": [
|
||||
"MESSAGE"
|
||||
],
|
||||
"on_failure": "FAIL_CLOSED",
|
||||
"on_success": "COMPLETE",
|
||||
"operation": "CORE.ECHO",
|
||||
"output_refs": [
|
||||
"ECHOED"
|
||||
]
|
||||
}
|
||||
},
|
||||
"exact_target": {
|
||||
"exact_path": "./build/echo-receipt.hldp",
|
||||
"expected_fingerprint": "NONE",
|
||||
"expected_state": "ABSENT",
|
||||
"target_id": "HLP-TARGET-STAGE0-RECEIPT"
|
||||
},
|
||||
"failure_plan": {
|
||||
"errors": [
|
||||
"TCS-E6001",
|
||||
"TCS-E8001"
|
||||
],
|
||||
"fail_closed": true
|
||||
},
|
||||
"identity": {
|
||||
"gir_id": "GIR-HLP-PROGRAM-ECHO-0001",
|
||||
"language_version": "0.1",
|
||||
"program_id": "HLP-PROGRAM-ECHO-0001"
|
||||
},
|
||||
"inputs": {
|
||||
"MESSAGE": {
|
||||
"required": true,
|
||||
"source": "PROGRAM_LITERAL",
|
||||
"type": "Text",
|
||||
"value": "光湖语言已经进入机器执行链"
|
||||
}
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"outputs": {
|
||||
"ECHOED": {
|
||||
"destination": "RECEIPT",
|
||||
"integrity": "SHA256",
|
||||
"type": "Text"
|
||||
}
|
||||
},
|
||||
"receipt_plan": {
|
||||
"human_projection": "REQUIRED",
|
||||
"integrity": "SHA256",
|
||||
"machine_path": "./build/echo-receipt.hldp",
|
||||
"protocol": "TCS-DEV-VERIFY-v1.0",
|
||||
"target_readback": "EXACT_CONTENT_AND_HASH"
|
||||
},
|
||||
"resource_plan": {
|
||||
"concurrency": 1,
|
||||
"memory_limit_bytes": 1048576,
|
||||
"runway": "LOCAL_TEST",
|
||||
"timeout_ms": 1000
|
||||
},
|
||||
"rollback_plan": {
|
||||
"actions": [
|
||||
"DROP_TEMP_RECEIPT"
|
||||
],
|
||||
"preconditions": [
|
||||
"RECEIPT_NOT_COMMITTED"
|
||||
],
|
||||
"verification": [
|
||||
"NO_FINAL_RECEIPT"
|
||||
]
|
||||
},
|
||||
"schema": "guanghu.gir/v1",
|
||||
"subject": {
|
||||
"channel_id": "ICE-CH-ZC001",
|
||||
"subject_id": "HLP-SYSTEM-STAGE0-TEST",
|
||||
"subject_kind": "SYSTEM",
|
||||
"verification": "LOCAL_TEST_FIXTURE"
|
||||
},
|
||||
"timeout_and_stop": {
|
||||
"safe_checkpoint": "NONE",
|
||||
"signals": [
|
||||
"TIMEOUT"
|
||||
]
|
||||
},
|
||||
"unresolved_natural_language": false
|
||||
}
|
||||
70
build/self-host/ECHO-PACKAGE.module.gir.json
Normal file
70
build/self-host/ECHO-PACKAGE.module.gir.json
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
"authority_ceiling": {
|
||||
"maximum": "LOCAL_EXACT_RECEIPT_PATH",
|
||||
"network": false,
|
||||
"process": false
|
||||
},
|
||||
"capabilities": {
|
||||
"provided": [
|
||||
"HLP-CAPABILITY-ECHO-0001"
|
||||
],
|
||||
"required": [
|
||||
"CORE.ECHO"
|
||||
]
|
||||
},
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "68e55584a1da4072a077fbf25c67307890ae7d4c373f2745178c83b522ce0570"
|
||||
},
|
||||
"data_scope": {
|
||||
"read": [
|
||||
"PROGRAM_LITERAL"
|
||||
],
|
||||
"write": [
|
||||
"ACCOUNT_OR_TEST_SCOPED_RECEIPT"
|
||||
]
|
||||
},
|
||||
"entry": {
|
||||
"id": "HLP-PROGRAM-ECHO-0001",
|
||||
"kind": "PROGRAM"
|
||||
},
|
||||
"identity": {
|
||||
"language_version": "0.1",
|
||||
"module_id": "HLP-MODULE-ECHO-0001"
|
||||
},
|
||||
"install": {
|
||||
"account_scoped": true,
|
||||
"activation_requires_self_test": true,
|
||||
"registration_is_installation": false
|
||||
},
|
||||
"manifest": {
|
||||
"display_name_zh": "光湖最小回声模块",
|
||||
"entry_program_id": "HLP-PROGRAM-ECHO-0001",
|
||||
"entry_source": "language/examples/ECHO-MODULE.tcs",
|
||||
"module_id": "HLP-MODULE-ECHO-0001"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"network_scope": {
|
||||
"allowed": false,
|
||||
"domains": []
|
||||
},
|
||||
"projection": {
|
||||
"display_name_zh": "光湖最小回声模块",
|
||||
"technical_detail_default": false
|
||||
},
|
||||
"resource_ceiling": {
|
||||
"concurrency": 1,
|
||||
"memory_limit_bytes": 1048576,
|
||||
"timeout_ms": 1000
|
||||
},
|
||||
"rollback": {
|
||||
"action": "REMOVE_INSTALLED_BYTES_AND_RESTORE_PREVIOUS_ACTIVE_VERSION",
|
||||
"preserve_receipts": true
|
||||
},
|
||||
"schema": "guanghu.module-gir/v1",
|
||||
"self_test": {
|
||||
"expect": "EXECUTED_TARGET_READBACK_VERIFIED",
|
||||
"program_id": "HLP-PROGRAM-ECHO-0001"
|
||||
}
|
||||
}
|
||||
72
build/self-host/TCS-STDLIB-CORE.module.gir.json
Normal file
72
build/self-host/TCS-STDLIB-CORE.module.gir.json
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"authority_ceiling": {
|
||||
"maximum": "LOCAL_EXACT_RECEIPT_PATH",
|
||||
"network": false,
|
||||
"process": false
|
||||
},
|
||||
"capabilities": {
|
||||
"provided": [
|
||||
"CORE.ECHO"
|
||||
],
|
||||
"required": [
|
||||
"HOST.EXACT_ROOT_IO",
|
||||
"HOST.SHA256"
|
||||
]
|
||||
},
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "dbadf698eb2b9a1399d5ad29912dd10b4bd2711b33d5b635d08a6d7112bc0c96"
|
||||
},
|
||||
"data_scope": {
|
||||
"read": [
|
||||
"PROGRAM_LITERAL"
|
||||
],
|
||||
"write": [
|
||||
"CALLER_SCOPED_RECEIPT_ROOT"
|
||||
]
|
||||
},
|
||||
"entry": {
|
||||
"id": "TCS-STDLIB-CORE-0001",
|
||||
"kind": "REGISTERED_OPERATION_LIBRARY"
|
||||
},
|
||||
"identity": {
|
||||
"language_version": "0.1",
|
||||
"module_id": "TCS-STDLIB-CORE-0001"
|
||||
},
|
||||
"install": {
|
||||
"account_scoped": true,
|
||||
"activation_requires_self_test": true,
|
||||
"registration_is_installation": false
|
||||
},
|
||||
"manifest": {
|
||||
"abi": "GIR/1",
|
||||
"display_name_zh": "TCS 核心标准库",
|
||||
"entry_program_id": "HLP-PROGRAM-ECHO-0001",
|
||||
"entry_source": "language/examples/ECHO-MODULE.tcs",
|
||||
"module_id": "TCS-STDLIB-CORE-0001"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"network_scope": {
|
||||
"allowed": false,
|
||||
"domains": []
|
||||
},
|
||||
"projection": {
|
||||
"display_name_zh": "TCS 核心标准库",
|
||||
"technical_detail_default": false
|
||||
},
|
||||
"resource_ceiling": {
|
||||
"concurrency": 1,
|
||||
"memory_limit_bytes": 1048576,
|
||||
"timeout_ms": 1000
|
||||
},
|
||||
"rollback": {
|
||||
"action": "RESTORE_PREVIOUS_STANDARD_LIBRARY",
|
||||
"preserve_receipts": true
|
||||
},
|
||||
"schema": "guanghu.module-gir/v1",
|
||||
"self_test": {
|
||||
"expect": "EXECUTED_TARGET_READBACK_VERIFIED",
|
||||
"program_id": "HLP-PROGRAM-ECHO-0001"
|
||||
}
|
||||
}
|
||||
337
build/self-host/compiler-A.gir.json
Normal file
337
build/self-host/compiler-A.gir.json
Normal file
|
|
@ -0,0 +1,337 @@
|
|||
{
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-STAGE0-IGNITION-0001",
|
||||
"compiler_state": "FOREIGN_HOST_BOOTSTRAP_SEED_NOT_SELF_HOSTED",
|
||||
"source_sha256": "65856dd98a272c0e8911d64dc96c9f0b4101f6d9364eeeac3cf78c282129de3f"
|
||||
},
|
||||
"compiler_definition": {
|
||||
"canonicalization": {
|
||||
"comments_in_semantic_digest": false,
|
||||
"final_newline": true,
|
||||
"integers": "MINIMAL_DECIMAL",
|
||||
"line_end": "LF",
|
||||
"list_order": "PRESERVE_SOURCE_SEMANTICS",
|
||||
"object_keys": "UTF8_BYTE_ORDER",
|
||||
"semantic_digest": "SHA256",
|
||||
"strings": "JSON_ESCAPE_NO_OPTIONAL_ESCAPE"
|
||||
},
|
||||
"header": {
|
||||
"bootstrap_seed": "TCS-STAGE0-IGNITION-0001",
|
||||
"lifecycle": "EXECUTABLE_SEMANTIC_FIXED_POINT_PROVEN_HOST_ACCEPTANCE_IN_PROGRESS",
|
||||
"name_zh": "TCS 第一代自举编译器",
|
||||
"output": "GIR/1",
|
||||
"profile": "HLDP-NP/1",
|
||||
"schema": "tcs.compiler/v1",
|
||||
"version": "0.1.0"
|
||||
},
|
||||
"lexer_rules": {
|
||||
"L001": {
|
||||
"emit_error": "TCS-E0001",
|
||||
"when": "BOM_AT_START"
|
||||
},
|
||||
"L002": {
|
||||
"action": "SKIP_WITH_SOURCE_POSITION",
|
||||
"when": "WHITESPACE_OR_COMMENT"
|
||||
},
|
||||
"L003": {
|
||||
"action": "READ_JSON_ESCAPED_TEXT",
|
||||
"on_unterminated": "TCS-E0002",
|
||||
"when": "DOUBLE_QUOTE"
|
||||
},
|
||||
"L004": {
|
||||
"action": "READ_SIGNED_DECIMAL_INT",
|
||||
"on_overflow": "TCS-E2001",
|
||||
"when": "MINUS_OR_ASCII_DIGIT"
|
||||
},
|
||||
"L005": {
|
||||
"action": "READ_IDENTIFIER_OR_KEYWORD",
|
||||
"when": "UNICODE_LETTER_OR_UNDERSCORE"
|
||||
},
|
||||
"L006": {
|
||||
"action": "EMIT_PUNCTUATION_TOKEN",
|
||||
"when": "REGISTERED_PUNCTUATION"
|
||||
},
|
||||
"L007": {
|
||||
"emit_error": "TCS-E1001",
|
||||
"when": "OTHER_CHARACTER"
|
||||
}
|
||||
},
|
||||
"lowering_to_gir": {
|
||||
"G001": {
|
||||
"from": "header",
|
||||
"to": "identity",
|
||||
"transform": "COPY_ID_VERSION_PROFILE_AND_LOCK_PROTOCOLS"
|
||||
},
|
||||
"G002": {
|
||||
"from": "source",
|
||||
"to": "compiled_from",
|
||||
"transform": "VERIFY_AND_BIND_SOURCE_SHA256"
|
||||
},
|
||||
"G003": {
|
||||
"from": "subject",
|
||||
"to": "subject",
|
||||
"transform": "RESOLVE_VERIFIED_SUBJECT"
|
||||
},
|
||||
"G004": {
|
||||
"from": "target",
|
||||
"to": "exact_target",
|
||||
"transform": "RESOLVE_PATH_STATE_AND_FINGERPRINT"
|
||||
},
|
||||
"G005": {
|
||||
"from": "actions",
|
||||
"to": "deterministic_action_graph",
|
||||
"transform": "SORT_ACTION_IDS_AND_RESOLVE_ALL_EDGES"
|
||||
},
|
||||
"G006": {
|
||||
"from": "authority",
|
||||
"to": "authority_proof",
|
||||
"transform": "BIND_PROOF_WITHOUT_EXPANDING_SCOPE"
|
||||
},
|
||||
"G007": {
|
||||
"from": "resources",
|
||||
"to": "resource_plan",
|
||||
"transform": "NORMALIZE_INTEGER_LIMITS"
|
||||
},
|
||||
"G008": {
|
||||
"from": "stop",
|
||||
"to": "timeout_and_stop",
|
||||
"transform": "COPY_EXPLICIT_STOP_SEMANTICS"
|
||||
},
|
||||
"G009": {
|
||||
"from": "cleanup",
|
||||
"to": "cleanup_plan",
|
||||
"transform": "COPY_EXACT_BOUNDARY"
|
||||
},
|
||||
"G010": {
|
||||
"from": "rollback",
|
||||
"to": "rollback_plan",
|
||||
"transform": "COPY_ACTIONS_AND_VERIFICATION"
|
||||
},
|
||||
"G011": {
|
||||
"from": "receipt",
|
||||
"to": "receipt_plan",
|
||||
"transform": "BIND_MACHINE_AND_HUMAN_OUTPUTS"
|
||||
},
|
||||
"G012": {
|
||||
"from": "all",
|
||||
"to": "unresolved_natural_language",
|
||||
"transform": "MUST_BE_FALSE"
|
||||
}
|
||||
},
|
||||
"output_contract": {
|
||||
"compiler_provenance_required": true,
|
||||
"drifting_dependency": false,
|
||||
"schema": "guanghu.gir/v1",
|
||||
"target_must_be_exact": true,
|
||||
"unresolved_authority": false,
|
||||
"unresolved_natural_language": false
|
||||
},
|
||||
"parser_rules": {
|
||||
"P001": {
|
||||
"nonterminal": "document",
|
||||
"sequence": [
|
||||
"prologue",
|
||||
"declaration",
|
||||
"EOF"
|
||||
]
|
||||
},
|
||||
"P002": {
|
||||
"nonterminal": "prologue",
|
||||
"sequence": [
|
||||
"TCS",
|
||||
"version",
|
||||
"SEMICOLON"
|
||||
]
|
||||
},
|
||||
"P003": {
|
||||
"nonterminal": "declaration",
|
||||
"sequence": [
|
||||
"declaration_kind",
|
||||
"identifier",
|
||||
"block"
|
||||
]
|
||||
},
|
||||
"P004": {
|
||||
"nonterminal": "block",
|
||||
"sequence": [
|
||||
"LBRACE",
|
||||
"member_zero_or_more",
|
||||
"RBRACE"
|
||||
]
|
||||
},
|
||||
"P005": {
|
||||
"alternatives": [
|
||||
"identifier_assignment",
|
||||
"identifier_typed_assignment",
|
||||
"identifier_block"
|
||||
],
|
||||
"nonterminal": "member"
|
||||
},
|
||||
"P006": {
|
||||
"alternatives": [
|
||||
"TEXT",
|
||||
"INT",
|
||||
"BOOL",
|
||||
"NULL",
|
||||
"IDENTIFIER",
|
||||
"array",
|
||||
"inline_object"
|
||||
],
|
||||
"nonterminal": "value"
|
||||
},
|
||||
"P007": {
|
||||
"emit_error": "TCS-E1002",
|
||||
"when": "DUPLICATE_MEMBER_IN_SAME_BLOCK"
|
||||
},
|
||||
"P008": {
|
||||
"emit_error": "TCS-E1001",
|
||||
"when": "TOKEN_AFTER_TOP_LEVEL_DECLARATION"
|
||||
}
|
||||
},
|
||||
"program_validation": {
|
||||
"V001": {
|
||||
"error_missing": "TCS-E1004",
|
||||
"error_unknown": "TCS-E1003",
|
||||
"rule": "EXACT_REQUIRED_SECTIONS",
|
||||
"standard": "TCS-FIELD-STANDARD-0001"
|
||||
},
|
||||
"V002": {
|
||||
"error": "TCS-E1003",
|
||||
"rule": "CLOSED_FIELDS_PER_SECTION"
|
||||
},
|
||||
"V003": {
|
||||
"error": "TCS-E2002",
|
||||
"rule": "ALL_INPUT_OUTPUT_AND_ACTION_REFS_RESOLVE"
|
||||
},
|
||||
"V004": {
|
||||
"error": "TCS-E2101",
|
||||
"rule": "ALL_OPERATIONS_REGISTERED_AT_LOCKED_VERSION"
|
||||
},
|
||||
"V005": {
|
||||
"errors": [
|
||||
"TCS-E3001",
|
||||
"TCS-E3002"
|
||||
],
|
||||
"rule": "SOURCE_ID_URI_HASH_AND_ROLE_RESOLVE"
|
||||
},
|
||||
"V006": {
|
||||
"errors": [
|
||||
"TCS-E4001",
|
||||
"TCS-E4002",
|
||||
"TCS-E4003"
|
||||
],
|
||||
"rule": "SUBJECT_TARGET_AND_AUTHORITY_EXACT"
|
||||
},
|
||||
"V007": {
|
||||
"error": "TCS-E2001",
|
||||
"rule": "ACTION_GRAPH_REACHABLE_AND_TERMINATING"
|
||||
},
|
||||
"V008": {
|
||||
"error": "TCS-E1004",
|
||||
"rule": "FAILURE_STOP_CLEANUP_ROLLBACK_AND_RECEIPT_PRESENT"
|
||||
},
|
||||
"V009": {
|
||||
"error": "TCS-E3002",
|
||||
"rule": "NO_FORBIDDEN_RUNTIME_PLACEHOLDER"
|
||||
},
|
||||
"V010": {
|
||||
"error": "TCS-E4001",
|
||||
"rule": "RELATION_AND_EMOTION_DO_NOT_GRANT_AUTHORITY"
|
||||
}
|
||||
},
|
||||
"self_host": {
|
||||
"compiler_A_compiles_stage1_to": "compiler-B.gir",
|
||||
"current_state": "SH01_TO_SH06_LOCAL_PASS_SH07_TARGET_READBACK_IN_PROGRESS",
|
||||
"fixed_point": "SEMANTIC_SHA256_A_EQUALS_B",
|
||||
"minimum_runnable_module_test": "REQUIRED",
|
||||
"negative_corpus_test": "REQUIRED",
|
||||
"stage0_compiles_stage1_to": "compiler-A.gir",
|
||||
"stage0_disabled_test": "REQUIRED",
|
||||
"standard_library_test": "REQUIRED"
|
||||
},
|
||||
"semantic_types": {
|
||||
"containers": [
|
||||
"List",
|
||||
"Set",
|
||||
"Map",
|
||||
"Option",
|
||||
"Ref",
|
||||
"Evidence",
|
||||
"Record"
|
||||
],
|
||||
"domains": [
|
||||
"Subject",
|
||||
"ExactTarget",
|
||||
"AuthorityProof",
|
||||
"ActionGraph",
|
||||
"ReceiptPlan",
|
||||
"RelationEvent"
|
||||
],
|
||||
"floating_point": "FORBIDDEN_V0_1",
|
||||
"implicit_conversion": "FORBIDDEN",
|
||||
"scalars": [
|
||||
"Text",
|
||||
"Bool",
|
||||
"Int",
|
||||
"UInt",
|
||||
"DecimalText",
|
||||
"Bytes",
|
||||
"DurationMs",
|
||||
"Timestamp",
|
||||
"Sha256",
|
||||
"NumberId",
|
||||
"Path",
|
||||
"Uri",
|
||||
"ErrorCode"
|
||||
]
|
||||
},
|
||||
"source_language": {
|
||||
"comments": [
|
||||
"LINE_COMMENT",
|
||||
"BLOCK_COMMENT"
|
||||
],
|
||||
"declaration_kinds": [
|
||||
"PROGRAM",
|
||||
"MODULE",
|
||||
"PROTOCOL",
|
||||
"COMPILER",
|
||||
"EVENT",
|
||||
"RECEIPT"
|
||||
],
|
||||
"encoding": "UTF8_LF_NO_BOM",
|
||||
"prologue": [
|
||||
"TCS",
|
||||
"VERSION",
|
||||
"SEMICOLON"
|
||||
],
|
||||
"punctuation": [
|
||||
"LBRACE",
|
||||
"RBRACE",
|
||||
"LBRACKET",
|
||||
"RBRACKET",
|
||||
"LESS",
|
||||
"GREATER",
|
||||
"COLON",
|
||||
"EQUAL",
|
||||
"COMMA",
|
||||
"SEMICOLON",
|
||||
"DOT"
|
||||
],
|
||||
"scalar_tokens": [
|
||||
"IDENTIFIER",
|
||||
"TEXT",
|
||||
"INT",
|
||||
"BOOL",
|
||||
"NULL"
|
||||
]
|
||||
}
|
||||
},
|
||||
"execution_abi": "TCS-COMPILER-GIR-EXEC/1",
|
||||
"identity": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"definition_sha256": "c7da830afd1dbf4fdda223226f091f17a5f8a1ee9c7c8e6424d1805a001d6e9a",
|
||||
"language_version": "0.1"
|
||||
},
|
||||
"native_self_hosted": false,
|
||||
"schema": "guanghu.compiler-gir/v1"
|
||||
}
|
||||
337
build/self-host/compiler-B.gir.json
Normal file
337
build/self-host/compiler-B.gir.json
Normal file
|
|
@ -0,0 +1,337 @@
|
|||
{
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "65856dd98a272c0e8911d64dc96c9f0b4101f6d9364eeeac3cf78c282129de3f"
|
||||
},
|
||||
"compiler_definition": {
|
||||
"canonicalization": {
|
||||
"comments_in_semantic_digest": false,
|
||||
"final_newline": true,
|
||||
"integers": "MINIMAL_DECIMAL",
|
||||
"line_end": "LF",
|
||||
"list_order": "PRESERVE_SOURCE_SEMANTICS",
|
||||
"object_keys": "UTF8_BYTE_ORDER",
|
||||
"semantic_digest": "SHA256",
|
||||
"strings": "JSON_ESCAPE_NO_OPTIONAL_ESCAPE"
|
||||
},
|
||||
"header": {
|
||||
"bootstrap_seed": "TCS-STAGE0-IGNITION-0001",
|
||||
"lifecycle": "EXECUTABLE_SEMANTIC_FIXED_POINT_PROVEN_HOST_ACCEPTANCE_IN_PROGRESS",
|
||||
"name_zh": "TCS 第一代自举编译器",
|
||||
"output": "GIR/1",
|
||||
"profile": "HLDP-NP/1",
|
||||
"schema": "tcs.compiler/v1",
|
||||
"version": "0.1.0"
|
||||
},
|
||||
"lexer_rules": {
|
||||
"L001": {
|
||||
"emit_error": "TCS-E0001",
|
||||
"when": "BOM_AT_START"
|
||||
},
|
||||
"L002": {
|
||||
"action": "SKIP_WITH_SOURCE_POSITION",
|
||||
"when": "WHITESPACE_OR_COMMENT"
|
||||
},
|
||||
"L003": {
|
||||
"action": "READ_JSON_ESCAPED_TEXT",
|
||||
"on_unterminated": "TCS-E0002",
|
||||
"when": "DOUBLE_QUOTE"
|
||||
},
|
||||
"L004": {
|
||||
"action": "READ_SIGNED_DECIMAL_INT",
|
||||
"on_overflow": "TCS-E2001",
|
||||
"when": "MINUS_OR_ASCII_DIGIT"
|
||||
},
|
||||
"L005": {
|
||||
"action": "READ_IDENTIFIER_OR_KEYWORD",
|
||||
"when": "UNICODE_LETTER_OR_UNDERSCORE"
|
||||
},
|
||||
"L006": {
|
||||
"action": "EMIT_PUNCTUATION_TOKEN",
|
||||
"when": "REGISTERED_PUNCTUATION"
|
||||
},
|
||||
"L007": {
|
||||
"emit_error": "TCS-E1001",
|
||||
"when": "OTHER_CHARACTER"
|
||||
}
|
||||
},
|
||||
"lowering_to_gir": {
|
||||
"G001": {
|
||||
"from": "header",
|
||||
"to": "identity",
|
||||
"transform": "COPY_ID_VERSION_PROFILE_AND_LOCK_PROTOCOLS"
|
||||
},
|
||||
"G002": {
|
||||
"from": "source",
|
||||
"to": "compiled_from",
|
||||
"transform": "VERIFY_AND_BIND_SOURCE_SHA256"
|
||||
},
|
||||
"G003": {
|
||||
"from": "subject",
|
||||
"to": "subject",
|
||||
"transform": "RESOLVE_VERIFIED_SUBJECT"
|
||||
},
|
||||
"G004": {
|
||||
"from": "target",
|
||||
"to": "exact_target",
|
||||
"transform": "RESOLVE_PATH_STATE_AND_FINGERPRINT"
|
||||
},
|
||||
"G005": {
|
||||
"from": "actions",
|
||||
"to": "deterministic_action_graph",
|
||||
"transform": "SORT_ACTION_IDS_AND_RESOLVE_ALL_EDGES"
|
||||
},
|
||||
"G006": {
|
||||
"from": "authority",
|
||||
"to": "authority_proof",
|
||||
"transform": "BIND_PROOF_WITHOUT_EXPANDING_SCOPE"
|
||||
},
|
||||
"G007": {
|
||||
"from": "resources",
|
||||
"to": "resource_plan",
|
||||
"transform": "NORMALIZE_INTEGER_LIMITS"
|
||||
},
|
||||
"G008": {
|
||||
"from": "stop",
|
||||
"to": "timeout_and_stop",
|
||||
"transform": "COPY_EXPLICIT_STOP_SEMANTICS"
|
||||
},
|
||||
"G009": {
|
||||
"from": "cleanup",
|
||||
"to": "cleanup_plan",
|
||||
"transform": "COPY_EXACT_BOUNDARY"
|
||||
},
|
||||
"G010": {
|
||||
"from": "rollback",
|
||||
"to": "rollback_plan",
|
||||
"transform": "COPY_ACTIONS_AND_VERIFICATION"
|
||||
},
|
||||
"G011": {
|
||||
"from": "receipt",
|
||||
"to": "receipt_plan",
|
||||
"transform": "BIND_MACHINE_AND_HUMAN_OUTPUTS"
|
||||
},
|
||||
"G012": {
|
||||
"from": "all",
|
||||
"to": "unresolved_natural_language",
|
||||
"transform": "MUST_BE_FALSE"
|
||||
}
|
||||
},
|
||||
"output_contract": {
|
||||
"compiler_provenance_required": true,
|
||||
"drifting_dependency": false,
|
||||
"schema": "guanghu.gir/v1",
|
||||
"target_must_be_exact": true,
|
||||
"unresolved_authority": false,
|
||||
"unresolved_natural_language": false
|
||||
},
|
||||
"parser_rules": {
|
||||
"P001": {
|
||||
"nonterminal": "document",
|
||||
"sequence": [
|
||||
"prologue",
|
||||
"declaration",
|
||||
"EOF"
|
||||
]
|
||||
},
|
||||
"P002": {
|
||||
"nonterminal": "prologue",
|
||||
"sequence": [
|
||||
"TCS",
|
||||
"version",
|
||||
"SEMICOLON"
|
||||
]
|
||||
},
|
||||
"P003": {
|
||||
"nonterminal": "declaration",
|
||||
"sequence": [
|
||||
"declaration_kind",
|
||||
"identifier",
|
||||
"block"
|
||||
]
|
||||
},
|
||||
"P004": {
|
||||
"nonterminal": "block",
|
||||
"sequence": [
|
||||
"LBRACE",
|
||||
"member_zero_or_more",
|
||||
"RBRACE"
|
||||
]
|
||||
},
|
||||
"P005": {
|
||||
"alternatives": [
|
||||
"identifier_assignment",
|
||||
"identifier_typed_assignment",
|
||||
"identifier_block"
|
||||
],
|
||||
"nonterminal": "member"
|
||||
},
|
||||
"P006": {
|
||||
"alternatives": [
|
||||
"TEXT",
|
||||
"INT",
|
||||
"BOOL",
|
||||
"NULL",
|
||||
"IDENTIFIER",
|
||||
"array",
|
||||
"inline_object"
|
||||
],
|
||||
"nonterminal": "value"
|
||||
},
|
||||
"P007": {
|
||||
"emit_error": "TCS-E1002",
|
||||
"when": "DUPLICATE_MEMBER_IN_SAME_BLOCK"
|
||||
},
|
||||
"P008": {
|
||||
"emit_error": "TCS-E1001",
|
||||
"when": "TOKEN_AFTER_TOP_LEVEL_DECLARATION"
|
||||
}
|
||||
},
|
||||
"program_validation": {
|
||||
"V001": {
|
||||
"error_missing": "TCS-E1004",
|
||||
"error_unknown": "TCS-E1003",
|
||||
"rule": "EXACT_REQUIRED_SECTIONS",
|
||||
"standard": "TCS-FIELD-STANDARD-0001"
|
||||
},
|
||||
"V002": {
|
||||
"error": "TCS-E1003",
|
||||
"rule": "CLOSED_FIELDS_PER_SECTION"
|
||||
},
|
||||
"V003": {
|
||||
"error": "TCS-E2002",
|
||||
"rule": "ALL_INPUT_OUTPUT_AND_ACTION_REFS_RESOLVE"
|
||||
},
|
||||
"V004": {
|
||||
"error": "TCS-E2101",
|
||||
"rule": "ALL_OPERATIONS_REGISTERED_AT_LOCKED_VERSION"
|
||||
},
|
||||
"V005": {
|
||||
"errors": [
|
||||
"TCS-E3001",
|
||||
"TCS-E3002"
|
||||
],
|
||||
"rule": "SOURCE_ID_URI_HASH_AND_ROLE_RESOLVE"
|
||||
},
|
||||
"V006": {
|
||||
"errors": [
|
||||
"TCS-E4001",
|
||||
"TCS-E4002",
|
||||
"TCS-E4003"
|
||||
],
|
||||
"rule": "SUBJECT_TARGET_AND_AUTHORITY_EXACT"
|
||||
},
|
||||
"V007": {
|
||||
"error": "TCS-E2001",
|
||||
"rule": "ACTION_GRAPH_REACHABLE_AND_TERMINATING"
|
||||
},
|
||||
"V008": {
|
||||
"error": "TCS-E1004",
|
||||
"rule": "FAILURE_STOP_CLEANUP_ROLLBACK_AND_RECEIPT_PRESENT"
|
||||
},
|
||||
"V009": {
|
||||
"error": "TCS-E3002",
|
||||
"rule": "NO_FORBIDDEN_RUNTIME_PLACEHOLDER"
|
||||
},
|
||||
"V010": {
|
||||
"error": "TCS-E4001",
|
||||
"rule": "RELATION_AND_EMOTION_DO_NOT_GRANT_AUTHORITY"
|
||||
}
|
||||
},
|
||||
"self_host": {
|
||||
"compiler_A_compiles_stage1_to": "compiler-B.gir",
|
||||
"current_state": "SH01_TO_SH06_LOCAL_PASS_SH07_TARGET_READBACK_IN_PROGRESS",
|
||||
"fixed_point": "SEMANTIC_SHA256_A_EQUALS_B",
|
||||
"minimum_runnable_module_test": "REQUIRED",
|
||||
"negative_corpus_test": "REQUIRED",
|
||||
"stage0_compiles_stage1_to": "compiler-A.gir",
|
||||
"stage0_disabled_test": "REQUIRED",
|
||||
"standard_library_test": "REQUIRED"
|
||||
},
|
||||
"semantic_types": {
|
||||
"containers": [
|
||||
"List",
|
||||
"Set",
|
||||
"Map",
|
||||
"Option",
|
||||
"Ref",
|
||||
"Evidence",
|
||||
"Record"
|
||||
],
|
||||
"domains": [
|
||||
"Subject",
|
||||
"ExactTarget",
|
||||
"AuthorityProof",
|
||||
"ActionGraph",
|
||||
"ReceiptPlan",
|
||||
"RelationEvent"
|
||||
],
|
||||
"floating_point": "FORBIDDEN_V0_1",
|
||||
"implicit_conversion": "FORBIDDEN",
|
||||
"scalars": [
|
||||
"Text",
|
||||
"Bool",
|
||||
"Int",
|
||||
"UInt",
|
||||
"DecimalText",
|
||||
"Bytes",
|
||||
"DurationMs",
|
||||
"Timestamp",
|
||||
"Sha256",
|
||||
"NumberId",
|
||||
"Path",
|
||||
"Uri",
|
||||
"ErrorCode"
|
||||
]
|
||||
},
|
||||
"source_language": {
|
||||
"comments": [
|
||||
"LINE_COMMENT",
|
||||
"BLOCK_COMMENT"
|
||||
],
|
||||
"declaration_kinds": [
|
||||
"PROGRAM",
|
||||
"MODULE",
|
||||
"PROTOCOL",
|
||||
"COMPILER",
|
||||
"EVENT",
|
||||
"RECEIPT"
|
||||
],
|
||||
"encoding": "UTF8_LF_NO_BOM",
|
||||
"prologue": [
|
||||
"TCS",
|
||||
"VERSION",
|
||||
"SEMICOLON"
|
||||
],
|
||||
"punctuation": [
|
||||
"LBRACE",
|
||||
"RBRACE",
|
||||
"LBRACKET",
|
||||
"RBRACKET",
|
||||
"LESS",
|
||||
"GREATER",
|
||||
"COLON",
|
||||
"EQUAL",
|
||||
"COMMA",
|
||||
"SEMICOLON",
|
||||
"DOT"
|
||||
],
|
||||
"scalar_tokens": [
|
||||
"IDENTIFIER",
|
||||
"TEXT",
|
||||
"INT",
|
||||
"BOOL",
|
||||
"NULL"
|
||||
]
|
||||
}
|
||||
},
|
||||
"execution_abi": "TCS-COMPILER-GIR-EXEC/1",
|
||||
"identity": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"definition_sha256": "c7da830afd1dbf4fdda223226f091f17a5f8a1ee9c7c8e6424d1805a001d6e9a",
|
||||
"language_version": "0.1"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"schema": "guanghu.compiler-gir/v1"
|
||||
}
|
||||
76
build/targets/TCS-HOST-LINUX-X86_64.module.gir.json
Normal file
76
build/targets/TCS-HOST-LINUX-X86_64.module.gir.json
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"authority_ceiling": {
|
||||
"maximum": "CALLER_PROVIDED_EXACT_ROOT_AND_VALID_LEASE",
|
||||
"network": false,
|
||||
"process": false
|
||||
},
|
||||
"capabilities": {
|
||||
"provided": [
|
||||
"TCS.COMPILE",
|
||||
"GIR.RUN"
|
||||
],
|
||||
"required": [
|
||||
"HOST.EXACT_ROOT_IO",
|
||||
"HOST.SHA256",
|
||||
"HOST.MONOTONIC_TIME"
|
||||
]
|
||||
},
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "5fd45ebe27fe4608f0fd0e06415ee36724f418b01764e569ce506aab1a208405"
|
||||
},
|
||||
"data_scope": {
|
||||
"read": [
|
||||
"TCS_SOURCE",
|
||||
"COMPILER_GIR",
|
||||
"GIR_INPUT"
|
||||
],
|
||||
"write": [
|
||||
"CALLER_SCOPED_BUILD_AND_RECEIPT_ROOT"
|
||||
]
|
||||
},
|
||||
"entry": {
|
||||
"id": "TCS-COMPILER-STAGE1-0001",
|
||||
"kind": "COMPILER_GIR_RUNTIME"
|
||||
},
|
||||
"identity": {
|
||||
"language_version": "0.1",
|
||||
"module_id": "TCS-HOST-LINUX-X86_64-0001"
|
||||
},
|
||||
"install": {
|
||||
"account_scoped": false,
|
||||
"activation_requires_self_test": true,
|
||||
"registration_is_installation": false
|
||||
},
|
||||
"manifest": {
|
||||
"display_name_zh": "TCS Linux 宿主运行核",
|
||||
"entry_program_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"entry_source": "build/self-host/compiler-B.gir.json",
|
||||
"module_id": "TCS-HOST-LINUX-X86_64-0001",
|
||||
"target_triple": "x86_64-unknown-linux-musl"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"network_scope": {
|
||||
"allowed": false,
|
||||
"domains": []
|
||||
},
|
||||
"projection": {
|
||||
"display_name_zh": "TCS Linux 宿主运行核",
|
||||
"technical_detail_default": false
|
||||
},
|
||||
"resource_ceiling": {
|
||||
"concurrency": 1,
|
||||
"memory_limit_bytes": 268435456,
|
||||
"timeout_ms": 30000
|
||||
},
|
||||
"rollback": {
|
||||
"action": "RESTORE_PREVIOUS_HOST_RUNTIME",
|
||||
"preserve_receipts": true
|
||||
},
|
||||
"schema": "guanghu.module-gir/v1",
|
||||
"self_test": {
|
||||
"expect": "EXECUTED_TARGET_READBACK_VERIFIED",
|
||||
"program_id": "HLP-PROGRAM-ECHO-0001"
|
||||
}
|
||||
}
|
||||
76
build/targets/TCS-HOST-MACOS-AARCH64.module.gir.json
Normal file
76
build/targets/TCS-HOST-MACOS-AARCH64.module.gir.json
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"authority_ceiling": {
|
||||
"maximum": "CALLER_PROVIDED_EXACT_ROOT_AND_VALID_LEASE",
|
||||
"network": false,
|
||||
"process": false
|
||||
},
|
||||
"capabilities": {
|
||||
"provided": [
|
||||
"TCS.COMPILE",
|
||||
"GIR.RUN"
|
||||
],
|
||||
"required": [
|
||||
"HOST.EXACT_ROOT_IO",
|
||||
"HOST.SHA256",
|
||||
"HOST.MONOTONIC_TIME"
|
||||
]
|
||||
},
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "0ade403f374bb94876b7d9f8b8295304369dac859f6ffed25ac91a191cfb49c3"
|
||||
},
|
||||
"data_scope": {
|
||||
"read": [
|
||||
"TCS_SOURCE",
|
||||
"COMPILER_GIR",
|
||||
"GIR_INPUT"
|
||||
],
|
||||
"write": [
|
||||
"CALLER_SCOPED_BUILD_AND_RECEIPT_ROOT"
|
||||
]
|
||||
},
|
||||
"entry": {
|
||||
"id": "TCS-COMPILER-STAGE1-0001",
|
||||
"kind": "COMPILER_GIR_RUNTIME"
|
||||
},
|
||||
"identity": {
|
||||
"language_version": "0.1",
|
||||
"module_id": "TCS-HOST-MACOS-AARCH64-0001"
|
||||
},
|
||||
"install": {
|
||||
"account_scoped": true,
|
||||
"activation_requires_self_test": true,
|
||||
"registration_is_installation": false
|
||||
},
|
||||
"manifest": {
|
||||
"display_name_zh": "TCS macOS 宿主运行核",
|
||||
"entry_program_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"entry_source": "build/self-host/compiler-B.gir.json",
|
||||
"module_id": "TCS-HOST-MACOS-AARCH64-0001",
|
||||
"target_triple": "aarch64-apple-darwin"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"network_scope": {
|
||||
"allowed": false,
|
||||
"domains": []
|
||||
},
|
||||
"projection": {
|
||||
"display_name_zh": "TCS macOS 宿主运行核",
|
||||
"technical_detail_default": false
|
||||
},
|
||||
"resource_ceiling": {
|
||||
"concurrency": 1,
|
||||
"memory_limit_bytes": 268435456,
|
||||
"timeout_ms": 30000
|
||||
},
|
||||
"rollback": {
|
||||
"action": "RESTORE_PREVIOUS_HOST_RUNTIME",
|
||||
"preserve_receipts": true
|
||||
},
|
||||
"schema": "guanghu.module-gir/v1",
|
||||
"self_test": {
|
||||
"expect": "EXECUTED_TARGET_READBACK_VERIFIED",
|
||||
"program_id": "HLP-PROGRAM-ECHO-0001"
|
||||
}
|
||||
}
|
||||
76
build/targets/TCS-HOST-WINDOWS-X86_64.module.gir.json
Normal file
76
build/targets/TCS-HOST-WINDOWS-X86_64.module.gir.json
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"authority_ceiling": {
|
||||
"maximum": "CALLER_PROVIDED_EXACT_ROOT_AND_VALID_LEASE",
|
||||
"network": false,
|
||||
"process": false
|
||||
},
|
||||
"capabilities": {
|
||||
"provided": [
|
||||
"TCS.COMPILE",
|
||||
"GIR.RUN"
|
||||
],
|
||||
"required": [
|
||||
"HOST.EXACT_ROOT_IO",
|
||||
"HOST.SHA256",
|
||||
"HOST.MONOTONIC_TIME"
|
||||
]
|
||||
},
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "0cef00513900df6664f0045e5aa3de0969cbc0d0d8eebd3a20c669fd286f2269"
|
||||
},
|
||||
"data_scope": {
|
||||
"read": [
|
||||
"TCS_SOURCE",
|
||||
"COMPILER_GIR",
|
||||
"GIR_INPUT"
|
||||
],
|
||||
"write": [
|
||||
"CALLER_SCOPED_BUILD_AND_RECEIPT_ROOT"
|
||||
]
|
||||
},
|
||||
"entry": {
|
||||
"id": "TCS-COMPILER-STAGE1-0001",
|
||||
"kind": "COMPILER_GIR_RUNTIME"
|
||||
},
|
||||
"identity": {
|
||||
"language_version": "0.1",
|
||||
"module_id": "TCS-HOST-WINDOWS-X86_64-0001"
|
||||
},
|
||||
"install": {
|
||||
"account_scoped": true,
|
||||
"activation_requires_self_test": true,
|
||||
"registration_is_installation": false
|
||||
},
|
||||
"manifest": {
|
||||
"display_name_zh": "TCS Windows 宿主运行核",
|
||||
"entry_program_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"entry_source": "build/self-host/compiler-B.gir.json",
|
||||
"module_id": "TCS-HOST-WINDOWS-X86_64-0001",
|
||||
"target_triple": "x86_64-pc-windows-msvc"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"network_scope": {
|
||||
"allowed": false,
|
||||
"domains": []
|
||||
},
|
||||
"projection": {
|
||||
"display_name_zh": "TCS Windows 宿主运行核",
|
||||
"technical_detail_default": false
|
||||
},
|
||||
"resource_ceiling": {
|
||||
"concurrency": 1,
|
||||
"memory_limit_bytes": 268435456,
|
||||
"timeout_ms": 30000
|
||||
},
|
||||
"rollback": {
|
||||
"action": "RESTORE_PREVIOUS_HOST_RUNTIME",
|
||||
"preserve_receipts": true
|
||||
},
|
||||
"schema": "guanghu.module-gir/v1",
|
||||
"self_test": {
|
||||
"expect": "EXECUTED_TARGET_READBACK_VERIFIED",
|
||||
"program_id": "HLP-PROGRAM-ECHO-0001"
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue