Each semantic action is represented by a symbol interned in an
obarray that is part of the LALR(1) automaton
(see Compiling a grammar).
symbol-function on a semantic
action symbol return the semantic action lambda expression.
A semantic action symbol name has the form
:index, where nonterminal is the
name of the nonterminal symbol the action belongs to, and index
is an action sequence number within the scope of nonterminal.
For example, this nonterminal definition:
input: line [
input:0] | input line (format "%s %s" $1 $2) [
Will produce two semantic actions, and associated symbols:
(format "%s %s" $1 $2).
Debugging uses the Lisp debugger to investigate what is happening during execution of semantic actions. Three commands are available to debug semantic actions. They receive two arguments:
Request automaton's function to invoke debugger each time it is called. function must be a semantic action symbol that exists in automaton.
Undo effect of
wisent-debug-on-entryon automaton's function. function must be a semantic action symbol that exists in automaton.