ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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


Designed by Tistory.