История изменений
Исправление m0rph, (текущая версия) :
По моему личному опыту (в свое время сделал интерпретатор простенького языка в академических целях) лексер и парсер языка с контекстно-независимой грамматикой довольно просто реализуются вручную, при этом такое решение даже будет гибче. Если хочется мнения, повесомее, чем от анонимуса с LOR, то Walter Bright (создатель первого компилятора C++ и языка D) высказывался в аналогичном ключе (см. раздел Implementation).
Вроде бы для парсинга Паскалеподобного языка не нужен большой lookahead (как для C), так что с дивана кажется, что рекурсивного нисходящего парсера в твоем случае может быть достаточно (а он довольно прост в реализации вручную).
Если бы это был хобби-проект, я бы однозначно посоветовал попробовать написать свой парсер. Но при наличии жестких сроков и отсутствии опыта, лучше основательно взвесить все риски. Хотя костыль у тебя уже есть и, я так понял, работает. Т.е. ты особо ничем не рискуешь.
Исправление m0rph, :
По моему личному опыту (в свое время сделал интерпретатор простенького языка в академических целях) лексер и парсер языка с контекстно-независимой грамматикой довольно просто реализуются вручную, при этом такое решение даже будет гибче. Если хочется мнения, повесомее, чем от анонимуса с LOR, то Walter Bright (создатель первого компилятора C++ и языка D) высказывался в аналогичном ключе (см. раздел Implementation).
Вроде бы для парсинга Паскалеподобного языка не нужен большой lookahead (как для C), так что с дивана кажется, что рекурсивного нисходящего парсера в твоем случае может быть достаточно (а он довольно прост в реализации вручную).
Если бы это был хобби-проект, я бы однозначно посоветовал попробовать написать свой парсер. Но при наличии жестких сроков и отсутствии опыта, лучше основательно взвесить все риски. Хотя костыль у тебя уже есть и, я так понял, работает. Т.е. т особо ничем не рискуешь.
Исходная версия m0rph, :
По моему личному опыту (в свое время сделал интерпретатор простенького языка в академических целях) лексер и парсер языка с контекстно-независимой грамматикой довольно просто реализуются вручную, при этом такое решение даже будет гибче. Если хочется мнения, повесомее, что от анонимуса с LOR, то Walter Bright (создатель первого компилятора C++ и языка D) высказывался в аналогичном ключе (см. раздел Implementation).
Вроде бы для парсинга Паскалеподобного языка не нужен большой lookahead (как для C), так что с дивана кажется, что рекурсивного нисходящего парсера в твоем случае может быть достаточно (а он довольно прост в реализации вручную).
Если бы это был хобби-проект, я бы однозначно посоветовал попробовать написать свой парсер. Но при наличии жестких сроков и отсутствии опыта, лучше основательно взвесить все риски. Хотя костыль у тебя уже есть и, я так понял, работает. Т.е. т особо ничем не рискуешь.