example.ast
来自「一个编译器修改的例子」· AST 代码 · 共 82 行
AST
82 行
(* Example asterix source for exercise 1. Compile using: cbc example.ast ./a.out should result in: ~ Hello (1) ? Hello (2) ? Hello (3) ? Hello (4) ?*)include io.incvar zz : int;function foo(a, b, c: int) : int isbegin if (a = 0) then return a; return foo(a - 1, b + 1, c);endfunction bar() : int is return 1;function zoo() : array of array of int is return new array[1] of array of int;function main(argv: array of string): int isvar a, b, c, d, e: int; g : array of array of char;begin g := new array[bar()] of array of char; a := 1; if false and true or true and false then WriteString("?\n"); else if false then if false then WriteString("!\n"); else if true then WriteString("#\n"); else WriteString("@\n"); else WriteString("~\n"); repeat begin WriteString("Hello (1) ?\n"); while (a > 0) do a := foo(100, 50, a); WriteString("Hello (2) ?\n"); end until (a = 0); WriteString("Hello (3) ?\n"); if (a = size of zoo() ) then begin end WriteString("Hello (4) ?\n"); zz := 2; e := 3; b := 4; c := 5; d := 6; zz := 1; if (a + b + c - d / zz * e = 0) then begin end return 0;end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?