Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #coding: utf-8
- ''' считывание файла '''
- d = {}
- f = open('gr.txt', 'r')
- for s in f:
- a, b = s.rstrip().split(' -> ')
- c = b.split(' | ')
- d[a] = c
- ''' функции для работы с КС-грамматикой '''
- def search(l):
- ind_min = 0
- c_min = 0
- for i in l:
- c_min = max(c_min, len(i))
- for ind, i in enumerate(l):
- c = 0
- for j in i:
- if 'A' <= j <= 'Z':
- c += 1
- if c < c_min:
- c_min = c
- ind_min = ind
- return ind_min
- def rec(k):
- for char in list(d[k][search(d[k])]):
- if 'A' <= char <= 'Z':
- rec(char)
- else:
- print(char, end='')
- rec('S')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement