История изменений
Исправление rtxtxtrx, (текущая версия) :
Я не знаю какие там сейчас языки для псевдокода, думаю питон понятен и такой парсер можно реализовать на любом языке, где есть классы и генераторы. parse
можно обозвать как next_token, либо выделить из парсера лексер/токенайзер, токены в дерево можно превратить с помощью рекурсивного спуска либо сразу транспилировать в хтмл какой. Не знаю в чем замысел глубинный. Но на высокоуровневых языках на токены можно и с помощью регулярок разбить - так еще проще (и побыстрее). Нужны сущности: Token, TokenType (Enum), Tokenizer (просто разбивает на токены) и Parser/Compiler (проверяет токены и что-то на выходе выдает). Довольно тривиальная задача. Не знаю что там годами обдумывать
peekch можно обозвать как match и ввести еще обратную ему операцию not_match чтобы advance выполнялся пока текущий символ не входит в заданный диапазон
Исправление rtxtxtrx, :
Я не знаю какие там сейчас языки для псевдокода, думаю питон понятен и такой парсер можно реализовать на любом языке, где есть классы и генераторы. parse
можно обозвать как next_token, либо выделить из парсера лексер/токенайзер, токены в дерево можно превратить с помощью рекурсивного спуска либо сразу транспилировать в хтмл какой. Не знаю в чем замысел глубинный. Но на высокоуровневых языках на токены можно и с помощью регулярок разбить - так еще проще (и побыстрее). Нужны сущности: Token, TokenType (Enum), Tokenizer (просто разбивает на токены) и Parser/Compiler (проверяет токены и что-то на выходе выдает). Довольно тривиальная задача. Не знаю что там годами обдумывать
Исходная версия rtxtxtrx, :
Я не знаю какие там сейчас языки для псевдокода, думаю питон понятен и такой парсер можно реализовать на любом языке, где есть классы и генераторы. parse
можно обозвать как next_token, либо выделить из парсера лексер/токенайзер, токены в дерево можно превратить с помощью рекурсивного спуска либо сразу транспилировать в хтмл какой. Не знаю в чем замысел глубинный