HOLY COW VARIABLES WORK

This commit is contained in:
SpookyDervish
2025-09-02 06:42:58 +10:00
parent 88cdcfa54f
commit a1e1cf3dd8
7 changed files with 93 additions and 11 deletions

View File

@@ -16,21 +16,33 @@ class InstructionNode:
@dataclass
class StringNode:
value: str
def __repr__(self):
return "String"
@dataclass
class NumberNode:
value: float
def __repr__(self):
return "Number"
@dataclass
class VarRefNode:
var_name: str
def __repr__(self):
return "VariableReference"
@dataclass
class VarPointerNode:
var_name: str
def __repr__(self):
return "VariablePointer"
@dataclass
class FunctionCallNode:
func_name: str
def __repr__(self):
return "FunctionCall"
@dataclass
class TypeNode:
value: str
def __repr__(self):
return "Type"
@dataclass
class ArgNode:
arg_type: str
@@ -46,15 +58,23 @@ class FunctionNode:
@dataclass
class LabelDecNode:
name: str
def __repr__(self):
return "LabelDecleration"
@dataclass
class LabelRefNode:
name: str
def __repr__(self):
return "LabelReference"
@dataclass
class LineRefNode:
line: int
def __repr__(self):
return "LineReference"
@dataclass
class BoolNode:
value: bool
def __repr__(self):
return "Boolean"
def generate_ast(tokens: list[Token], code: str) -> RootNode:
root_node = RootNode([])