Демонстрационный проект лексического анализатора на языке C, написанного с использованием Java Swing.
Лексический анализ — это первый этап процесса компиляции, который является основой для компиляции. На этом этапе задача состоит в том, чтобы считывать исходную программу слева направо, символ за символом, и затем распознавать слова (также называемые символами слов или просто символами) в соответствии с правилами формирования слов.
Входные данные: строка исходной программы.
Процесс: формирование лексем в соответствии со структурой лексического анализа языка C.
Выходные данные: 1) последовательность лексических единиц, каждая из которых соответствует одной лексеме; 2) таблица символов, содержащая идентификаторы и определения числовых констант.
Алгоритм проекта в основном основан на коде C++, приведённом в приложении книги Дракона, но с добавлением слоя GUI с помощью Swing.
Код был написан в апреле 2012 года и был довольно плохим, но недавно я потратил несколько дней на его рефакторинг и разместил код на Git@OSC.
Analyzer.LexerAnalysisProccessCallback
для обеспечения слабой связи между ними.Пакет com.kinegratii.lexer
Пакет лексического анализа com.kinegratii.lexer.core
Пакет структуры данных com.kinegratii.lexer.token
Пакет утилит com.kinegratii.lexer.utils
Блог проекта: http://my.oschina.net/kinegratii/blog/322944
Автор: Kinegratii
Личная страница: http://my.oschina.net/kinegratii
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )