Задан синтаксис регулярного выражения
Код:
маркер: однострочный_текст
;
однострочный_текст:префикс дефис инфиксы постфикс
;
префикс: буквы
;
буквы: буква
| буква буквы
;
буква: а-яА-я | а-zА-Z
;
дефис: пусто
| пробел
| '-'
| '.'
;
инфиксы: пусто
| инфикс разделитель
| инфикс разделитель инфиксы
;
инфикс: целое
;
разделитель: '.'
| '-'
| '/'
;
постфикс: целое
;
Требуется написать на Лиспе программу, которой на вход подается регулярные выражения, например DD-1, DD-2, U-1.1.1, U-1.1.2, R1, R2, etc.... Программа должна разобрать выражение, создать и вернуть список (префикс инфикс инфикс .... инфикс постфикс), если заданное на входе выражение соответствует указанному синтаксису, либо вернуть пустой список.
Подскажите, плз, хоть с чего начать. На лиспе опыта очень мало.