module Gobstones::Parser

TODO divide into smaller modules

Constants

RESERVED_IDS

Public Class Methods

ast_node(name, &value_block) click to toggle source
# File lib/gobstones/parser/ast/ast.rb, line 15
def self.ast_node(name, &value_block)
  # TODO check if it is better to have classes
  ast_module = Module.new do
    define_method(:value) do
      instance_eval(&value_block)
    end
  end
  const_set name, ast_module
end

Public Instance Methods

create_commands(commands) click to toggle source
# File lib/gobstones/parser/ast/ast.rb, line 188
def create_commands(commands)
  commands.elements.map { |node| node.command.value }
end