aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/elab-debugger.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth/elab-debugger.ads')
-rw-r--r--src/synth/elab-debugger.ads16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/synth/elab-debugger.ads b/src/synth/elab-debugger.ads
index 3376e3ba3..cc456dfc1 100644
--- a/src/synth/elab-debugger.ads
+++ b/src/synth/elab-debugger.ads
@@ -23,6 +23,9 @@ with Vhdl.Nodes; use Vhdl.Nodes;
with Elab.Vhdl_Context; use Elab.Vhdl_Context;
package Elab.Debugger is
+ -- True to start debugger on error.
+ Flag_Debug_Enable : Boolean := False;
+
-- If true, debugging is enabled:
-- * call Debug_Break() before executing the next sequential statement
-- * call Debug_Leave when a frame is destroyed.
@@ -37,10 +40,15 @@ package Elab.Debugger is
procedure Debug_Leave (Inst : Synth_Instance_Acc);
+ -- Debug on a time breakpoint.
+ procedure Debug_Time;
+
-- To be called in case of execution error, like:
-- * index out of bounds.
procedure Debug_Error (Inst : Synth_Instance_Acc; Expr : Node);
+ function Debug_Current_Instance return Synth_Instance_Acc;
+
type Menu_Procedure is access procedure (Line : String);
type Cst_String_Acc is access constant String;
@@ -54,11 +62,19 @@ package Elab.Debugger is
Help : Cst_String_Acc;
Proc : Menu_Procedure);
+ -- Prepare resume execution.
+ procedure Prepare_Continue;
-- Utilities for menu commands.
-- Return the position of the first non-blank character.
function Skip_Blanks (S : String) return Positive;
+ function Skip_Blanks (S : String; F : Positive) return Positive;
+
+ -- Return the position of the last character of the word (the last
+ -- non-blank character).
+ function Get_Word (S : String) return Positive;
+ function Get_Word (S : String; F : Positive) return Positive;
-- Convert STR to number RES, set VALID to true iff the conversion is ok.
procedure To_Num (Str : String; Res : out Uns32; Valid : out Boolean);