gpt4 book ai didi

regex - 通过 emacs Lisp 的顶级 S 表达式分段 Lisp 源代码?

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:33 25 4
gpt4 key购买 nike

我想将 Lisp 源代码分割成代码段列表。每个段要么是顶级 S 表达式,要么是这些 S 表达式之间的任何文本。

最初我认为我可以使用正则表达式模式来匹配顶层 S 表达式,但我发现仅在顶层处理匹配括号并不简单。

(我觉得有可能通过以下示例计算出匹配顶级 S-exp 的正则表达式) Using regular expressions to extract functions and function headers from source code

接下来,我想我可以扫描文本以观察第一个左括号“(”和最后一个右括号“)”,并相应地进行分割。

在我这样做之前,我觉得考虑到 S-expression 在 emacs Lisp 中无处不在的性质,应该已经存在满足我的要求的解决方案。

所以我问你是否可以教我任何解决方案?

谢谢,

最佳答案

正则表达式对于这项工作来说绝对是错误的。您不能将任意嵌套的平衡形式与正则表达式相匹配,所以忘记这个想法吧。

使用 elisp 移动 s-expression 就像 (forward-sexp) 一样简单

不过,我实际上并不了解您要实现的目标。您能否更新问题并提供更多详细信息?

编辑:鉴于您已经接受了这个答案,我将向您指出这些以供进一步阅读:

  • C-hig (elisp) 解析表达式 RET
  • C-hig (elisp) 列表 Action RET

关于regex - 通过 emacs Lisp 的顶级 S 表达式分段 Lisp 源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495145/

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