Да, скорее всего, это ошибка в анализе текста.
Если "hello" выбрасывает за пределы (), это может быть вызвано тем, что при токенизации JavaScript не распознает "hello" как отдельный токен, а считает его частью строки, заключенной в кавычки ().
Чтобы исправить это в токенизаторе JavaScript, вы можете добавить правило, чтобы распознавать отдельные строки без кавычек как отдельные токены. Например, вы можете попробовать использовать регулярное выражение, чтобы выделить "hello" как отдельный токен:
const text = '(hello)';
const tokens = text.match(/\w+|[\(\)]/g);
Теперь "hello" должен быть распознан как отдельный токен и не выбрасываться за пределы ().