ichor.core.models.kernels.interpreter package

Submodules

ichor.core.models.kernels.interpreter.ast module

class ASTNode

Bases: ABC

visit(global_state: Dict[str, Kernel]) Kernel
class BinOp(left, op, right)

Bases: ASTNode

visit(global_state: Dict[str, Kernel]) Kernel
class Num(token)

Bases: ASTNode

visit(global_state: Dict[str, Kernel]) Kernel
class UnaryOp(op, expr)

Bases: ASTNode

visit(global_state: Dict[str, Kernel]) Kernel
class Var(token)

Bases: ASTNode

visit(global_state: Dict[str, Kernel]) Kernel

ichor.core.models.kernels.interpreter.interpreter module

class KernelInterpreter(text: str, global_state: Dict[str, Kernel])

Bases: object

interpret() Kernel

ichor.core.models.kernels.interpreter.lexer module

class Lexer(text: str)

Bases: object

advance() None
error() None
get_next_token() Token
id() Token
number() Token
skip_whitespace() None

ichor.core.models.kernels.interpreter.parser module

class Parser(text: str)

Bases: object

eat(token_type: TokenType) None
error() None
expr() ASTNode
factor() ASTNode
parse() ASTNode
term() ASTNode
variable() Var

ichor.core.models.kernels.interpreter.token module

class Token(ty: TokenType, value: str | float | None)

Bases: object

ichor.core.models.kernels.interpreter.token_type module

class TokenType(value)

Bases: Enum

An enumeration.

Div = 5
Eof = -1
Id = 8
LParen = 6
Minus = 3
Mul = 4
Number = 1
Plus = 2
RParen = 7

Module contents

class KernelInterpreter(text: str, global_state: Dict[str, Kernel])

Bases: object

interpret() Kernel