gpt4 book ai didi

lexer - 最简单的嵌套 block 解析器

转载 作者:行者123 更新时间:2023-12-02 00:11:40 25 4
gpt4 key购买 nike

我想为嵌套 block 语法编写一个简单 解析器,只是分层纯文本。例如:

Some regular text.
This is outputted as-is, foo{but THIS
is inside a foo block}.

bar{
Blocks can be multi-line
and baz{nested}
}

最简单的方法是什么?我已经编写了 2 个工作实现,但它们过于复杂。我尝试了全文正则表达式匹配和逐字符流式分析。

我必须向人们传授它的工作原理,所以简单是最重要的。我不想引入对 Lex/Yacc Flex/Bison(或 PEGjs/Jison,实际上,这是 javascript)的依赖。

最佳答案

好的选择可能归结如下:

  • 给定你的约束,这将是递归下降。即使没有限制,这也是一种很好的方式。
  • 您可以逐个字符地解析(传统)或编写使用本地字符串库扫描 {} 的词法层。无论哪种方式,您可能希望返回三个终端符号和 EOF:BLOCK_OF_TEXT、LEFT_BRACE 和 RIGHT_BRACE。

关于lexer - 最简单的嵌套 block 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com