Компиляторы. МУ по лабораторным работам
Лабораторная работа №3.1 Напишите регулярные определения для следующих языков. а) Все строки из строчных букв, содержащие пять гласных, а, е, i, о, u, в указанном порядке. 6) Все строки из строчных букв, в которых буквы находятся в возрастающем лексикографическом порядке. в) Комментарии, представляющие собой строки, заключенные в /* и */, без промежуточных символов */ (кроме случаев, когда они заключены в двойные кавычки). г) Все строки из неповторяющихся цифр. Указание: попробуйте сначала решить задачу для нескольких цифр, например для {0, 1,2}. д) Все строки из цифр, причем в строке может повторяться не более одной цифры. е) Все строки из а и b, в которых четное количество а и нечетное — b. Лабораторная работа №3.2 В SQL ключевые слова и идентификаторы нечувствительны к регистру. Напишите программу на языке Lex,которая распознает ключевые слова SELECT, FROM и WHERE (с любыми сочетаниями верхних и нижних регистров) и токен ID, который в данном упражнении может быть любой последовательностью букв и цифр, начинающейся с буквы. Вносить идентификаторы в таблицу символов не требуется, но следует указать, чем именно функция для внесения в таблицу символов отличается от таковой для идентификаторов, чувствительных к регистру, как на следущем слайде.