Mou Code

Divacon Trace Output


scanlr

-- source -- scanlr = PDC(d_lr, c_lr, id, (id, '+') @ #(nil, last(0)), atom, id) trace(scanlr, [0, 1, 2, 3, 4, 5, 6, 7]) -- end source -- -- trace: scanlr([0,1,2,3,4,5,6,7]) -- scanlr([0,1,2,3,4,5,6,7]) divide d_lr -> ([0,1,2,3], [4,5,6,7]) scanlr([0,1,2,3]) divide d_lr -> ([0,1], [2,3]) scanlr([0,1]) divide d_lr -> ([0], [1]) scanlr([0]) ⇣ atom; basef -> [0] scanlr([1]) ⇣ atom; basef -> [1] post #(nil,last0) -> ([0], [(1, 0)]) post (id_, plus) -> ([0], [1]) combine c_lr -> [0,1] scanlr([2,3]) divide d_lr -> ([2], [3]) scanlr([2]) ⇣ atom; basef -> [2] scanlr([3]) ⇣ atom; basef -> [3] post #(nil,last0) -> ([2], [(3, 2)]) post (id_, plus) -> ([2], [5]) combine c_lr -> [2,5] post #(nil,last0) -> ([0,1], [(2, 1),(5, 1)]) post (id_, plus) -> ([0,1], [3,6]) combine c_lr -> [0,1,3,6] scanlr([4,5,6,7]) divide d_lr -> ([4,5], [6,7]) scanlr([4,5]) divide d_lr -> ([4], [5]) scanlr([4]) ⇣ atom; basef -> [4] scanlr([5]) ⇣ atom; basef -> [5] post #(nil,last0) -> ([4], [(5, 4)]) post (id_, plus) -> ([4], [9]) combine c_lr -> [4,9] scanlr([6,7]) divide d_lr -> ([6], [7]) scanlr([6]) ⇣ atom; basef -> [6] scanlr([7]) ⇣ atom; basef -> [7] post #(nil,last0) -> ([6], [(7, 6)]) post (id_, plus) -> ([6], [13]) combine c_lr -> [6,13] post #(nil,last0) -> ([4,9], [(6, 9),(13, 9)]) post (id_, plus) -> ([4,9], [15,22]) combine c_lr -> [4,9,15,22] post #(nil,last0) -> ([0,1,3,6], [(4, 6),(9, 6),(15, 6),(22, 6)]) post (id_, plus) -> ([0,1,3,6], [10,15,21,28]) combine c_lr -> [0,1,3,6,10,15,21,28] -- result: [0,1,3,6,10,15,21,28] --
Your thoughts?
(will not be shared or abused)
Comment:
                                        Feedback is welcome.
Copyright © 2025 Thomas C. Veatch. All rights reserved.
Created: May 2026