Средства реализации языков программирования
До сих пор речь шла о разработке программ на языках программирования, реализованных в системе (т.е. имеющих компилятор и линкер). Если вас, как опытного пользователя, не устраивают эти предопределенные языки и вы хотите реализовать свой язык, то и в этом вам поможет система UNIX, предоставляя утилиты lex и yacc.
Утилита lex является текстовым процессором, реализующим лексический анализ, необходимый при создании компиляторов и других языковых процессоров.
Утилита yacc (yet another compiler compiler) конвертирует безконтекстную грамматику в таблицы, управляющие грамматическим разбором посредством LR(1)-автомата. Формируемые при этом правила предшествования позволяют избавиться от двусмысленностей исходной грамматики.
Совместное использование утилит lex и yacc является мощным подспорьем для быстрой реализации языковых процессоров в среде системы UNIX [9,10,11].