⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 array.ast

📁 一个编译器修改的例子
💻 AST
字号:
include io.increcord foo is    var a: int;endrecord fo1 is    var a: int;        b: foo;endrecord bar is    var a: int;        b: fo1;        c: fo1;        d: foo;        e: array of array of array of int;endfunction f(x: bar): int isbegin        x.b.a := x.b.a + 1;        return x.b.a;endfunction main(argv: array of string): int is    var h,g: bar;        a: foo;        fo1: fo1;        i,k: int;        arr: array of array of int;begin        i := 0;        g.e := new array [10] of array of array of int;        while (i < 10) do        begin          k := 0;          g.e[i] := new array [10] of array of int;          while (k < 10) do          begin            g.e[i][k] := new array [10] of int;            k := k + 1;          end          i := i + 1;        end        g.e[5][9][9] := 2;        arr := g.e[0];        arr[9][9] := 2;                WriteString("This should be 2: ");        WriteInt(arr[9][9]);        WriteString("\n");                WriteString("This should be 0: ");        WriteInt(arr[1][5]);        WriteString("\n");                WriteString("This should be 2: ");        WriteInt(g.e[5][9][9]);        WriteString("\n");                WriteString("This should be 0: ");        WriteInt((g.e[0])[1][5]);        WriteString("\n");                h.a := 2;        h.b.b.a := 3;        i := f(h);        g := h;        fo1.a := 4;        h.c := fo1;        WriteString("This should be 1: ");        WriteInt(i);        WriteString("\n");        WriteString("This should be 0: ");        WriteInt(h.b.a);        WriteString("\n");        WriteString("This should be 3: ");        WriteInt(g.b.b.a);        WriteString("\n");        g.d.a := 2;        a.a :=3;        WriteString("This should be 2: ");        WriteInt(g.d.a);        WriteString("\n");        WriteString("This should be 3: ");        WriteInt(a.a);        WriteString("\n");        return 0;end 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -