summary refs log tree commit diff stats
path: root/compiler/parser.nim
Commit message (Expand)AuthorAgeFilesLines
* fixes #19662; Indent level errored for first line (#19718)flywind2022-04-251-0/+4
* move assertions out of system (#19599)flywind2022-03-231-0/+3
* Allow full commands and blocks in type sections (#19181)hlaaftana2022-01-021-9/+19
* fixes grammar typos [backport] (#19289)Andreas Rumpf2021-12-271-3/+3
* treat do with pragmas but no parens as proc (#19191)hlaaftana2021-12-051-3/+9
* fix #12274 (#19180)hlaaftana2021-11-241-1/+1
* fixes #19011 [backport:1.6] (#19114)Andreas Rumpf2021-11-091-1/+1
* fixes #18847 [backport] (#18870)Andreas Rumpf2021-09-201-2/+3
* formal grammar updates [backport:1.2] (#18803)Andreas Rumpf2021-09-041-27/+23
* move PNode.comment to a side channel, reducing memory usage during compilatio...Timothee Cour2021-08-291-5/+9
* fix RFC #341: dot-like operators are now parsed with same precedence as `.` (...Timothee Cour2021-08-251-5/+29
* support same-line doc comments in routines (#18595)Timothee Cour2021-07-271-0/+7
* Make error message for empty new-styled concept more descriptive (#18506)konsumlamm2021-07-181-0/+2
* Fix #16426 (#18377)Clyybber2021-06-281-5/+8
* Small parser loop fix (#17904)Clyybber2021-04-301-0/+1
* refs #15667 improve invalid indentation errors, report when & where `=` could...Timothee Cour2021-04-101-4/+15
* parser.nim: simply layout changeAraq2021-03-301-1/+2
* unify tuple expressions (#13793)Arne Döring2021-03-301-6/+9
* custom integer literals (#17489)Andreas Rumpf2021-03-241-5/+13
* new-style concepts implementation, WIP (#15251)Andreas Rumpf2021-02-241-5/+11
* add finally as post expr block [backport:1.4] (#16896)hlaaftana2021-02-011-1/+5
* remove conditionals on nimHasUserErrors, nimNoNilSeqs2, nimNoNilSeqs (#16861)Timothee Cour2021-01-291-2/+0
* Use modern enums in compiler (#15775)cooldome2020-11-021-1/+1
* implements https://github.com/nim-lang/RFCs/issues/258 (#15503)Andreas Rumpf2020-10-061-9/+16
* parser hotfix: don't run into endless loops; regression (#15468)Andreas Rumpf2020-10-021-4/+16
* Fix #15305 (#15311)Clyybber2020-09-121-2/+1
* Better semiStmtList parsing (#15123)Clyybber2020-09-091-78/+44
* Expand hoisted default params in sem (#15270)Clyybber2020-09-051-1/+1
* Big compiler Cleanup (#14777)Clyybber2020-08-281-187/+182
* fixes #15111 (#15136)Andreas Rumpf2020-08-011-1/+3
* init checks and 'out' parameters (#14521)Andreas Rumpf2020-06-231-1/+5
* improve the parser's error messageAraq2020-06-191-1/+1
* parser.nim: minor refactorings (#14540)Andreas Rumpf2020-06-011-9/+6
* make `from` an operator (#14241)hlaaftana2020-05-081-3/+5
* make case-object transitions explicit, make unknownLineInfo a const, replace ...Jasper Jenkins2020-01-171-9/+9
* fixes #10665 (#13141) [backport]Andreas Rumpf2020-01-141-22/+26
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-191/+190
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-271-1/+1
* nimpretty: fixes #11616Araq2019-07-181-6/+27
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
* styleCheck: make the compiler and large parts of the stdlib compatible with -...Araq2019-07-101-3/+3
* nimpretty: nimpretty now understands splitting newlinesAraq2019-07-041-4/+13
* [bugfix] fix #11469, new rules for a newline in nimpretty (#11512)Miran2019-06-261-0/+2
* [bugfix] nimpretty: fixes #11468Araq2019-06-131-2/+6
* nimpretty: smart tabs support, fixes #9399 [bugfix]Andreas Rumpf2019-06-101-21/+34
* nimpretty: fixes #10295Araq2019-06-071-0/+2
* revert parser stmtListExpr (#11007)cooldome2019-04-171-19/+9
* relax warning about inconsistent spacing (#10968)Miran2019-04-051-1/+1
* fixes #10896 (#10903)Andreas Rumpf2019-03-251-1/+3
* fixes #10861 (#10877)cooldome2019-03-211-2/+3
'>563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
parse/0: instruction: 36
parse/0:   ingredient: {name: "abc _", value: 0, type: 0, properties: ["abc _": "literal-string"]}
parse/0:   product: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
parse/0: instruction: 36
parse/0:   ingredient: {name: "def", value: 0, type: 0, properties: ["def": "literal-string"]}
parse/0:   product: {name: "2", value: 0, type: 2-5-4, properties: ["2": "address":"array":"character", "raw": ]}
parse/0: instruction: 107
parse/0:   ingredient: {name: "1", value: 0, type: 2-5-4, properties: ["1": "address":"array":"character", "raw": ]}
parse/0:   ingredient: {name: "2", value: 0, type: 2-5-4, properties: ["2": "address":"array":"character", "raw": ]}
parse/0:   product: {name: "3", value: 0, type: 2-5-4, properties: ["3": "address":"array":"character", "raw": ]}
parse/0: instruction: 1
parse/0:   ingredient: {name: "3", value: 0, type: 2-5-4, properties: ["3": "address":"array":"character", "raw": , "deref": ]}
parse/0:   product: {name: "4", value: 0, type: 5-4, properties: ["4": "array":"character", "raw": ]}
new/0: abc _ -> 0
new/0: def -> 0
after-brace/0: recipe test-interpolate-works
after-brace/0: new ...
after-brace/0: new ...
after-brace/0: interpolate ...
after-brace/0: copy ...
schedule/0: test-interpolate-works
run/0: instruction test-interpolate-works/0
mem/0: storing 1000 in location 1
run/0: instruction test-interpolate-works/1
mem/0: storing 1006 in location 2
run/0: instruction test-interpolate-works/2
mem/0: location 1 is 1000
mem/0: location 2 is 1006
run/0: instruction interpolate/0
mem/0: new alloc: 1010
mem/0: array size is 60
run/0: instruction interpolate/1
run/0: product 0 is 1000
mem/0: storing 1000 in location 1012
run/0: instruction interpolate/2
mem/0: location 1012 is 1000
mem/0: storing 5 in location 1013
run/0: instruction interpolate/3
run/0: ingredient 0 is tem-len
mem/0: location 1013 is 5
mem/0: storing 5 in location 1014
run/0: instruction interpolate/5
run/0: product 0 is 1006
mem/0: storing 1006 in location 1015
mem/0: storing 1 in location 1016
run/0: instruction interpolate/6
mem/0: location 1016 is 1
run/0: ingredient 0 is 1
run/0: jump-unless fell through
run/0: instruction interpolate/7
mem/0: location 1015 is 1006
mem/0: storing 3 in location 1017
run/0: instruction interpolate/8
run/0: ingredient 0 is result-len
mem/0: location 1014 is 5
run/0: ingredient 1 is a-len
mem/0: location 1017 is 3
run/0: product 0 is 8
mem/0: storing 8 in location 1014
run/0: instruction interpolate/9
run/0: ingredient 0 is result-len
mem/0: location 1014 is 8
run/0: ingredient 1 is 1
run/0: product 0 is 7
mem/0: storing 7 in location 1014
run/0: instruction interpolate/10
run/0: ingredient 0 is -6
run/0: jumping to instruction 5
run/0: instruction interpolate/5
mem/0: storing 0 in location 1016
run/0: instruction interpolate/6
mem/0: location 1016 is 0
run/0: ingredient 0 is 0
run/0: ingredient 1 is 
run/0: jumping to instruction 11
run/0: instruction interpolate/12
run/0: instruction interpolate/13
run/0: product 0 is 1000
run/0: instruction interpolate/14
mem/0: new alloc: 1070
mem/0: storing 1070 in location 1018
mem/0: location 1014 is 7
mem/0: array size is 7
run/0: instruction interpolate/15
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1019
run/0: instruction interpolate/16
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1020
run/0: instruction interpolate/18
run/0: product 0 is 1006
mem/0: storing 1006 in location 1015
mem/0: storing 1 in location 1016
run/0: instruction interpolate/19
mem/0: location 1016 is 1
run/0: ingredient 0 is 1
run/0: jump-unless fell through
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1020 is 0
run/0: ingredient 1 is tem-len
mem/0: location 1013 is 5
run/0: product 0 is 0
mem/0: storing 0 in location 1021
run/0: instruction interpolate/22
mem/0: location 1021 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1012 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1020 is 0
run/0: address to copy is 1001
run/0: its type is 4
mem/0: location 1001 is 97
run/0: product 0 is 97
mem/0: storing 97 in location 1022
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1022 is 97
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1023
run/0: instruction interpolate/25
mem/0: location 1023 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 0
run/0: address to copy is 1071
run/0: product 0 is 1071
mem/0: storing 1071 in location 1024
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1022 is 97
mem/0: location 1024 is 1071
mem/0: storing 97 in location 1071
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1020 is 0
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1020
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 0
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1019
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: jumping to instruction 21
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1020 is 1
run/0: ingredient 1 is tem-len
mem/0: location 1013 is 5
run/0: product 0 is 0
mem/0: storing 0 in location 1021
run/0: instruction interpolate/22
mem/0: location 1021 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1012 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1020 is 1
run/0: address to copy is 1002
run/0: its type is 4
mem/0: location 1002 is 98
run/0: product 0 is 98
mem/0: storing 98 in location 1022
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1022 is 98
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1023
run/0: instruction interpolate/25
mem/0: location 1023 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 1
run/0: address to copy is 1072
run/0: product 0 is 1072
mem/0: storing 1072 in location 1024
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1022 is 98
mem/0: location 1024 is 1072
mem/0: storing 98 in location 1072
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1020 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1020
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1019
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: jumping to instruction 21
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1020 is 2
run/0: ingredient 1 is tem-len
mem/0: location 1013 is 5
run/0: product 0 is 0
mem/0: storing 0 in location 1021
run/0: instruction interpolate/22
mem/0: location 1021 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1012 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1020 is 2
run/0: address to copy is 1003
run/0: its type is 4
mem/0: location 1003 is 99
run/0: product 0 is 99
mem/0: storing 99 in location 1022
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1022 is 99
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1023
run/0: instruction interpolate/25
mem/0: location 1023 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 2
run/0: address to copy is 1073
run/0: product 0 is 1073
mem/0: storing 1073 in location 1024
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1022 is 99
mem/0: location 1024 is 1073
mem/0: storing 99 in location 1073
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1020 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1020
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1019
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: jumping to instruction 21
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1020 is 3
run/0: ingredient 1 is tem-len
mem/0: location 1013 is 5
run/0: product 0 is 0
mem/0: storing 0 in location 1021
run/0: instruction interpolate/22
mem/0: location 1021 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1012 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1020 is 3
run/0: address to copy is 1004
run/0: its type is 4
mem/0: location 1004 is 32
run/0: product 0 is 32
mem/0: storing 32 in location 1022
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1022 is 32
run/0: ingredient 1 is 95
run/0: product 0 is 0
mem/0: storing 0 in location 1023
run/0: instruction interpolate/25
mem/0: location 1023 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/26
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 3
run/0: address to copy is 1074
run/0: product 0 is 1074
mem/0: storing 1074 in location 1024
run/0: instruction interpolate/27
run/0: ingredient 0 is in
mem/0: location 1022 is 32
mem/0: location 1024 is 1074
mem/0: storing 32 in location 1074
run/0: instruction interpolate/28
run/0: ingredient 0 is i
mem/0: location 1020 is 3
run/0: ingredient 1 is 1
run/0: product 0 is 4
mem/0: storing 4 in location 1020
run/0: instruction interpolate/29
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 3
run/0: ingredient 1 is 1
run/0: product 0 is 4
mem/0: storing 4 in location 1019
run/0: instruction interpolate/30
run/0: ingredient 0 is -10
run/0: jumping to instruction 21
run/0: instruction interpolate/21
run/0: ingredient 0 is i
mem/0: location 1020 is 4
run/0: ingredient 1 is tem-len
mem/0: location 1013 is 5
run/0: product 0 is 0
mem/0: storing 0 in location 1021
run/0: instruction interpolate/22
mem/0: location 1021 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/23
run/0: ingredient 0 is {name: "template", value: 1, type: 2-5-4, properties: ["template": "address":"array":"character", "deref": ]}
mem/0: location 1012 is 1000
run/0: ingredient 1 is {name: "i", value: 9, type: 1, properties: ["i": "integer"]}
mem/0: location 1020 is 4
run/0: address to copy is 1005
run/0: its type is 4
mem/0: location 1005 is 95
run/0: product 0 is 95
mem/0: storing 95 in location 1022
run/0: instruction interpolate/24
run/0: ingredient 0 is in
mem/0: location 1022 is 95
run/0: ingredient 1 is 95
run/0: product 0 is 1
mem/0: storing 1 in location 1023
run/0: instruction interpolate/25
mem/0: location 1023 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 31
run/0: instruction interpolate/32
run/0: ingredient 0 is 0
mem/0: storing 0 in location 1025
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1025 is 0
run/0: ingredient 1 is a-len
mem/0: location 1017 is 3
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/35
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/36
run/0: ingredient 0 is {name: "a", value: 4, type: 2-5-4, properties: ["a": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1006
run/0: ingredient 1 is {name: "j", value: 14, type: 1, properties: ["j": "integer"]}
mem/0: location 1025 is 0
run/0: address to copy is 1007
run/0: its type is 4
mem/0: location 1007 is 100
run/0: product 0 is 100
mem/0: storing 100 in location 1022
run/0: instruction interpolate/37
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 4
run/0: address to copy is 1075
run/0: product 0 is 1075
mem/0: storing 1075 in location 1024
run/0: instruction interpolate/38
run/0: ingredient 0 is in
mem/0: location 1022 is 100
mem/0: location 1024 is 1075
mem/0: storing 100 in location 1075
run/0: instruction interpolate/39
run/0: ingredient 0 is j
mem/0: location 1025 is 0
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1025
run/0: instruction interpolate/40
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 4
run/0: ingredient 1 is 1
run/0: product 0 is 5
mem/0: storing 5 in location 1019
run/0: instruction interpolate/41
run/0: ingredient 0 is -8
run/0: jumping to instruction 34
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1025 is 1
run/0: ingredient 1 is a-len
mem/0: location 1017 is 3
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/35
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/36
run/0: ingredient 0 is {name: "a", value: 4, type: 2-5-4, properties: ["a": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1006
run/0: ingredient 1 is {name: "j", value: 14, type: 1, properties: ["j": "integer"]}
mem/0: location 1025 is 1
run/0: address to copy is 1008
run/0: its type is 4
mem/0: location 1008 is 101
run/0: product 0 is 101
mem/0: storing 101 in location 1022
run/0: instruction interpolate/37
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 5
run/0: address to copy is 1076
run/0: product 0 is 1076
mem/0: storing 1076 in location 1024
run/0: instruction interpolate/38
run/0: ingredient 0 is in
mem/0: location 1022 is 101
mem/0: location 1024 is 1076
mem/0: storing 101 in location 1076
run/0: instruction interpolate/39
run/0: ingredient 0 is j
mem/0: location 1025 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1025
run/0: instruction interpolate/40
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 5
run/0: ingredient 1 is 1
run/0: product 0 is 6
mem/0: storing 6 in location 1019
run/0: instruction interpolate/41
run/0: ingredient 0 is -8
run/0: jumping to instruction 34
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1025 is 2
run/0: ingredient 1 is a-len
mem/0: location 1017 is 3
run/0: product 0 is 0
mem/0: storing 0 in location 1026
run/0: instruction interpolate/35
mem/0: location 1026 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction interpolate/36
run/0: ingredient 0 is {name: "a", value: 4, type: 2-5-4, properties: ["a": "address":"array":"character", "deref": ]}
mem/0: location 1015 is 1006
run/0: ingredient 1 is {name: "j", value: 14, type: 1, properties: ["j": "integer"]}
mem/0: location 1025 is 2
run/0: address to copy is 1009
run/0: its type is 4
mem/0: location 1009 is 102
run/0: product 0 is 102
mem/0: storing 102 in location 1022
run/0: instruction interpolate/37
run/0: ingredient 0 is result
mem/0: location 1018 is 1070
run/0: ingredient 1 is {name: "result-idx", value: 8, type: 1, properties: ["result-idx": "integer"]}
mem/0: location 1019 is 6
run/0: address to copy is 1077
run/0: product 0 is 1077
mem/0: storing 1077 in location 1024
run/0: instruction interpolate/38
run/0: ingredient 0 is in
mem/0: location 1022 is 102
mem/0: location 1024 is 1077
mem/0: storing 102 in location 1077
run/0: instruction interpolate/39
run/0: ingredient 0 is j
mem/0: location 1025 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1025
run/0: instruction interpolate/40
run/0: ingredient 0 is result-idx
mem/0: location 1019 is 6
run/0: ingredient 1 is 1
run/0: product 0 is 7
mem/0: storing 7 in location 1019
run/0: instruction interpolate/41
run/0: ingredient 0 is -8
run/0: jumping to instruction 34
run/0: instruction interpolate/34
run/0: ingredient 0 is j
mem/0: location 1025 is 3
run/0: ingredient 1 is a-len
mem/0: location 1017 is 3
run/0: product 0 is 1
mem/0: storing 1 in location 1026
run/0: instruction interpolate/35
mem/0: location 1026 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 42
run/0: instruction interpolate/43
run/0: ingredient 0 is i
mem/0: location 1020 is 4
run/0: ingredient 1 is 1
run/0: product 0 is 5
mem/0: storing 5 in location 1020
run/0: instruction interpolate/44
run/0: ingredient 0 is -27
run/0: jumping to instruction 18
run/0: instruction interpolate/18
mem/0: storing 0 in location 1016
run/0: instruction interpolate/19
mem/0: location 1016 is 0
run/0: ingredient 0 is 0
run/0: ingredient 1 is 
run/0: jumping to instruction 45
run/0: instruction interpolate/47
run/0: ingredient 0 is i
mem/0: location 1020 is 5
run/0: ingredient 1 is tem-len
mem/0: location 1013 is 5
run/0: product 0 is 1
mem/0: storing 1 in location 1021
run/0: instruction interpolate/48
mem/0: location 1021 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 55
run/0: instruction interpolate/56
mem/0: location 1018 is 1070
run/0: result 0 is 1070
mem/0: storing 1070 in location 3
run/0: instruction test-interpolate-works/3
run/0: ingredient 0 is 3
mem/0: location 3 is 1070
mem/0: location 1070 is 7
mem/0: location 1071 is 97
mem/0: location 1072 is 98
mem/0: location 1073 is 99
mem/0: location 1074 is 32
mem/0: location 1075 is 100
mem/0: location 1076 is 101
mem/0: location 1077 is 102
mem/0: storing 7 in location 4
mem/0: storing 97 in location 5
mem/0: storing 98 in location 6
mem/0: storing 99 in location 7
mem/0: storing 32 in location 8
mem/0: storing 100 in location 9
mem/0: storing 101 in location 10
mem/0: storing 102 in location 11