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