-
JavaCC컴파일러/추상 구문 트리 2013. 7. 18. 20:10
추상 구문 트리 노드
AST -> Node
.declarations()
.definitions()
.definedVariables() // (글로벌) 변수 정의 리스트
.constants() // 정수 정의 리스트
.definedFunctions() // 함수 정의 리스트
구조체 정의 리스트
공용체 정의 리스트
유저형 정의 리스트
BlockNode -> StmtNode
.variables() // 블록으로 선언된 변수
.stmts()
Token
.image
Type <-
ArrayType
FunctionType
IntegerType
NamedType
PointerType
VoidType
TypeRef <-
ArrayTypeRef
FunctionTypeRef
IntegerTypeRef
PointerTypeRef
StructTypeRef
UnionTypeRef
UserTypeRef
VoidTypeRef
Node <-
AST
TypeDefinition <-
CompositeTypeDefinition <-
StructNode
UnionNode
TypedefNode
StmtNode <-
BlockNode
IfNode
WhileNode
ExprNode <-
CondExprNode // 조건 연산식
BinaryOpNode
LogicalOrNode
LogicalAndNode
UnaryOpNode <-
UnaryArithmeticOpNode <-
PrefixOpNode
SuffixOpNode
LHSNode <-
VariableNode // 변수 참조식
DereferenceNode // 포인터 참조식
ArefNode // 배열 참조식
MemberNode // 멤버 참조식
PtrmemberNode // 멤버 참조식
LiteralNode <-
IntegerLiteralNode
StringLiteralNode
AddressNode // 주소식
SizeofTypeNode
SizeofExprNode
FuncallNode // 함수 호출식
CastNode
TypeNode