A | |
add [Charset] | |
add [Hashset] |
In-place add.
|
add_all_trans [Nfa] |
Add transitions
s1 -c-> s2 for all c
|
add_concat [Depgraph] |
Add a concatenation constraint to
graph (L(lhs . rhs )
subset L(target)).
|
add_isect [Depgraph] |
Add a subset constraint to
graph (L(target ) subset L(source ).
|
add_set_trans [Nfa] |
Add transitions
s1 -c-> s2 for all c in l
|
add_state [Nfa] |
Add a specific state
|
add_trans [Nfa] |
Add single transition
s1 -c-> s2
|
alias_node [Depgraph] |
Rename a node, or merge two existing nodes.
|
all_delta [Nfa] |
Get the rhs
(state -> character set) mapping for a given
origin state s in transition function d
|
all_nodes [Interface] | |
almostfree [Solve] | true if n has either (1) any number of inbound intersect edges
and no inbound concat edges; or (2) a single inbound concat edge and no
inbound intersect edges
|
anon_concat [Interface] | |
areequal [Interface] | |
B | |
backward_mapping [Nfa] |
Construct a reverse reachability mapping
|
backward_reachable [Nfa] |
Backward reachability from a specified state
|
bool_no [Interface] | |
bool_yes [Interface] | |
C | |
cap [Charset] | |
cap [Hashset] |
Applicative set intersection.
|
char_as_string [Charset] | |
choose [Charset] | |
choose [Hashset] |
Get an element
|
clear [Hashset] |
Remove all elements.
|
complement [Nfa] |
Compute the complement of a given determinized NFA.
|
concat [Nfa] |
Annotated NFA concatenation using a single epsilon-transition.
|
copy [Charset] | |
copy [Hashset] |
Set copying.
|
copy_graph [Depgraph] |
Copy a dependency graph
|
copy_nfa [Nfa] |
Copy an NFA
|
copy_state [Interface] | |
copy_table [Nfa] |
Copy a delta or epsilon, applying a transformation to each element
|
create [Hashset] |
Set "construction" - really just an alias for Hashtbl.create.
|
create_empty [Charset] | |
create_full [Charset] | |
create_graph [Languageops] |
Solving a CI-group ends with the creation of zero or more
copies of the dependency graph.
|
cup [Charset] | |
cup [Hashset] |
Applicative set union.
|
cur_graph [Interface] | |
D | |
debug [Options] | |
def_delta_size [Nfa] | |
def_eps_size [Nfa] | |
def_machine_size [Nfa] | |
def_mapping_size [Depgraph] | |
def_output_size [Depgraph] | |
default_set_size [Charset] | |
digit_list_to_int [Charset] | |
done_count [Solve] |
Number of nodes with outbound edges remaining
|
E | |
elim [Options] | |
elim_dead_states [Nfa] |
Eliminate states that do not reach the final state.
|
empty [Charset] | |
empty [Hashset] |
Test for emptiness.
|
enumerate [Solve] |
Eagerly enumerate all combinations of elements in some number of
lists.
|
enumerate_solutions [Solve] |
Eagerly enumerate all solutions for a given CI-group.
|
eps_closure [Nfa] |
Epsilon closure for a given NFA state
|
eq [Hashset] |
Set equality.
|
exists [Hashset] |
@Return
true if s has an element that satisfies predicate f ;
false otherwise
|
extract_nfa [Nfa] |
Extract a subNFA from a bigger NFA
|
F | |
filter [Hashset] |
Filter (to list).
|
filter_solutions [Solve] |
Check each solution for nodes that have been assigned the empty
language; return only those that have a non-empty assignment for
each node.
|
find_free_group [Solve] |
Find a CI-group that is ready for processing (i.e., doesn't have any inbound
edges from non-free nodes).
|
find_node [Depgraph] | |
fix_edges [Solve] |
Remove the edges associated with a CI-group.
|
fmap [Nfa] | |
fold [Hashset] |
Fold.
|
forward_concat [Languageops] |
Solve a simple concat constraint
|
forward_fold_nfa [Nfa] |
Generic forward walk over an NFA (depth first; visits all states
forward-reachable from
s ).
|
forward_intersect [Languageops] |
Solve a simple intersect (i.e., subset) constraint
|
free [Solve] | true if n has no inbound edges
|
free_not_done_nodes [Solve] |
Find all nodes that are both
free and not_done .
|
from_list [Charset] | |
from_list [Hashset] |
Convert list to hashset
|
G | |
gen_string [Nfa] | |
gen_strings [Interface] | |
gen_strings [Languageops] |
Generate strings from a language
|
get_assignment [Languageops] |
Get the assignment associated with the given transition list
|
group_concat [Languageops] |
Solve a concat constraint in a CI-group
|
group_intersect [Languageops] |
Solve an intersect (i.e., subset) constraint in a CI-group
|
H | |
has_work_left [Solve] |
Does
graph require further processing?
|
header [Dprle] | |
I | |
inbound_warning [Interface] | |
intersect [Interface] | |
intersect [Nfa] |
Annotated NFA intersection using the cross-product construction
|
is_empty [Nfa] |
Language emptiness
|
is_satisfying [Solve] |
Does this graph contain zero empty language assignments?
|
is_simple_forward [Solve] |
Check whether it is safe to forward-process an outbound edge.
|
issubset [Interface] | |
iter [Charset] | |
iter [Hashset] |
Iterate.
|
L | |
lang_eq [Languageops] |
Language equality
|
lang_subseteq [Languageops] |
Language subseteq
|
M | |
main [Dprle] | |
many_sat [Interface] | |
maxsize [Options] | |
mem [Charset] | |
mem [Hashset] |
Set membership.
|
merge_nfas [Nfa] |
Merge two NFAs
|
merge_subnfas [Languageops] |
For a SubMachine dependent on multiple SuperMachines, compute and
return the intersection of the different subNFAs.
|
minimize [Nfa] |
Minimize an NFA using Brzozowski's minimization algorithm
|
minimize [Options] | |
minus [Charset] | |
minus [Hashset] |
Applicative set minus.
|
N | |
named_concat [Interface] | |
neighbors [Nfa] |
Get all immediate outbound neighbors of a given state
|
nested_ht_iter [Nfa] |
For all mappings
p -> q in hashtable a and for all r -> s in
hashtable b , execute f p q r s .
|
new_nfa_states [Nfa] |
Create an empty NFA with start state
s and accepting state f ;
note that s and f should not be equal.
|
new_node [Interface] | |
new_node [Depgraph] |
Add a new node to the specified graph
|
new_sigmastar [Nfa] |
Construct an NFA that accepts
|
new_state [Nfa] |
Add a new state
|
new_trans_list [Depgraph] | |
new_trans_list_id [Depgraph] | |
next_transition_list [Depgraph] |
We use tranition lists to capture multiple alternative solutions
within a single NFA.
|
nfa_eq [Nfa] |
Language equality
|
nfa_subseteq [Nfa] |
Language subseteq
|
nfa_to_dfa [Nfa] |
Determinize an NFA (necessary for e.g.
|
nfa_to_dot [Nfa] |
Convert an NFA to Graphviz dot format
|
noerr [Options] | |
normalize_nfa [Nfa] |
Rebuild NFA with contiquous integer state space.
|
not_done [Solve] | true if n has at least one outbound edge
|
P | |
pop [Interface] |
Discard the current environment (i.e., pop the current dependency
graph off the context stack).
|
print_charset [Charset] | |
print_graph [Interface] | |
print_graph [Depgraph] |
Pretty print a dependency graph
|
print_lang [Depgraph] |
Pretty print a node's language
|
print_nfa [Nfa] |
Pretty print an NFA.
|
print_no_strings [Interface] | |
print_node [Interface] | |
print_options [Options] | |
print_strings [Interface] | |
printerror [Dprle] | |
printnode [Depgraph] | |
process [Dprle] | |
process_file [Dprle] | |
process_stdin [Dprle] | |
push [Interface] |
Save the current environment (i.e., push a copy of the current
dependency graph onto the context stack).
|
R | |
ref_flatten [Languageops] |
Given a list of supermapping constraints (i.e., epsilon
transitions that represent potential solutions), return a flat
list of all states touching those epsilon transitions.
|
remove [Charset] | |
remove [Hashset] |
In-place removal of an element.
|
remove_inb [Depgraph] |
Remove an inbound edge from the specified graph.
|
remove_outb [Depgraph] |
Remove an outbound edge from the specified graph.
|
replace_context [Interface] |
Replace the current environment with
g .
|
reset [Options] | |
reset_all [Interface] |
Clear the entire state (including anything previously saved using
!push .
|
reverse [Nfa] |
Reverse all transitions, swap start and final states; used by
Nfa.minimize
|
revision [Dprle] | |
rhs [Nfa] |
Find all states
q' such that q reaches q' on c
through a single transition.
|
S | |
select [Interface] | |
show_machines [Interface] | |
simple_concat [Nfa] |
Concat without the state-converting frills
|
simple_intersect [Languageops] |
Intersect two languages (used by
Languageops.forward_intersect ,
Languageops.group_intersect , and Languageops.merge_subnfas .
|
simple_intersect [Nfa] |
Intersection without the state-converting frills
|
single_sat [Interface] | |
singleton [Hashset] |
Create a set of one element
|
size [Charset] | |
size [Hashset] |
Set size.
|
solve [Interface] | |
solve_all [Solve] | |
solve_forward [Solve] |
Solve simple (non-CI-group) constraints for all nodes in
graph
that are free.
|
solve_group [Solve] |
(Eagerly) find statisfying assignments for a single CI-group.
|
solve_single [Solve] | |
solve_single_forward [Solve] |
Solve all the simple (non-CI-group) outbound constraints imposed
by node
id .
|
solve_step [Solve] | |
solverstate [Interface] | |
split [Hashset] |
Split a set based on a predicate (to a pair of lists)
|
string_to_int [Charset] | |
T | |
to_list [Hashset] |
Convert hashset to list
|
U | |
union [Nfa] |
Applicative NFA union
|
unique [Hashset] |
Filter duplicate elements from a list
|
unsat [Interface] | |
V | |
valid_char [Charset] | |
W | |
which_states [Nfa] |
Get the rhs state set in the epsilon mapping
e
|
which_symbols [Nfa] |
Get the character set by applying
(delta s1) s2
|