Module: Kumi::Core::RubyParser
- Defined in:
- lib/kumi/core/ruby_parser.rb,
lib/kumi/core/ruby_parser/dsl.rb,
lib/kumi/core/ruby_parser/sugar.rb,
lib/kumi/core/ruby_parser/parser.rb,
lib/kumi/core/ruby_parser/guard_rails.rb,
lib/kumi/core/ruby_parser/input_proxy.rb,
lib/kumi/core/ruby_parser/nested_input.rb,
lib/kumi/core/ruby_parser/build_context.rb,
lib/kumi/core/ruby_parser/input_builder.rb,
lib/kumi/core/ruby_parser/schema_builder.rb,
lib/kumi/core/ruby_parser/input_field_proxy.rb,
lib/kumi/core/ruby_parser/dsl_cascade_builder.rb,
lib/kumi/core/ruby_parser/expression_converter.rb,
lib/kumi/core/ruby_parser/declaration_reference_proxy.rb
Overview
The Ruby DSL frontend. Parses an in-Ruby ‘schema do … end` block into a `Kumi::Syntax::Root` AST — the same AST the text (`.kumi`) frontend emits.
Boundary: this module’s only public entry point is ‘Dsl.build_syntax_tree`, and it depends only on `Kumi::Syntax::*`, `Kumi::Core::Types`, and `Kumi::Core::Errors`. Everything else (SchemaBuilder, ExpressionConverter, the input/cascade builders, the proxies, the operator refinements in Sugar) is internal. Keep it that way: the frontend should never reach into the analyzer/IR, and callers should never reach past `Dsl`.
Defined Under Namespace
Modules: Dsl, GuardRails, Sugar Classes: BuildContext, DeclarationReferenceProxy, DslCascadeBuilder, ExpressionConverter, InputBuilder, InputFieldProxy, InputProxy, NestedInput, Parser, SchemaBuilder