Class: Rubasteme::Parser::Phase2Parser

Inherits:
Object
  • Object
show all
Includes:
DerivedConverter, Utils
Defined in:
lib/rubasteme/parser/phase2_parser.rb

Constant Summary

Constants included from DerivedConverter

DerivedConverter::DERIVED_IDENTIFIERS

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DerivedConverter

#is_else_clause?, #is_recipient_clause?, #to_and, #to_begin, #to_bind_spec, #to_bindings, #to_case, #to_case_clause, #to_case_else_clause, #to_case_else_recipient_clause, #to_case_lambda, #to_case_recipient_clause, #to_cond, #to_cond_clause, #to_data, #to_delay, #to_delay_force, #to_derived_expression, #to_do, #to_else_clause, #to_guard, #to_iteration_bindings, #to_iteration_spec, #to_let, #to_let_base, #to_let_star, #to_let_star_values, #to_let_values, #to_letrec, #to_letrec_star, #to_logical_test, #to_or, #to_parameterize, #to_recipient, #to_test, #to_test_and_do_result, #to_test_and_sequence, #to_unless, #to_when

Methods included from Utils

#ast?, #ast_type?, #not_implemented_yet

Class Method Details

.versionObject



18
19
20
# File 'lib/rubasteme/parser/phase2_parser.rb', line 18

def self.version
  Rubasteme.send(:make_version, self.name)
end

Instance Method Details

#parse(list) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/rubasteme/parser/phase2_parser.rb', line 26

def parse(list)
  if ast?(list)
    list
  elsif list.instance_of?(Array)
    to_ast(list)
  else
    raise SchemeSyntaxErrorError,
          "unknown syntax element; got=%s" % node.to_s
  end
end

#versionObject



22
23
24
# File 'lib/rubasteme/parser/phase2_parser.rb', line 22

def version
  self.class.version
end