Class: Nydp::Builtin::Parse

Inherits:
Object show all
Includes:
Base, Singleton
Defined in:
lib/nydp/builtin/parse.rb

Instance Method Summary collapse

Methods included from Base

#call, #handle_error, ignore_errors, #inspect, #name, #nydp_type, #to_s

Methods included from Helper

#cons, #list, #literal?, #pair?, #sig, #sym, #sym?

Methods included from Converter

#n2r, #r2n, #rubify

Instance Method Details

#builtin_call(arg) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/nydp/builtin/parse.rb', line 4

def builtin_call arg
  parser = Nydp.new_parser
  tokens = Nydp.new_tokeniser Nydp::StringReader.new "parse", arg.to_s
  exprs  = []
  while !tokens.finished
    expr = parser.expression(tokens)
    exprs << expr unless expr == nil && tokens.finished
  end
  Nydp::Pair.from_list exprs
end