Introspekce:


Průběh funkce  parse lze zobrazit pomocí funkce parse-trace.



PARSE  parse-trace        

Provede parsování vstupu a rovněž vytiskne průběh procesu krok za krokem.


a:  ["fox" "owl" "rat"]


print parse-trace a [[ "box" | "fox" ] "owl"  "rat"]



-->

  match: [ ["cow" | "fox"] "owl" "rat"]

  input: ["fox" "owl" "rat"]  

  -->

    match: ["cow" | "fox"]

    input: ["fox" "owl" "rat"]    

    ==> not matched

    match: ["fox"]

    input: ["fox" "owl" "rat"]    

    ==> matched

  <--

  match: ["owl" "rat"]

  input: ["owl" "rat"]  

  ==> matched

  match: ["rat"]

  input: ["rat"]  

  ==> matched

  return: true

  true



Průběh procesu parsování lze také zjistit vhodným vložením příkazů print :


a:  ["fox" "owl" "rat"]


print parse a ["fox" (print "reached fox")

               "owl" (print "reached owl")

               "rat" (print "reached the end") ]


reached fox

reached owl

reached the end

true