package de.unisiegen.gtitool.core.regex;
import de.unisiegen.gtitool.core.entities.DefaultRegexAlphabet;
import de.unisiegen.gtitool.core.entities.DefaultSymbol;
import de.unisiegen.gtitool.core.entities.regex.RegexNode;
import de.unisiegen.gtitool.core.parser.regex.RegexParseable;
/**
* Tester class for Regex
*/
public class RegexTester
{
/**
* Main class for tester
*
* @param args
*/
public static void main ( String [] args )
{
RegexParseable regexParseable = new RegexParseable ();
String regexText1 = "ac|b*"; //$NON-NLS-1$
String regexText2 = "(ac)|b*";//$NON-NLS-1$
RegexNode regex1;
RegexNode regex2;
try
{
regex1 = ( RegexNode ) regexParseable.newParser ( regexText1 ).parse ();
DefaultRegex conv1 = new DefaultRegex ( new DefaultRegexAlphabet (
new DefaultSymbol ( "a" ), new DefaultSymbol ( "b" ),//$NON-NLS-1$ //$NON-NLS-2$
new DefaultSymbol ( "c" ), new DefaultSymbol ( "d" ) ) );//$NON-NLS-1$ //$NON-NLS-2$
conv1.setRegexNode ( regex1, regexText1 );
regex2 = ( RegexNode ) regexParseable.newParser ( regexText2 ).parse ();
DefaultRegex conv2 = new DefaultRegex ( new DefaultRegexAlphabet (
new DefaultSymbol ( "a" ), new DefaultSymbol ( "b" ),//$NON-NLS-1$ //$NON-NLS-2$
new DefaultSymbol ( "c" ), new DefaultSymbol ( "d" ) ) );//$NON-NLS-1$ //$NON-NLS-2$
conv2.setRegexNode ( regex2, regexText2 );
System.err.println ( conv1.equals ( conv2 ) );
while ( !regex1.isMarked () )
{
System.err.println ( regex1.getNextNodeForNFA () );
}
}
catch ( Exception exc )
{
exc.printStackTrace ();
}
try
{
RegexNode regex = ( RegexNode ) regexParseable
.newParser ( "[abcde]" ).parse (); //$NON-NLS-1$
System.err.println ( regex.toPrettyString ().toString () );
}
catch ( Exception e )
{
e.printStackTrace ();
}
}
}