Module: Ibex::Frontend::DSL

Defined in:
lib/ibex/frontend/dsl.rb

Overview

Builds the same Grammar AST as the text frontend through a Ruby API.

Defined Under Namespace

Classes: Builder, PrecedenceBuilder, RuleBuilder

Class Method Summary collapse

Class Method Details

.grammar(class_name:, superclass: nil, file: "(dsl)") {|builder| ... } ⇒ Object

Yields:

  • (builder)


8
9
10
11
12
# File 'lib/ibex/frontend/dsl.rb', line 8

def grammar(class_name:, superclass: nil, file: "(dsl)")
  builder = Builder.new(class_name: class_name, superclass: superclass, file: file)
  yield builder
  builder.to_ast
end