|
| A0: AtomType INT |
| 1:9-1:11 |
|
|
|
|
| A2: AtomType CHAR |
| 2:9-2:12 |
|
|
|
|
| A4: AtomType BOOL |
| 3:9-3:12 |
|
|
|
|
| A6: NameType i |
| 5:10-5:10 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A8: NameType i |
| 6:10-6:10 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A16: ExtFunDefn ext |
| 8:1-8:26 |
|
| A15: Nodes<ParDefn> |
| 8:8-8:22 |
|
|
| A10: NameType i |
| 8:13-8:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A13: ParDefn bb |
| 8:16-8:21 |
|
| A12: NameType i |
| 8:21-8:21 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A14: NameType i |
| 8:26-8:26 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A26: DefFunDefn helper |
| 10:1-11:10 |
|
| A23: Nodes<ParDefn> |
| 10:11-10:17 |
|
| A18: ParDefn x |
| 10:12-10:16 |
|
| A17: NameType i |
| 10:16-10:16 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A19: NameType b |
| 10:21-10:21 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A24: Nodes<Expr> |
| 11:5-11:10 |
|
| A22: BinExpr EQU |
| 11:5-11:10 |
|
| A20: NameExpr x |
| 11:5-11:5 |
| defAt: A18 @ 10:12-10:16 |
|
|
| A21: AtomExpr 0 |
| 11:10-11:10 |
|
|
|
|
|
|
| A64: DefFunDefn fib |
| 13:1-22:7 |
|
| A61: Nodes<ParDefn> |
| 13:8-13:14 |
|
| A28: ParDefn n |
| 13:9-13:13 |
|
| A27: NameType i |
| 13:13-13:13 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
| A29: NameType i |
| 13:18-13:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A62: Nodes<Expr> |
| 14:5-22:7 |
|
| A60: IfThenElseExpr |
| 14:5-22:7 |
|
| A32: BinExpr EQU |
| 14:8-14:13 |
|
| A30: NameExpr n |
| 14:8-14:8 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A31: AtomExpr 0 |
| 14:13-14:13 |
|
|
|
|
| A56: Nodes<Expr> |
| 15:9-15:9 |
|
| A33: AtomExpr 0 |
| 15:9-15:9 |
|
|
|
|
|
| A58: Nodes<Expr> |
| 17:9-21:11 |
|
| A55: IfThenElseExpr |
| 17:9-21:11 |
|
| A36: BinExpr EQU |
| 17:12-17:17 |
|
| A34: NameExpr n |
| 17:12-17:12 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A35: AtomExpr 1 |
| 17:17-17:17 |
|
|
|
|
| A51: Nodes<Expr> |
| 18:13-18:13 |
|
| A37: AtomExpr 1 |
| 18:13-18:13 |
|
|
|
|
|
| A53: Nodes<Expr> |
| 20:13-20:35 |
|
| A50: BinExpr ADD |
| 20:13-20:35 |
|
| A43: CallExpr |
| 20:13-20:22 |
|
| A38: NameExpr fib |
| 20:13-20:15 |
| defAt: A64 @ 13:1-22:7 |
|
|
| A42: Nodes<Expr> |
| 20:16-20:22 |
|
| A41: BinExpr SUB |
| 20:17-20:21 |
|
| A39: NameExpr n |
| 20:17-20:17 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A40: AtomExpr 1 |
| 20:21-20:21 |
|
|
|
|
|
| A49: CallExpr |
| 20:26-20:35 |
|
| A44: NameExpr fib |
| 20:26-20:28 |
| defAt: A64 @ 13:1-22:7 |
|
|
| A48: Nodes<Expr> |
| 20:29-20:35 |
|
| A47: BinExpr SUB |
| 20:30-20:34 |
|
| A45: NameExpr n |
| 20:30-20:30 |
| defAt: A28 @ 13:9-13:13 |
|
|
| A46: AtomExpr 2 |
| 20:34-20:34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| A203: DefFunDefn main |
| 24:1-66:7 |
|
|
| A65: NameType i |
| 24:14-24:14 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A201: Nodes<Expr> |
| 25:5-66:7 |
|
|
| A196: Nodes<Defn> |
| 26:9-35:15 |
|
| A67: VarDefn local1 |
| 26:9-26:22 |
|
| A66: NameType i |
| 26:22-26:22 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A69: VarDefn local2 |
| 27:9-27:22 |
|
| A68: NameType i |
| 27:22-27:22 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A71: TypDefn li |
| 28:9-28:18 |
|
| A70: NameType i |
| 28:18-28:18 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
| A94: DefFunDefn inner |
| 29:9-35:15 |
|
| A91: Nodes<ParDefn> |
| 29:18-29:34 |
|
| A73: ParDefn a |
| 29:19-29:24 |
|
| A72: NameType li |
| 29:23-29:24 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
| A75: ParDefn bb |
| 29:27-29:33 |
|
| A74: NameType li |
| 29:32-29:33 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
|
| A76: NameType li |
| 29:38-29:39 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
| A92: Nodes<Expr> |
| 30:13-35:15 |
|
|
| A87: Nodes<Defn> |
| 31:17-31:28 |
|
| A78: VarDefn tmp |
| 31:17-31:28 |
|
| A77: NameType li |
| 31:27-31:28 |
| defAt: A71 @ 28:9-28:18 |
|
|
|
|
|
| A88: Nodes<Expr> |
| 33:17-34:23 |
|
| A83: AsgnExpr |
| 33:17-33:28 |
|
| A79: NameExpr tmp |
| 33:17-33:19 |
| defAt: A78 @ 31:17-31:28 |
|
|
| A82: BinExpr ADD |
| 33:23-33:28 |
|
| A80: NameExpr a |
| 33:23-33:23 |
| defAt: A73 @ 29:19-29:24 |
|
|
| A81: NameExpr bb |
| 33:27-33:28 |
| defAt: A75 @ 29:27-29:33 |
|
|
|
|
| A86: BinExpr MUL |
| 34:17-34:23 |
|
| A84: NameExpr tmp |
| 34:17-34:19 |
| defAt: A78 @ 31:17-31:28 |
|
|
| A85: AtomExpr 2 |
| 34:23-34:23 |
|
|
|
|
|
|
|
|
|
|
|
| A197: Nodes<Expr> |
| 37:9-65:11 |
|
|
| A95: NameExpr g1 |
| 37:9-37:10 |
| defAt: A7 @ 5:1-5:10 |
|
|
| A96: AtomExpr 10 |
| 37:14-37:15 |
|
|
|
| A100: AsgnExpr |
| 38:9-38:15 |
|
| A98: NameExpr g2 |
| 38:9-38:10 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A99: AtomExpr 20 |
| 38:14-38:15 |
|
|
|
| A106: AsgnExpr |
| 39:9-39:24 |
|
| A101: NameExpr local1 |
| 39:9-39:14 |
| defAt: A67 @ 26:9-26:22 |
|
|
| A105: CallExpr |
| 39:18-39:24 |
|
| A102: NameExpr fib |
| 39:18-39:20 |
| defAt: A64 @ 13:1-22:7 |
|
|
| A104: Nodes<Expr> |
| 39:21-39:24 |
|
| A103: NameExpr g1 |
| 39:22-39:23 |
| defAt: A7 @ 5:1-5:10 |
|
|
|
|
|
| A113: AsgnExpr |
| 40:9-40:30 |
|
| A107: NameExpr local2 |
| 40:9-40:14 |
| defAt: A69 @ 27:9-27:22 |
|
|
| A112: CallExpr |
| 40:18-40:30 |
|
| A108: NameExpr inner |
| 40:18-40:22 |
| defAt: A94 @ 29:9-35:15 |
|
|
| A111: Nodes<Expr> |
| 40:23-40:30 |
|
| A109: NameExpr g1 |
| 40:24-40:25 |
| defAt: A7 @ 5:1-5:10 |
|
|
| A110: NameExpr g2 |
| 40:28-40:29 |
| defAt: A9 @ 6:1-6:10 |
|
|
|
|
|
|
| A192: Nodes<Defn> |
| 42:13-43:22 |
|
| A115: VarDefn shadow |
| 42:13-42:26 |
|
| A114: NameType b |
| 42:26-42:26 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
| A117: VarDefn g1 |
| 43:13-43:22 |
|
| A116: NameType b |
| 43:22-43:22 |
| defAt: A5 @ 3:1-3:12 |
|
|
|
|
|
| A193: Nodes<Expr> |
| 45:13-64:15 |
|
| A123: AsgnExpr |
| 45:13-45:35 |
|
| A118: NameExpr shadow |
| 45:13-45:18 |
| defAt: A115 @ 42:13-42:26 |
|
|
| A122: CallExpr |
| 45:22-45:35 |
|
| A119: NameExpr helper |
| 45:22-45:27 |
| defAt: A26 @ 10:1-11:10 |
|
|
| A121: Nodes<Expr> |
| 45:28-45:35 |
|
| A120: NameExpr local1 |
| 45:29-45:34 |
| defAt: A67 @ 26:9-26:22 |
|
|
|
|
|
| A130: AsgnExpr |
| 46:13-46:41 |
|
| A124: NameExpr g1 |
| 46:13-46:14 |
| defAt: A117 @ 43:13-43:22 |
|
|
| A129: BinExpr OR |
| 46:18-46:41 |
|
| A127: BinExpr AND |
| 46:18-46:32 |
|
| A125: NameExpr shadow |
| 46:18-46:23 |
| defAt: A115 @ 42:13-42:26 |
|
|
| A126: AtomExpr true |
| 46:29-46:32 |
|
|
|
| A128: AtomExpr false |
| 46:37-46:41 |
|
|
|
|
| A191: LetExpr |
| 47:13-64:15 |
|
| A188: Nodes<Defn> |
| 48:17-48:28 |
|
| A132: VarDefn deep |
| 48:17-48:28 |
|
| A131: NameType i |
| 48:28-48:28 |
| defAt: A1 @ 1:1-1:11 |
|
|
|
|
|
| A189: Nodes<Expr> |
| 50:17-63:20 |
|
| A139: AsgnExpr |
| 50:17-50:42 |
|
| A133: NameExpr deep |
| 50:17-50:20 |
| defAt: A132 @ 48:17-48:28 |
|
|
| A138: CallExpr |
| 50:24-50:42 |
|
| A134: NameExpr ext |
| 50:24-50:26 |
| defAt: A16 @ 8:1-8:26 |
|
|
| A137: Nodes<Expr> |
| 50:27-50:42 |
|
| A135: NameExpr local1 |
| 50:28-50:33 |
| defAt: A67 @ 26:9-26:22 |
|
|
| A136: NameExpr local2 |
| 50:36-50:41 |
| defAt: A69 @ 27:9-27:22 |
|
|
|
|
|
| A158: IfThenElseExpr |
| 51:17-55:19 |
|
| A143: CallExpr |
| 51:20-51:31 |
|
| A140: NameExpr helper |
| 51:20-51:25 |
| defAt: A26 @ 10:1-11:10 |
|
|
| A142: Nodes<Expr> |
| 51:26-51:31 |
|
| A141: NameExpr deep |
| 51:27-51:30 |
| defAt: A132 @ 48:17-48:28 |
|
|
|
|
|
| A154: Nodes<Expr> |
| 52:21-52:33 |
|
| A148: AsgnExpr |
| 52:21-52:33 |
|
| A144: NameExpr g2 |
| 52:21-52:22 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A147: BinExpr ADD |
| 52:26-52:33 |
|
| A145: NameExpr deep |
| 52:26-52:29 |
| defAt: A132 @ 48:17-48:28 |
|
|
| A146: AtomExpr 1 |
| 52:33-52:33 |
|
|
|
|
|
|
|
| A156: Nodes<Expr> |
| 54:21-54:33 |
|
| A153: AsgnExpr |
| 54:21-54:33 |
|
| A149: NameExpr g2 |
| 54:21-54:22 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A152: BinExpr SUB |
| 54:26-54:33 |
|
| A150: NameExpr deep |
| 54:26-54:29 |
| defAt: A132 @ 48:17-48:28 |
|
|
| A151: AtomExpr 1 |
| 54:33-54:33 |
|
|
|
|
|
|
|
| A186: WhileExpr |
| 56:17-62:19 |
|
| A161: BinExpr GTH |
| 56:23-56:28 |
|
| A159: NameExpr g2 |
| 56:23-56:24 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A160: AtomExpr 0 |
| 56:28-56:28 |
|
|
|
|
| A184: Nodes<Expr> |
| 57:21-61:23 |
|
| A183: IfThenElseExpr |
| 57:21-61:23 |
|
| A166: BinExpr EQU |
| 57:24-57:34 |
|
| A164: BinExpr MOD |
| 57:24-57:29 |
|
| A162: NameExpr g2 |
| 57:24-57:25 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A163: AtomExpr 2 |
| 57:29-57:29 |
|
|
|
| A165: AtomExpr 0 |
| 57:34-57:34 |
|
|
|
|
| A179: Nodes<Expr> |
| 58:25-58:35 |
|
| A171: AsgnExpr |
| 58:25-58:35 |
|
| A167: NameExpr g2 |
| 58:25-58:26 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A170: BinExpr SUB |
| 58:30-58:35 |
|
| A168: NameExpr g2 |
| 58:30-58:31 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A169: AtomExpr 1 |
| 58:35-58:35 |
|
|
|
|
|
|
|
| A181: Nodes<Expr> |
| 60:25-60:39 |
|
| A178: AsgnExpr |
| 60:25-60:39 |
|
| A172: NameExpr g2 |
| 60:25-60:26 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A177: BinExpr SUB |
| 60:30-60:39 |
|
| A175: BinExpr MUL |
| 60:30-60:35 |
|
| A173: NameExpr g2 |
| 60:30-60:31 |
| defAt: A9 @ 6:1-6:10 |
|
|
| A174: AtomExpr 2 |
| 60:35-60:35 |
|
|
|
| A176: AtomExpr 3 |
| 60:39-60:39 |
|
|
|
|
|
|
|
|
|
|
| A187: NameExpr deep |
| 63:17-63:20 |
| defAt: A132 @ 48:17-48:28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|