Parser_and_Generator.txt 863 B

123456789101112131415161718192021222324252627282930313233
  1. VAR a, c: INTEGER;
  2. --- создан Object (name="a",class=Var,type=intType,val=8001200)
  3. --- создан Object (name="c",class=Var,type=intType,val=8001204)
  4. BEGIN
  5. op = +
  6. x y
  7. a := c + 5
  8. | | |
  9. | | '-Item(mode=Const,type=intType,val=5)
  10. | '-Item(mode=Var,type=intType,val=8001204)
  11. |
  12. | LDR R0, 8001204
  13. | ADD R0, R0, 5
  14. | ._____ _____,
  15. | v
  16. | Item(mode=Reg,type=intType,val=R0)
  17. |
  18. '-Item(mode=Var,type=intType,val=8001200)
  19. STR R0, 8001200
  20. LDR R0, 8001204
  21. ADD R0, R0, 5
  22. STR R0, 8001200
  23. mode бывает Const, Var и Reg (пока).
  24. intType - это такой Object
  25. charType - это такой Object
  26. (глобальные переменные в модуле SymTable)