Class: Rattler::BackEnd::ParserGenerator::DisallowGenerator

Inherits:
ExprGenerator
  • Object
show all
Defined in:
lib/rattler/back_end/parser_generator/disallow_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ExprGenerator

#gen_intermediate_assert, #initialize

Methods included from Parsers

define

Constructor Details

This class inherits a constructor from Rattler::BackEnd::ParserGenerator::ExprGenerator

Class Method Details

.nested(*args) ⇒ Object



63
64
65
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 63

def DisallowGenerator.nested(*args)
  NestedDisallowGenerator.new(*args)
end

.top_level(*args) ⇒ Object



73
74
75
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 73

def DisallowGenerator.top_level(*args)
  TopLevelDisallowGenerator.new(*args)
end

Instance Method Details

#gen_assert(disallow, scope = {}) ⇒ Object



12
13
14
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 12

def gen_assert(disallow, scope={})
  @g << 'false'
end

#gen_basic(disallow, scope = {}) ⇒ Object

:nodoc:



8
9
10
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 8

def gen_basic(disallow, scope={})
  generate disallow.child, :disallow, scope
end

#gen_direct_action(disallow, code, scope = {}) ⇒ Object



28
29
30
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 28

def gen_direct_action(disallow, code, scope={})
  expr(:block) { gen_action disallow, "(#{code.bind scope, []})", scope }
end

#gen_disallow(disallow, scope = {}) ⇒ Object



16
17
18
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 16

def gen_disallow(disallow, scope={})
  gen_basic disallow, scope
end

#gen_dispatch_action(disallow, code, scope = {}) ⇒ Object



24
25
26
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 24

def gen_dispatch_action(disallow, code, scope={})
  expr(:block) { gen_action disallow, code.bind(scope, '[]'), scope }
end

#gen_intermediate(disallow, scope = {}) ⇒ Object



36
37
38
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 36

def gen_intermediate(disallow, scope={})
  generate disallow.child, :intermediate_disallow, scope
end

#gen_intermediate_disallow(disallow, scope = {}) ⇒ Object



40
41
42
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 40

def gen_intermediate_disallow(disallow, scope={})
  gen_intermediate disallow, scope
end

#gen_intermediate_skip(disallow, scope = {}) ⇒ Object



44
45
46
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 44

def gen_intermediate_skip(disallow, scope={})
  gen_intermediate disallow, scope
end

#gen_skip(disallow, scope = {}) ⇒ Object



20
21
22
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 20

def gen_skip(disallow, scope={})
  gen_basic disallow, scope
end

#gen_token(disallow, scope = {}) ⇒ Object



32
33
34
# File 'lib/rattler/back_end/parser_generator/disallow_generator.rb', line 32

def gen_token(disallow, scope={})
  expr(:block) { gen_action disallow, "''", scope }
end