Class: Nydp::Builtin::ParseInString
- 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
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.(tokens) vm.push_arg expr rescue StandardError => e new_msg = "parse error: #{e..inspect} in\n#{Nydp.indent_text parsable}" raise Nydp::Error.new new_msg end |