global_variable6.golden 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ********** source program **********
  2. var Int : x = 0
  3. var Int : y = x
  4. fn main () -> Int {
  5. return y;
  6. }
  7. ********** type checking **********
  8. --- step exp Int --->
  9. --- step exp Int --->
  10. --- step exp Int --->
  11. --- step exp Int --->
  12. --- step exp Int --->
  13. --- step exp Int --->
  14. ********** type checking complete **********
  15. var Int : x = 0
  16. var Int : y = x
  17. fn main () -> Int {
  18. return y;
  19. }
  20. ********** starting execution **********
  21. ********** initializing globals **********
  22. --- step exp 0 --->
  23. --- step exp x --->
  24. --- step exp () --->
  25. ********** calling main function **********
  26. {
  27. stack: top{main()<-1>}
  28. heap: 0, 0, fun<main>,
  29. env: main: fun<main>, y: 0, x: 0,
  30. }
  31. --- step exp main() --->
  32. {
  33. stack: top{main<-1> :: main()<0>}
  34. heap: 0, 0, fun<main>,
  35. env: main: fun<main>, y: 0, x: 0,
  36. }
  37. --- step exp main --->
  38. {
  39. stack: top{fun<main><-1> :: main()<0>}
  40. heap: 0, 0, fun<main>,
  41. env: main: fun<main>, y: 0, x: 0,
  42. }
  43. --- handle value fun<main> with main()<1>(fun<main>,) --->
  44. {
  45. stack: top{()<-1> :: main()<1>(fun<main>,)}
  46. heap: 0, 0, fun<main>,
  47. env: main: fun<main>, y: 0, x: 0,
  48. }
  49. --- step exp () --->
  50. {
  51. stack: top{()<-1> :: main()<1>(fun<main>,)}
  52. heap: 0, 0, fun<main>,
  53. env: main: fun<main>, y: 0, x: 0,
  54. }
  55. --- handle value () with main()<2>(fun<main>,(),) --->
  56. pattern_match((), ())
  57. {
  58. stack: main{return y;<-1>} :: top{}
  59. heap: 0, 0, fun<main>,
  60. env: main: fun<main>, y: 0, x: 0,
  61. }
  62. --- step stmt return y; --->
  63. {
  64. stack: main{y<-1> :: return y;<0>} :: top{}
  65. heap: 0, 0, fun<main>,
  66. env: main: fun<main>, y: 0, x: 0,
  67. }
  68. --- step exp y --->
  69. {
  70. stack: main{0<-1> :: return y;<0>} :: top{}
  71. heap: 0, 0, fun<main>,
  72. env: main: fun<main>, y: 0, x: 0,
  73. }
  74. --- handle value 0 with return y;<1>(0,) --->
  75. {
  76. stack: top{0<-1>}
  77. heap: 0, 0, fun<main>,
  78. env: main: fun<main>, y: 0, x: 0,
  79. }
  80. result: 0