module Lex::Lexer::DSL::ClassMethods

Class methods for a lexer

@api private

Public Instance Methods

dsl() click to toggle source

Return the rule DSL used by Lexer

@api private

# File lib/lex/lexer/dsl.rb, line 32
def dsl
  @dsl ||= RuleDSL.new
end
inherited(klass) click to toggle source

Set dsl for lexer

@api private

Calls superclass method
# File lib/lex/lexer/dsl.rb, line 23
def inherited(klass)
  super

  klass.instance_variable_set('@dsl', nil)
end
method_missing(name, *args, &block) click to toggle source

Delegate calls to RuleDSL

@api private

Calls superclass method
# File lib/lex/lexer/dsl.rb, line 39
def method_missing(name, *args, &block)
  if dsl.respond_to?(name)
    dsl.public_send(name, *args, &block)
  else
    super
  end
end