NAME

fash - interactive shell for debugging FLAT based PREs and underlying structures

fash OPTIONS

fash provides an easier commandline interface to one liners available via FLAT::CMD

Usage:

Sending input interactively:

% fash <action> [parameter1 parameter2 ... parameterN]

Sending input via <STDIN>:

% cat file.dat | fash -b test

Actions:

somestrings "regular_expression"

Outputs strings based on all acyclic paths from start to all final states found in the minimal DFA

morestrings "regular_expression"

Outputs strings associated with all acyclic paths and backedges detected on an accepting state from

start to all final states found in the minimal DFA

dump "regular_expression"

Perl dump parse tree of given regex.

dfa2jflap "regular_expression"

Dumps out FA in FLAT input format; useful for visualizing and manipulating FA

nfa2jflap "regular_expression"

Dumps out FA in FLAT input format; useful for visualizing and manipulating FA

dfa2gv "regular_expression"

Dumps out FA in graphviz input format; useful for visualizing FA

nfa2gv "regular_expression"

Dumps out FA in graphviz input format; useful for visualizing FA

pfa2gv "regular_expression"

Dumps out FA in graphviz input format; useful for visualizing FA

dfa2undgv "regular_expression"

Dumps out undirected graph underlying the FA in graphviz input format; useful for visualizing FA

nfa2undgv "regular_expression"

Dumps out undirected graph underlying the FA in graphviz input format; useful for visualizing FA

pfa2undgv "regular_expression"

Dumps out undirected graph underlying the FA in graphviz input format; useful for visualizing FA

dfa2digraph "regular_expression"

Outputs digraph of FA for input into a program that might operate over the underlying graph.

nfa2digraph "regular_expression"

Outputs digraph of FA for input into a program that might operate over the underlying graph.

pfa2digraph "regular_expression"

Outputs digraph of FA for input into a program that might operate over the underlying graph.

dfa2undirectedgraph "regular_expression"

Outputs undirected graph of FA for input into a program that might operate over the underlying graph.

nfa2undirectedgraph "regular_expression"

Outputs undirected graph of FA for input into a program that might operate over the underlying graph.

pfa2undirectedgraph "regular_expression"

Outputs undirected graph of FA for input into a program that might operate over the underlying graph.

test "regular_expression" "test_string"

Given a regular expression, tests the given string(s) for acceptance.

compare "regular_expression1" "regular_expression2"

Compares 2 regularexpressions.

Notes on 'test' action:

this action may accept STDIN when using the -b flag; the format of the file should be a regular expression in the top line, followed by strings to test for acceptance.

EXTERNAL PROGRAM SUPPORT

This shell interface to FLAT provides support for two external programs, which opens the door widely for true introspection into the underlying data structures affecting the program's execution.

JFLAP http://www.jflap.org/tutorial/
JFLAP is a package of graphical tools which can be used as an aid in learning
the basic concepts of Formal Languages and Automata Theory. 

Another useful direct link to JFLAP, is http://www.jflap.org/whatis.html

GraphViz

GraphViz is a very well known package, originally created at AT&T, https://graphviz.org/:

Graphviz is open source graph visualization software. Graph visualization is
a way of representing structural information as diagrams of abstract graphs
and networks. It has important applications in networking, bioinformatics,
software engineering, database and web design, machine learning, and in
visual interfaces for other technical domains.

For Perl interfaces to GraphViz, look no further than GraphViz and Tk::GraphViz.

More are listed at https://metacpan.org/search?q=graphviz.

COPYRIGHT AND LICENSE

Same terms as perl itself.

AUTHOR

OODLER 577 <oodler@cpan.org>

ACKNOWLEDGEMENTS

Same as those of FLAT.