grephy

Grephy

How to run

java -jar Grephy.jar -r “RegEx” -f “Input file.txt”

Example

java -jar Grephy.jar -r “(ab)*“ -f “simple.txt”

Parameters

-r “RegEx” – The input RegEx (required)

-f “input file.txt” – The input file the RegEx will check (required)

-n “nfa file name” – The name of the nfa output file (optinal)

-d “dfa file name” – The name of the dfa output file (optinal)

-c “completed file name” – The name of the completed test file (optinal)

-h -help – Brings up this help menu

-debug – Enables debug mode

Parameter Order is not important

RegEx Reserved Symbols

* Asterisk, or Splat, means the proceeding character or list of characters does not have to be there but may repeat; 0 or more times

+ Plus means the proceeding character or list of characters must be there but may repeat; 1 or more times

( ) Parenthesis group characters together typically followed by a Plus or Splat.

All other characters or symbols may be used in the test file or language.

Test Files

simple.txt a simple single line file that matches (ab)*

multiple.txt a multi-line file that matches a* or (a)*

negative.txt a multi-line file that does NOT matches any particular expression Looks like it would take (ab)*

t.txt a very large and inclusive file, no set expression matches; a*b*c* is a good mix of pass/fails

t2.txt a simpler test file was used to test (ab)* and (ab)*c

numbers.txt a test file for testing numbers that matches 1*01

fun.txt a test file for testing symbols that matches #*^*@

Download

https://github.com/Chris221/grephy/releases

GitHub Repository

https://github.com/Chris221/grephy

Online DOT viewer

https://dreampuf.github.io/GraphvizOnline/

Project File

https://github.com/Chris221/grephy/blob/master/Project.pdf