22 lines
387 B
Python
22 lines
387 B
Python
import sys
|
|
|
|
from regex_to_nfa import to_nfa
|
|
from nfa_to_regex import to_regex
|
|
from parse_regex import parse, ParseError
|
|
|
|
def main():
|
|
try:
|
|
regex = parse(input('regex> '))
|
|
|
|
except ParseError as err:
|
|
print('%s: Error: %s' % (sys.argv[0], str(err)), file=sys.stderr)
|
|
|
|
else:
|
|
nfa = to_nfa(regex)
|
|
regex_prime = to_regex(nfa)
|
|
|
|
print(regex_prime)
|
|
|
|
if __name__ == '__main__':
|
|
main()
|