1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| skaiuijing@ubuntu:~/compiler/build$ ./littleCompiler TOKEN: tag=278, str={ TOKEN: tag=257, str=int TOKEN: tag=264, str=i TOKEN: tag=281, str=; TOKEN: tag=257, str=int TOKEN: tag=264, str=j TOKEN: tag=281, str=; TOKEN: tag=257, str=float TOKEN: tag=264, str=v TOKEN: tag=281, str=; TOKEN: tag=257, str=float TOKEN: tag=264, str=x TOKEN: tag=281, str=; TOKEN: tag=257, str=float TOKEN: tag=297, str=[ TOKEN: tag=269, str=100 TOKEN: tag=298, str=] TOKEN: tag=264, str=a TOKEN: tag=281, str=; TOKEN: tag=264, str=x TOKEN: tag=289, str== TOKEN: tag=271, str=3.140000 constant_float: v = 3.140000 TOKEN: tag=281, str=; TOKEN: tag=274, str=while TOKEN: tag=276, str=( TOKEN: tag=273, str=true TOKEN: tag=277, str=) TOKEN: tag=278, str={ TOKEN: tag=259, str=do TOKEN: tag=264, str=i TOKEN: tag=289, str== TOKEN: tag=264, str=i TOKEN: tag=284, str=+ TOKEN: tag=269, str=1 TOKEN: tag=281, str=; TOKEN: tag=274, str=while TOKEN: tag=276, str=( TOKEN: tag=264, str=a TOKEN: tag=297, str=[ TOKEN: tag=264, str=i TOKEN: tag=298, str=] TOKEN: tag=60, str=#60 TOKEN: tag=264, str=v TOKEN: tag=277, str=) TOKEN: tag=281, str=; TOKEN: tag=259, str=do TOKEN: tag=264, str=j TOKEN: tag=289, str== TOKEN: tag=264, str=j TOKEN: tag=285, str=- TOKEN: tag=269, str=1 TOKEN: tag=281, str=; TOKEN: tag=274, str=while TOKEN: tag=276, str=( TOKEN: tag=264, str=a TOKEN: tag=297, str=[ TOKEN: tag=264, str=j TOKEN: tag=298, str=] TOKEN: tag=62, str=#62 TOKEN: tag=264, str=v TOKEN: tag=277, str=) TOKEN: tag=281, str=; TOKEN: tag=265, str=if TOKEN: tag=276, str=( TOKEN: tag=264, str=i TOKEN: tag=263, str=>= TOKEN: tag=264, str=j TOKEN: tag=277, str=) TOKEN: tag=258, str=break TOKEN: tag=281, str=; TOKEN: tag=264, str=x TOKEN: tag=289, str== TOKEN: tag=264, str=a TOKEN: tag=297, str=[ TOKEN: tag=264, str=i TOKEN: tag=298, str=] TOKEN: tag=281, str=; TOKEN: tag=264, str=a TOKEN: tag=297, str=[ TOKEN: tag=264, str=i TOKEN: tag=298, str=] TOKEN: tag=289, str== TOKEN: tag=264, str=a TOKEN: tag=297, str=[ TOKEN: tag=264, str=j TOKEN: tag=298, str=] TOKEN: tag=281, str=; TOKEN: tag=264, str=a TOKEN: tag=297, str=[ TOKEN: tag=264, str=j TOKEN: tag=298, str=] TOKEN: tag=289, str== TOKEN: tag=264, str=x TOKEN: tag=281, str=; TOKEN: tag=279, str=} TOKEN: tag=279, str=} TOKEN: tag=0, str=#0 L1: x = 3.140000 L3: L4: iffalse true goto L2 L6: i = i + 1 if a [ i * 8 ] #60 v goto L6 L5: L8: j = j - 1 if a [ j * 8 ] #62 v goto L8 L7: iffalse i >= j goto L9 L10: goto L2 L9: x = a [ i * 8 ] L11: a [ i * 8 ] = a [ j * 8 ] L12: a [ j * 8 ] = x goto L4 L2:
|