31 lines
482 B
Python
31 lines
482 B
Python
import os
|
|
import sys
|
|
import dataclasses
|
|
from lex_c import lex_token
|
|
from lex_c import lex
|
|
|
|
|
|
|
|
@dataclasses.dataclass
|
|
class node:
|
|
name:str
|
|
next:None
|
|
chid:None
|
|
token_list:list[lex_token]
|
|
|
|
# 变量声明节点
|
|
@dataclasses.dataclass
|
|
class node_vdecl(node):
|
|
vvalue:None
|
|
vtype:str
|
|
vattr:list[str]
|
|
|
|
# 函数定义节点
|
|
@dataclasses.dataclass
|
|
class node_fdef(node):
|
|
rettype:str
|
|
|
|
if __name__ == "__main__":
|
|
with open("main.c",mode='rb') as f:
|
|
token_list=lex(f.read())
|