Прежде чем углубляться в какие библиотеки использовать, я предлагаю вам ознакомиться с грамматикой и дизайном компилятора. Особенно входной синтаксический анализ предназначен для компиляторов и похожих интерпретаторов, то есть для токенизации и синтаксического анализа. Процесс токенизации преобразует поток символов (ваш ввод) в поток токенов. Парсер берет этот поток токенов и сопоставляет его с вашей грамматикой.
Вы не упоминаете, для какого языка вы пишете переводчик. Но очень вероятно, что язык содержит рекурсию. В этом случае вам нужно использовать так называемый анализатор снизу вверх, который вы не можете написать вручную, но его необходимо сгенерировать. Если вы попытаетесь написать такой синтаксический анализатор вручную, в результате вы получите беспорядочную ошибку.
Если вы разрабатываете для платформы posix, вы можете использовать lex и yacc. Эти инструменты немного старые, но очень мощные для создания парсеров. Lex может генерировать код, который реализует процесс токенизации, а yacc может генерировать анализатор снизу вверх.
Мой ответ, вероятно, вызывает больше вопросов, чем ответов. Это потому, что область компиляторов / интерпретаторов довольно сложна и не может быть просто объяснена в коротком ответе. Просто получите хорошую книгу по дизайну компилятора.