aboutsummaryrefslogtreecommitdiffstats
path: root/src/psl/psl-nfas-utils.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2014-11-04 20:14:19 +0100
committerTristan Gingold <tgingold@free.fr>2014-11-04 20:14:19 +0100
commit9c195bf5d86d67ea5eb419ccf6e48dc153e57c68 (patch)
tree575346e529b99e26382b4a06f6ff2caa0b391ab2 /src/psl/psl-nfas-utils.ads
parent184a123f91e07c927292d67462561dc84f3a920d (diff)
downloadghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.tar.gz
ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.tar.bz2
ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.zip
Move sources to src/ subdirectory.
Diffstat (limited to 'src/psl/psl-nfas-utils.ads')
-rw-r--r--src/psl/psl-nfas-utils.ads21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/psl/psl-nfas-utils.ads b/src/psl/psl-nfas-utils.ads
new file mode 100644
index 000000000..bdbc0d013
--- /dev/null
+++ b/src/psl/psl-nfas-utils.ads
@@ -0,0 +1,21 @@
+package PSL.NFAs.Utils is
+ -- Sort outgoing edges by expression.
+ procedure Sort_Src_Edges (S : NFA_State);
+ procedure Sort_Src_Edges (N : NFA);
+
+ procedure Sort_Dest_Edges (S : NFA_State);
+ procedure Sort_Dest_Edges (N : NFA);
+
+ -- Move incoming edges of S1 to S, remove S1 and its outgoing edges.
+ procedure Merge_State_Dest (N : NFA; S : NFA_State; S1 : NFA_State);
+
+ procedure Merge_State_Src (N : NFA; S : NFA_State; S1 : NFA_State);
+
+ -- Return True if N or a child of N is EOS.
+ -- N must be a boolean expression.
+ function Has_EOS (N : Node) return Boolean;
+
+ -- Raise Program_Error if N is not internally coherent.
+ procedure Check_NFA (N : NFA);
+end PSL.NFAs.Utils;
+