Type Inference Example -- 1 source text: x:=1; z := y < x Abstract Syntax Tree:

  • Upload
    landen

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

;. :=. :=. x. 1. z.

Citation preview

  • Type Inference Example -- 1source text: x:=1; z := y < x Abstract Syntax Tree:assignment = vars := exprs;stmts = stmts ; stmt;relation = sum
  • Type Inference Example -- 2source text: x:=1; z := y < x initial state:symbol table

  • Type Inference Example -- 3source text: x:=1; z := y < x visit 1:symbol table

  • Type Inference Example -- 4source text: x:=1; z := y < x visit 1:x/left/birsymbol table

  • Type Inference Example -- 5source text: x:=1; z := y < x return:x/left/birsymbol tablebir

  • Type Inference Example -- 6source text: x:=1; z := y < x visit 2:x/left/birsymbol tablei

  • Type Inference Example -- 7source text: x:=1; z := y < x return:x/left/isymbol tablei

  • Type Inference Example -- 8source text: x:=1; z := y < x return:x/left/isymbol table

  • Type Inference Example -- 9source text: x:=1; z := y < x visit 2:x/left/isymbol table

  • Type Inference Example -- 10source text: x:=1; z := y < x visit 1:z/left/birx/left/isymbol table

  • Type Inference Example -- 11source text: x:=1; z := y < x return:z/left/birx/left/isymbol tablebir

  • Type Inference Example -- 12source text: x:=1; z := y < x visit 2:z/left/birx/left/isymbol table

  • Type Inference Example -- 13source text: x:=1; z := y < x visit 1:y/right/irz/left/birx/left/isymbol table

  • Type Inference Example -- 14source text: x:=1; z := y < x return:y/right/irz/left/birx/left/isymbol tableir

  • Type Inference Example -- 15source text: x:=1; z := y < x visit 2:y/right/irz/left/birx/leftright/isymbol tablei

  • Type Inference Example -- 16source text: x:=1; z := y < x return:y/right/irz/left/birx/leftright/isymbol tablei~=ir

  • Type Inference Example -- 17source text: x:=1; z := y < x visit 1 (again):y/right/iz/left/birx/leftright/isymbol table

  • Type Inference Example -- 18source text: x:=1; z := y < x return:y/right/iz/left/birx/leftright/isymbol tableb

  • Type Inference Example -- 19source text: x:=1; z := y < x return:y/right/iz/left/bx/leftright/isymbol tableb

  • Type Inference Example -- 20source text: x:=1; z := y < x return:y/right/iz/left/bx/leftright/isymbol table