deimos-lang/src/parser/ast.yaml
2025-08-27 12:35:43 -05:00

66 lines
1.3 KiB
YAML

CompilationUnit:
children:
- namespace
- use_statements:
rule: UseStatement
vec: true
- module_level_declarations:
rule: ModuleLevelDeclaration
Namespace:
children:
- ns_kw:
rule: Ns
skip: true
- fqn:
rule: Fqn
UseStatement:
children:
- use_kw:
rule: Use
skip: true
- prefixes:
rule: UseStatementPrefix
vec: true
- suffix:
rule: UseStatementSuffix
ModuleLevelDeclaration:
rules:
- rule: Module
build: ModuleDeclaration
- rule: Interface
build: InterfaceDeclaration
- FunctionDefinition
- PlatformFunction
ModuleDeclaration:
children:
- is_public:
rule: Pub
build:
type: boolean
on: rule_present
- mod_kw:
rule: Mod
skip: true
- identifier:
rule: Identifier
- declarations:
rule: ModuleLevelDeclaration
vec: true
Class:
children:
- is_public:
rule: Pub
build:
type: boolean
on: rule_present
- class_kw:
rule: ClassKw
skip: true
- identifier
- generic_parameters
- class_constructor
- implements_list
- class_level_declarations:
rule: ClassLevelDeclaration
vec: true