Daniel Matichuk
cccb7033b8
lib/apply_debug: show protected subgoals
...
This overrides the default proof state printing function to also
show any subgoals which have been hidden (protected).
This makes proof states shown during apply_debug more
comprehensible.
2017-04-06 12:11:54 +10:00
Daniel Matichuk
cbff0aa5ec
apply_debug: avoid hanging in batch mode
2017-02-24 13:32:59 +11:00
Daniel Matichuk
08a2bbf1e1
apply_debug: added "show_running" flag
...
Default behaviour now doesn't mark up the currently
running method - this seemed too confusing.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
be014b29bb
apply_debug: hilight calling method
...
Both the breakpoint and "calling" method from
the original expression are highlighted as the breakpoint.
Note jEdit doesn't seem to highlight across theories (buffers?)
2017-02-15 15:00:23 +11:00
Daniel Matichuk
ced7e45ad4
apply_debug: use entity markup from Isabelle2016-1
...
This makes use of modern dynamic markup so that
clicking on a "continue" can show us the current
breakpoint without needed strange proof state print
hacks.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
82d2d945af
apply_debug: remove per-continue flags
...
The implementation here was too messy for such an
esoteric feature.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
8ec025de01
apply_debug: hack max_threads to avoid scheduling issues
...
I can't figure out how to keep the cleanup phase of the
Executions module while circumventing the scheduling limitation
imposed by max_threads.
This workaround just keeps max_threads high enough to schedule the threads needed
by all active apply_debug sessions.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
8fdd5d3ac8
apply_debug: more robust fact binding for break method
2017-02-15 15:00:23 +11:00
Daniel Matichuk
ebc81dd770
apply_debug: fix match issue
...
add testing file
2017-02-15 15:00:23 +11:00
Daniel Matichuk
b8858709f5
apply_debug: make "break" syntax to capture tokens
...
This avoids mandatory "bounds" and lets break highlighting occur
inside of matches/eisbach methods
2017-02-15 15:00:23 +11:00
Daniel Matichuk
2d04efbb38
apply_debug: bind Eisbach context during break
...
This requires a few tricks, since this isn't readily available.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
905f8e6f49
apply_debug: discard context modifications
...
Demotes "break" to a regular tactic, simplifying its integration with other tools
2017-02-15 15:00:23 +11:00
Daniel Matichuk
c786015801
apply_debug: avoid hacks in evaluation markup
...
Fixed issue where match was executed in closure state
2017-02-15 15:00:23 +11:00
Daniel Matichuk
2b94552d28
apply_debug: clear initial dependencies for trace
2017-02-15 15:00:23 +11:00
Daniel Matichuk
49d3f643c4
apply_debug: allow tags/trace in either order
2017-02-15 15:00:23 +11:00
Daniel Matichuk
1c7f5cfeca
apply_debug: integrate apply_trace
...
New "trace" modifier lets you trace between continues
2017-02-15 15:00:23 +11:00
Daniel Matichuk
3fdbc1fb23
apply_debug: use one less thread
...
Naive use of futures/forking causes apply_debug to block if
not enough threads are available.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
7250bd1a54
apply_debug: add "wp" breakpoint
...
Lift low-level wp tactic into context_tactic to support
breakpoints modifying context (i.e. wp set)
2017-02-15 15:00:23 +11:00
Daniel Matichuk
f3d3162fb0
apply_debug: cleanup test code
2017-02-15 15:00:23 +11:00
Daniel Matichuk
3d81f2ad97
apply_debug: allow per-continue tags
2017-02-15 15:00:23 +11:00
Daniel Matichuk
541f289916
apply_debug: add method-based breakpoint filtering
...
Also fix breakpoint hilights to work when no subgoals are present
2017-02-15 15:00:23 +11:00
Daniel Matichuk
e5c74668de
apply_debug: support break tags
...
Only trigger breakpoints based on active tags
2017-02-15 15:00:23 +11:00
Daniel Matichuk
3bc3581f51
apply_debug: hilight active breakpoint, cleanup
...
Inject a dummy print translation to guess which breakpoint is being looked at.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
97c8619424
apply_debug: capture execution errors
...
- Avoid throwing exceptions on the proof thread, instead defer it to the final slot
- Manage current-method markup with extra thread, this properly clears on proof thread restarts
2017-02-15 15:00:23 +11:00
Daniel Matichuk
95742d0581
apply_debug: more synchronization issues
...
- Avoid starting the restart-managing thread until we have the first result.
- Fix accidental immediate restart.
- Better generational tracking to avoid stale threads manipulating the current
proof thread.
2017-02-15 15:00:23 +11:00
Daniel Matichuk
8a6350fa3f
apply_debug: fix some synchronization issues
...
Generational tracking of tactic excursions and restarts
should block until previous results have been processed
2017-02-15 15:00:23 +11:00
Daniel Matichuk
21bd775bc0
apply_debug: add support for method re-play
...
This allows for execution to restart and re-play up
to the current "continue", regardless of whether or not
the overall execution has moved past it.
2017-02-15 15:00:23 +11:00