Я хотел бы знать, как это сделать как на С++, так и на Java (EDIT: я не имею в виду одновременно. Я задаю два похожих вопроса: «Как мне это сделать на С++?» и «Как мне это сделать на Яве?").
Я хочу проанализировать ввод из файла и обработать '(' и ')' как разделители в дополнение к пробелам. Но я также хочу, чтобы каждая встреча '(' или ')' распознавалась как отдельный токен. Так, например, при разборе
Это contians (вложенные (круглые скобки))
Я хотел бы, чтобы последовательные вызовы next() (или >>) давали (по одному в строке)
This
contains
(
nested
(
parentheses
)
)
<end of input>
Существуют ли встроенные парсеры/сканеры с такой функциональностью? Я знаю, что Java Scanner является мощным, но, насколько я могу судить, нет никакого способа определить, какой разделитель совпадал каждый раз, когда вы сталкиваетесь со следующим токеном.