Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2014
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. *Main> main
  2. Source code:
  3.  
  4. do {
  5. nest1 = {
  6. do {
  7. do {
  8. throw "FAIL";
  9. }
  10. }
  11. };
  12. do nest1;
  13. }
  14.  
  15.  
  16. AST:
  17.  
  18. .BinaryOp "CALL" .Variable "do" .LBlock (CodeBlock .LNull [] [.BinaryOp "=" .Variable "nest1" .LBlock (CodeBlock .LNull [] [.BinaryOp "CALL" .Variable "do" .LBlock (CodeBlock .LNull [] [.BinaryOp "CALL" .Variable "do" .LBlock (CodeBlock .LNull [] [.BinaryOp "CALL" .Variable "throw" .LString "FAIL"])])]),.BinaryOp "CALL" .Variable "do" .Variable "nest1"])
  19.  
  20. Bytecode:
  21.  
  22. .Push #block:
  23. .Push #block:
  24. .Push #block:
  25. .Push #block:
  26. .Push #block:
  27. .Push #block:
  28. .Push #block:
  29. .Push #block:
  30. .Push #"FAIL"
  31. .GetScope
  32. .Push #"throw"
  33. .GetCascading
  34. .Call
  35. .Do
  36. .GetScope
  37. .Push #"do"
  38. .GetCascading
  39. .Call
  40. .Do
  41. .GetScope
  42. .Push #"do"
  43. .GetCascading
  44. .Call
  45. .Do
  46. .GetScope
  47. .Push #"nest1"
  48. .AssignCascading
  49. .GetScope
  50. .Push #"nest1"
  51. .GetCascading
  52. .GetScope
  53. .Push #"do"
  54. .GetCascading
  55. .Call
  56. .Do
  57. .GetScope
  58. .Push #"do"
  59. .GetCascading
  60. .Call
  61.  
  62.  
  63. Output:
  64.  
  65. Exception occurred at .{<code>: 1, 4}.
  66. "FAIL"
  67.  
  68. in source "<code>":
  69. do {
  70. ^
  71. in source "<code>":
  72. }
  73. };
  74. do nest1;
  75. ^
  76. in source "<code>":
  77. do {
  78. nest1 = {
  79. ^
  80. in source "<code>":
  81. do {
  82. nest1 = {
  83. do {
  84. ^
  85. in source "<code>":
  86. nest1 = {
  87. do {
  88. do {
  89. ^
  90. in source "<code>":
  91. do {
  92. do {
  93. throw "FAIL";
  94. ^
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement