all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
36
Task/Stack-traces/PicoLisp/stack-traces-1.l
Normal file
36
Task/Stack-traces/PicoLisp/stack-traces-1.l
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
(off "Stack")
|
||||
|
||||
(de $$ "Prg"
|
||||
(let "Stack" (cons (cons (car "Prg") (env)) "Stack") # Build stack frame
|
||||
(set "Stack"
|
||||
(delq (asoq '"Stack" (car "Stack")) # Remove self-created entries
|
||||
(delq (asoq '"Prg" (car "Stack"))
|
||||
(car "Stack") ) ) )
|
||||
(run (cdr "Prg")) ) ) # Run body
|
||||
|
||||
(de stackAll (Excl)
|
||||
(let *Dbg NIL
|
||||
(for "X" (all)
|
||||
(or
|
||||
(memq "X" Excl)
|
||||
(memq "X" '($$ @ @@ @@@))
|
||||
(= `(char "*") (char "X"))
|
||||
(cond
|
||||
((= `(char "+") (char "X"))
|
||||
(for "Y" (pair (val "X"))
|
||||
(and
|
||||
(pair "Y")
|
||||
(fun? (cdr "Y"))
|
||||
(unless (== '$$ (caaddr "Y"))
|
||||
(con (cdr "Y")
|
||||
(list
|
||||
(cons '$$ (cons (car "Y" "X") (cddr "Y"))) ) ) ) ) ) )
|
||||
((pair (getd "X"))
|
||||
(let "Y" @
|
||||
(unless (== '$$ (caadr "Y"))
|
||||
(con "Y"
|
||||
(list (cons '$$ "X" (cdr "Y"))) ) ) ) ) ) ) ) ) )
|
||||
|
||||
(de dumpStack ()
|
||||
(more (reverse (cdr "Stack")))
|
||||
T )
|
||||
9
Task/Stack-traces/PicoLisp/stack-traces-2.l
Normal file
9
Task/Stack-traces/PicoLisp/stack-traces-2.l
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
(de foo (A B)
|
||||
(let C 3
|
||||
(bar (inc 'A) (inc 'B) (inc 'C)) ) )
|
||||
|
||||
(de bar (A D E)
|
||||
(let (A 7 B 8 C 9)
|
||||
(! println A B C) ) ) # Set a breakpoint before (println A B C)
|
||||
|
||||
(stackAll)
|
||||
Loading…
Add table
Add a link
Reference in a new issue