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