Class: Nydp::Builtin::ParseInString

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

Instance Method Summary collapse

Methods included from Base

#builtin_invoke_1, #builtin_invoke_2, #builtin_invoke_3, #builtin_invoke_4, #handle_error, #inspect, #invoke, #invoke_1, #invoke_2, #invoke_3, #invoke_4, #name, #nydp_type, #to_s

Methods included from Helper

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

Methods included from Converter

#n2r, #r2n

Instance Method Details

#builtin_invoke(vm, args) ⇒ Object



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

def builtin_invoke vm, args
  parser = Nydp.new_parser(vm.ns)
  parsable = args.car.to_s
  tokens = Nydp.new_tokeniser Nydp::StringReader.new parsable
  expr = parser.embedded(tokens)
  vm.push_arg expr
rescue StandardError => e
  new_msg = "parse error: #{e.message.inspect} in\n#{Nydp.indent_text parsable}"
  raise Nydp::Error.new new_msg
end