Parser Generator
Инструментарий для построения компиляторов.
   

Главная

О сайте

Документация

Download

Ссылки

Библиография

О нас


О сайте

Данный сайт является отражением проекта Parser Generator по созданию инструмента для работы с формальными грамматиками, построения распознающих автоматов, создания синтаксических анализаторов.

Проект начинал развиваться, как редактор, с возможностью проверки синтаксиса, для языка VRML. В нем были применены самые простые способы синтаксического анализа и разбора. Проект успешно был закончен, однако, как все успешные проекты его захотелось расширить. Например на другие языки, для которых нет удобных средств редактирования исходных текстов например XML, Java, SQL... Изначально такая возможность не предусматривалась, поэтому эта задача оказалась непростой, прежде всего из-за того, что необходимо было переписывать блок синтаксического анализа. Именно тогда мы стали задумываться над автоматизацией процесса построения синтаксического анализатора.

Мы создали библиотеку классов на Java для работы с формальными грамматиками. Библиотека позволяет легко производить преобразования грамматик (удалять бесполезные символы, левую рекурсию, правила с одинаковой правой частью и т.д.). С ее помощью можно легко создать таблицы алгоритма перенос-свертка для грамматик слабого предшествования. Встроенный автомат легко прогоняет любую входную цепочку проверяя ее на принадлежность заданному языку. Это далеко не полный список ее возможностей. Здесь находится документация по этой библиотеке.

Однако, дальнейшее развитие видится нам в написании инструмента, который позволит упростить и автоматизировать процесс создания компиляторов, синтаксических анализаторов, поможет в обучении основ построения подобных систем.

На этом сайте мы будем представлять информацию о своих успехах, рассказывать о том, что и как сделано, а также приводить полезные советы. Также здесь Вы будете находить информацию, касающуюся данного вопроса.


 
   
© С. Григорчук 2001, Содержание, дизайн

ukman@yandex.ru
Hosted by uCoz