2019-06-02 18:36:28 +00:00
|
|
|
import sys
|
|
|
|
|
2019-06-01 17:26:40 +00:00
|
|
|
from regex_to_nfa import to_nfa
|
|
|
|
from nfa_to_regex import to_regex
|
2019-06-02 18:36:28 +00:00
|
|
|
from parse_regex import parse, ParseError
|
2019-06-01 17:26:40 +00:00
|
|
|
|
|
|
|
def main():
|
2019-06-02 18:36:28 +00:00
|
|
|
try:
|
|
|
|
regex = parse(input('regex> '))
|
|
|
|
|
|
|
|
except ParseError as err:
|
|
|
|
print('%s: Error: %s' % (sys.argv[0], str(err)), file=sys.stderr)
|
2019-06-01 17:26:40 +00:00
|
|
|
|
2019-06-02 18:36:28 +00:00
|
|
|
else:
|
|
|
|
nfa = to_nfa(regex)
|
|
|
|
regex_prime = to_regex(nfa)
|
2019-06-01 17:26:40 +00:00
|
|
|
|
2019-06-02 18:36:28 +00:00
|
|
|
print(regex_prime)
|
2019-06-01 17:26:40 +00:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|