This is the NFA. The NFA consists of the classes of characters and the states. The start state is state 0. NFA({'-': {45}, '(': {40}, ')': {41}, '^': {94}, 'period': {46}, 'digit': {48, 49, 50, 51, 52, 53, 54, 55, 56, 57}, 'r': {114, 82}, 'i': {105, 73}, 's': {115, 83}, '/': {47}, '*': {42}, 'EPSILON': set(), '+': {43}},{0: State(0,None,[('EPSILON', 31), ('EPSILON', 33), ('EPSILON', 35), ('EPSILON', 37), ('EPSILON', 39), ('EPSILON', 41), ('EPSILON', 43), ('EPSILON', 45), ('EPSILON', 47), ('EPSILON', 49), ('EPSILON', 51)]), 1: State(1,None,[('digit', 2)]), 2: State(2,None,[('EPSILON', 5)]), 3: State(3,None,[('digit', 4)]), 4: State(4,None,[('EPSILON', 6)]), 5: State(5,None,[('EPSILON', 3), ('EPSILON', 6)]), 6: State(6,None,[('EPSILON', 5), ('EPSILON', 8)]), 7: State(7,None,[('EPSILON', 1)]), 8: State(8,None,[('EPSILON', 19)]), 9: State(9,None,[('period', 10)]), 10: State(10,None,[('EPSILON', 11)]), 11: State(11,None,[('digit', 12)]), 12: State(12,None,[('EPSILON', 14)]), 13: State(13,None,[('EPSILON', 9)]), 14: State(14,None,[('EPSILON', 17)]), 15: State(15,None,[('digit', 16)]), 16: State(16,None,[('EPSILON', 18)]), 17: State(17,None,[('EPSILON', 15), ('EPSILON', 18)]), 18: State(18,None,[('EPSILON', 17), ('EPSILON', 20)]), 19: State(19,None,[('EPSILON', 13)]), 20: State(20,None,[('EPSILON', 22)]), 21: State(21,None,[('EPSILON', 7)]), 22: State(22,None,[('EPSILON', 32)]), 23: State(23,None,[('digit', 24)]), 24: State(24,None,[('EPSILON', 27)]), 25: State(25,None,[('digit', 26)]), 26: State(26,None,[('EPSILON', 28)]), 27: State(27,None,[('EPSILON', 25), ('EPSILON', 28)]), 28: State(28,None,[('EPSILON', 27), ('EPSILON', 30)]), 29: State(29,None,[('EPSILON', 23)]), 30: State(30,None,[('EPSILON', 32)]), 31: State(31,None,[('EPSILON', 21), ('EPSILON', 29)]), 32: State(32,1,[]), 33: State(33,None,[('s', 34)]), 34: State(34,2,[]), 35: State(35,None,[('r', 36)]), 36: State(36,3,[]), 37: State(37,None,[('i', 38)]), 38: State(38,4,[]), 39: State(39,None,[('(', 40)]), 40: State(40,5,[]), 41: State(41,None,[(')', 42)]), 42: State(42,6,[]), 43: State(43,None,[('+', 44)]), 44: State(44,7,[]), 45: State(45,None,[('*', 46)]), 46: State(46,8,[]), 47: State(47,None,[('/', 48)]), 48: State(48,9,[]), 49: State(49,None,[('-', 50)]), 50: State(50,10,[]), 51: State(51,None,[('^', 52)]), 52: State(52,11,[])})