ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JavaCC
    컴파일러/중간 표현 2013. 7. 25. 12:56

    단계적으로 기계어에 가까운 표현

    모두 점프문(jump statement)

    제어 구조

    연산자에 부호

    모두 포인터

    구조체

    배열

    포인터


    트리 구조

    중간 표현 노드


    three-address code

    Quadruple



    문장(Stmt)의 리스트


    Assign -> Stmt

    CJump -> Stmt

    .cond() // Expr

    Jump -> Stmt

    .label()

    Return -> Stmt

    .expr()

    LabelStmt -> Stmt

    .label()

    Expr(식)

    .type()

    .asmValue() // ImmediateValue

    Uni -> Expr

    e.g. .. notl %eax


    .expr()

    Bin -> Expr

    e.g. .. push %eax .. pop %ecx .. addl %ecx, %eax


    .op()

    .left() // Expr

    .right() // Expr

    Mem -> Expr // 디레퍼런스

    Var -> Expr // 변수 참조

    .memref()

    Call -> Expr

    .isStaticCall()

    .function()

    .expr()

    .args()

    .numArgs()

    Int -> Expr

    movl $n, %eax


    .value()

    Str -> Expr


Designed by Tistory.