Module: Lispcalc
- Defined in:
- lib/lispcalc.rb,
lib/lispcalc/lexer.rb,
lib/lispcalc/errors.rb,
lib/lispcalc/parser.rb,
lib/lispcalc/context.rb,
lib/lispcalc/version.rb,
lib/lispcalc/functions.rb,
lib/lispcalc/interpreter.rb
Defined Under Namespace
Classes: Context, ContextError, Functions, Interpreter, Lexer, Parser, SyntaxError, UnknownFormError, UnknownFunctionError, UnknownTokenError
Constant Summary collapse
- VERSION =
'0.1.0'.freeze
Class Method Summary collapse
Class Method Details
.eval(input, ctx = Context.new) ⇒ Object
12 13 14 15 16 |
# File 'lib/lispcalc.rb', line 12 def eval(input, ctx = Context.new) tokens = Lexer.tokenize(input) forms = Parser.new(tokens).parse Interpreter.new(ctx).eval(forms) end |