From 4c2ee8f9290de6856ed7ef8def22e14629fe2247 Mon Sep 17 00:00:00 2001 From: Jesse Brault Date: Sun, 14 Sep 2025 21:19:33 -0500 Subject: [PATCH] WIP on ast gen schema. --- src/parser/ast.schema.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/parser/ast.schema.yaml b/src/parser/ast.schema.yaml index 8f794b5..2211b78 100644 --- a/src/parser/ast.schema.yaml +++ b/src/parser/ast.schema.yaml @@ -11,6 +11,7 @@ $defs: description: A definition of a node type. oneOf: - $ref: "#/$defs/StructNodeDefinition" + - $ref: "#/$defs/LeafStructNodeDefinition" - $ref: "#/$defs/EnumNodeDefinition" - $ref: "#/$defs/LeafEnumNodeDefinition" StructNodeDefinition: @@ -26,6 +27,20 @@ $defs: $ref: "#/$defs/StructChildDefinition" required: - children + LeafStructNodeDefinition: + type: object + additionalProperties: false + description: A description of a Leaf-Struct node to be built. + properties: + type: + const: leaf_struct + children: + description: Ordered child fields for this node. + items: + $ref: "#/$defs/LeafStructChildDefinition" + required: + - type + - children EnumNodeDefinition: type: object additionalProperties: false @@ -199,6 +214,8 @@ $defs: type: string enum: - parse_number_base + LeafStructChildDefinition: + # TODO EnumChildDefinition: description: A definition of an enum node's child. Either a bare rule (string) in Pascal case, or an object. oneOf: