Правильно — это именно 7625597484987? И
даёт
, и всё без учёта ассоциирования? Странно.
Во, блин...
Кучу полезных отработанных вещей же легко найти. Хотите парсер — погуглите
parsing algorithms (упомянутый тоже бы нашёлся, я его в своё время нашёл из ничего). Их куча и древних, и современных, разных цветов и даже готовые библиотеки. Простой и гибкий наколенный велосипед можно написать с помощью Pratt parsers, хотя если для вашего языка есть парсерные комбинаторы, это куда удобнее. Но не все библиотеки комбинаторов дают хорошо реагирующий на ошибки разбора парсер (с точки зрения понятности пользователю, где не так), плюс иногда можно написать весьма медленный код, проверяющий много лишнего (как и с велосипедом с нуля). Наконец алгоритмы, берущие готовую грамматику и компилирующие из неё автоматы. Но это уже полноценный микроскоп не для гвоздей. Имплементировать их и парсерные комбинаторы на коленке тоже не следует. А вот при надобности писать токенизатор его можно будет сделать с помощью регулярных выражений (хорошо если компилируемых и имеющих sticky mode).