No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
programs
tests
Closure.py
Continuation.py
Done.py
EAssign.py
Earg.py
Ebinop.py
Ecall.py
Ecomp.py
Ecomparg.py
Eif.py
Eoparg.py
Interpret.py
InterpreterError.py
README.md
Read_and_Parse.py
Scope.py
Step.py
Transform.py
Visit.py
Visitor.py
main.py
sample_input.py

README.md

Small_step_interpreter

An interpreter that evaluates a small language written in python syntax.

Valid Syntax

  • exp if test else orelse - If Expression
  • (lambda param: body)(arg) - Function Expression
  • lambda param: body - Lambda Expression
  • R - Number
  • True/ False - Boolean
  • var = expr - Assign

Expr:

  • Expr if Expr else Expr
  • lambda: arg Expr (Expr)
  • Token
  • lambda: arg Expr
  • Numerical Expr
  • Constant

Def

  • Assign

Token A token is a sequence of characters.

Constant

  • True
  • False

Numerical Expr

  • num
  • Numerical Expr OP Numerical Expr

OP

  • /

Values:

  • Bool
  • Num
  • Lambda