about summary refs log blame commit diff stats
path: root/cpp/.traces/factorial
blob: d4ea095b62a795cf9ab22b4418ff0354e03cf656 (plain) (tree)
1
2
3
4
5
6
7
8
                       

                                                                                   
                       

                                                                                   

                        


                                                                                   
                        
                                                                                   
                       


                                                                                   
                       


                                                                                   
                        

                       

                                                                                   
                             








                                  

                                                                   


                              
                              

                              
                              




                              
                              










                              
                              




                              
                              







                              
                              










                              
                               




                              
                              







                              
                              










                              
                               




                              
                              







                              
                              










                              
                                




                              
                              







                              
                              







                               
                                
parse/0: instruction: 1
parse/0:   ingredient: {name: "5", value: 0, type: 0, properties: ["5": "literal"]}
parse/0:   product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0: instruction: 1
parse/0:   ingredient: {name: "1", value: 0, type: 0, properties: ["1": "literal"]}
parse/0:   product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
parse/0: label: {
parse/0: instruction: 13
parse/0:   ingredient: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0:   ingredient: {name: "1", value: 0, type: 0, properties: ["1": "literal"]}
parse/0:   product: {name: "3", value: 0, type: 3, properties: ["3": "boolean"]}
parse/0: instruction: 27
parse/0:   ingredient: {name: "3", value: 0, type: 3, properties: ["3": "boolean"]}
parse/0: instruction: 4
parse/0:   ingredient: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
parse/0:   ingredient: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0:   product: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
parse/0: instruction: 3
parse/0:   ingredient: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0:   ingredient: {name: "1", value: 0, type: 0, properties: ["1": "literal"]}
parse/0:   product: {name: "1", value: 0, type: 1, properties: ["1": "integer"]}
parse/0: instruction: 29
parse/0: label: }
parse/0: instruction: 1
parse/0:   ingredient: {name: "2", value: 0, type: 1, properties: ["2": "integer"]}
parse/0:   product: {name: "4", value: 0, type: 1, properties: ["4": "integer"]}
brace/0: 1000: push (open, 2)
brace/0: push (close, 8)
after-brace/0: recipe factorial
after-brace/0: copy ...
after-brace/0: copy ...
after-brace/0: equal ...
after-brace/0: jump-if 3, 3:offset
after-brace/0: multiply ...
after-brace/0: subtract ...
after-brace/0: jump -5:offset
after-brace/0: 7: {name: "", value: -5, type: , properties: ["": ]}
after-brace/0: 7: {name: "", value: -5, type: , properties: ["": ]}
after-brace/0: copy ...
run/0: instruction factorial/0
run/0: ingredient 0 is 5
mem/0: storing 5 in location 1
run/0: instruction factorial/1
run/0: ingredient 0 is 1
mem/0: storing 1 in location 2
run/0: instruction factorial/3
run/0: ingredient 0 is 1
mem/0: location 1 is 5
run/0: ingredient 1 is 1
run/0: product 0 is 0
mem/0: storing 0 in location 3
run/0: instruction factorial/4
mem/0: location 3 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction factorial/5
run/0: ingredient 0 is 2
mem/0: location 2 is 1
run/0: ingredient 1 is 1
mem/0: location 1 is 5
run/0: ingredient 1 is 5
run/0: product 0 is 5
mem/0: storing 5 in location 2
run/0: instruction factorial/6
run/0: ingredient 0 is 1
mem/0: location 1 is 5
run/0: ingredient 1 is 1
run/0: product 0 is 4
mem/0: storing 4 in location 1
run/0: instruction factorial/7
run/0: ingredient 0 is -5
run/0: pc now 2
run/0: instruction factorial/3
run/0: ingredient 0 is 1
mem/0: location 1 is 4
run/0: ingredient 1 is 1
run/0: product 0 is 0
mem/0: storing 0 in location 3
run/0: instruction factorial/4
mem/0: location 3 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction factorial/5
run/0: ingredient 0 is 2
mem/0: location 2 is 5
run/0: ingredient 1 is 1
mem/0: location 1 is 4
run/0: ingredient 1 is 4
run/0: product 0 is 20
mem/0: storing 20 in location 2
run/0: instruction factorial/6
run/0: ingredient 0 is 1
mem/0: location 1 is 4
run/0: ingredient 1 is 1
run/0: product 0 is 3
mem/0: storing 3 in location 1
run/0: instruction factorial/7
run/0: ingredient 0 is -5
run/0: pc now 2
run/0: instruction factorial/3
run/0: ingredient 0 is 1
mem/0: location 1 is 3
run/0: ingredient 1 is 1
run/0: product 0 is 0
mem/0: storing 0 in location 3
run/0: instruction factorial/4
mem/0: location 3 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction factorial/5
run/0: ingredient 0 is 2
mem/0: location 2 is 20
run/0: ingredient 1 is 1
mem/0: location 1 is 3
run/0: ingredient 1 is 3
run/0: product 0 is 60
mem/0: storing 60 in location 2
run/0: instruction factorial/6
run/0: ingredient 0 is 1
mem/0: location 1 is 3
run/0: ingredient 1 is 1
run/0: product 0 is 2
mem/0: storing 2 in location 1
run/0: instruction factorial/7
run/0: ingredient 0 is -5
run/0: pc now 2
run/0: instruction factorial/3
run/0: ingredient 0 is 1
mem/0: location 1 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 0
mem/0: storing 0 in location 3
run/0: instruction factorial/4
mem/0: location 3 is 0
run/0: ingredient 0 is 0
run/0: jump-if fell through
run/0: instruction factorial/5
run/0: ingredient 0 is 2
mem/0: location 2 is 60
run/0: ingredient 1 is 1
mem/0: location 1 is 2
run/0: ingredient 1 is 2
run/0: product 0 is 120
mem/0: storing 120 in location 2
run/0: instruction factorial/6
run/0: ingredient 0 is 1
mem/0: location 1 is 2
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 1
run/0: instruction factorial/7
run/0: ingredient 0 is -5
run/0: pc now 2
run/0: instruction factorial/3
run/0: ingredient 0 is 1
mem/0: location 1 is 1
run/0: ingredient 1 is 1
run/0: product 0 is 1
mem/0: storing 1 in location 3
run/0: instruction factorial/4
mem/0: location 3 is 1
run/0: ingredient 0 is 1
run/0: ingredient 1 is 
run/0: jumping to instruction 8
run/0: instruction factorial/9
run/0: ingredient 0 is 2
mem/0: location 2 is 120
mem/0: storing 120 in location 4