Library /sys$common/syshlp/dbg$help.hlb DEBUG, Language Support, SCAN, Controlling Execution, Breakpoints and Tracepoints *Conan The Librarian (sorry for the slow response - running on an old VAX) |
You can set breakpoints and tracepoints on procedures, trigger macros, syntax macros, and labels, as well as line numbers. For example: DBG> SET BREAK find_keyword ! break on a trigger macro DBG> CANCEL BREAK exit ! cancel break on label DBG> SET BREAK compare_trees ! break on a procedure Conventional breakpoints and tracepoints are not especially convenient for monitoring SCAN's picture matching. Where do you set a breakpoint or tracepoint to observe the tokens built by your program? There is no statement in your program on which to set such a breakpoint. To solve this problem, VAX SCAN defines several events. By setting breakpoints or tracepoints on these events, you can observe the picture matching process. The following event keywords are defined for SCAN programs: Event Keyword Description TOKEN A token is built. PICTURE An operand in a picture is being matched. INPUT A new line of the input stream is read. OUTPUT A new line of the output stream is written. TRIGGER A trigger macro is starting or terminating. SYNTAX A syntax macro is starting or terminating. ERROR Picture matching error recovery is starting or terminating. Use these keywords with the /EVENT qualifier of the following commands: (SET,CANCEL,ACTIVATE,DEACTIVATE) BREAK (SET,CANCEL,ACTIVATE,DEACTIVATE) TRACE For example, the following command sets a breakpoint that triggers whenever a TOKEN is built: DBG> SET BREAK/EVENT=TOKEN Recognition of SCAN events is enabled automatically by the debugger if the main program is written in SCAN. If you are debugging a program written in another language that calls a SCAN routine, proceed as follows to set up the SCAN environment: 1. Enter the SET LANGUAGE SCAN command to enable recognition of language-dependent operators, expressions, and other constructs (see the SET LANGUAGE command). 2. Enter the SET EVENT_FACILITY SCAN command to enable recognition of SCAN events (see the SET EVENT_FACILITY command). The SHOW EVENT_FACILITY command identifies the current facility and its events.
|