LINUX.ORG.RU

История изменений

Исправление 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, либо выделить из парсера лексер/токенайзер, токены в дерево можно превратить с помощью рекурсивного спуска либо сразу транспилировать в хтмл какой. Не знаю в чем замысел глубинный