Files
parser_c/node_run.py
2024-12-03 08:53:09 +08:00

38 lines
995 B
Python

from lex_c import lex_token
import lex_c
from parser_c import node
from parser_c import node_file
from parser_c import node_variable_def
from parser_c import node_struct_decl
from parser_c import node_struct_def
from parser_c import node_union_decl
from parser_c import node_union_def
from parser_c import node_enum_decl
from parser_c import node_enum_def
from parser_c import node_func_decl
from parser_c import node_typedef
from parser_c import node_func_def
class variable(object):
def __init__(self,name:str,value=None,attr:list[str]=[]):
self.name=name
self.value_=value
self.attr=attr
def set_value(self,value):
if("const" in self.attr):
raise Exception(f"变量 {self.name} 不可写")
self.value_=ValueError
def value(self):
return self.value_
class file(object):
def __init__(self):
self.variable_list:list[variable]=[]
self.function_list:list=[]
self.variable_type_list:list=[]