2.1.1.1.1.1. racketinterpreter.classes.ast¶
-
class
AST
(token: tp.Optional[t.Token])¶ Bases:
abc.ABC
An abstract syntax tree.
-
class
ASTVisitor
¶ Bases:
abc.ABC
-
visit
(node: racketinterpreter.classes.ast.AST) → Any¶
-
visit_error
(node) → None¶
-
-
class
Bool
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
A boolean.
-
class
CheckExpect
(token: t.Token, exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.AST
A test.
The first expression is the actual value and the second expression is the expected value.
-
class
Cond
(token: t.Token, exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.Expr
A cond statement.
-
class
CondBranch
(token: t.Token, exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.Expr
A cond branch with a condition.
-
class
CondElse
(token: t.Token, expr: Expr)¶ Bases:
racketinterpreter.classes.ast.Expr
The else cond branch.
-
class
Cons
(token: t.Token, exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.List
A non-empty list.
-
class
Dec
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
A decimal number.
-
class
Empty
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.List
An empty list.
-
class
Expr
(token: t.Token, value: tp.Any = None)¶ Bases:
racketinterpreter.classes.ast.AST
An expression.
-
property
value
¶
-
property
-
class
FormalParam
(ast: AST, param_for: ParamFor)¶ Bases:
racketinterpreter.classes.ast.AST
A formal parameter in a procedure or structure.
-
class
Id
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
An name.
-
class
IdAssign
(token: t.Token, exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.AST
Defining a constant.
-
class
Int
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
A number.
-
class
List
(token: tp.Optional[t.Token])¶ Bases:
racketinterpreter.classes.ast.AST
A list.
-
class
ProcAssign
(token: t.Token, name_expr: Expr, formal_params: tp.List[FormalParam], exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.AST
Defining a function.
-
class
ProcCall
(token: t.Token, exprs: tp.List[Expr])¶ Bases:
racketinterpreter.classes.ast.Expr
A procedure and a list of arguments.
-
class
Program
(statements: List[racketinterpreter.classes.ast.AST])¶ Bases:
racketinterpreter.classes.ast.AST
A list of statements.
-
class
Rat
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
A rational number.
-
class
Str
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
A string.
-
class
StructAssign
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.AST
Defining a new structure.
-
class
StructGet
(token: t.Token, data_type: d.DataType)¶ Bases:
racketinterpreter.classes.ast.StructProc
A [structure-name]-[field] procedure.
-
class
StructHuh
(token: t.Token, data_type: d.DataType)¶ Bases:
racketinterpreter.classes.ast.StructProc
A [structure-name]? procedure.
-
class
StructMake
(token: t.Token, data_type: d.DataType)¶ Bases:
racketinterpreter.classes.ast.StructProc
A make-[structure-name] procedure.
-
class
StructProc
(token: t.Token, data_type: d.DataType)¶ Bases:
racketinterpreter.classes.ast.Expr
A proc related to a struct.
-
class
Sym
(token: t.Token)¶ Bases:
racketinterpreter.classes.ast.Expr
A symbol.