簡體   English   中英

通過emacs Lisp的頂級S表達式細分Lisp源代碼?

[英]Segment Lisp source code by top level S-expression by emacs Lisp?

我想將Lisp源代碼細分為一系列代碼段。 每個段都是頂級S表達式,或者是這些S表達式之間的任何文本。

最初,我認為我可以使用正則表達式模式來匹配頂級S-表達式,但是我發現僅將匹配的括號處理到頂級並不那么簡單。

(我認為有可能通過以下示例來制定出與頂級S-exp相匹配的正則表達式) 使用正則表達式從源代碼中提取函數和函數頭

接下來,我認為我可以掃描文本以觀察第一個左括號'('和最后一個右括號')',並進行相應的分割。

在我這樣做之前,我覺得鑒於emacs Lisp中S-expression的普遍性,應該已經有滿足我需求的解決方案。

所以我問您是否可以教我任何解決方案?

謝謝,

正則表達式對於這項工作絕對是錯誤的。 您無法將任意嵌套的平衡形式與正則表達式匹配,因此請不要理會這個想法。

使用elisp在s表達式上移動就像(forward-sexp)一樣簡單

不過,我實際上並不了解您要達到的目標。 您能否詳細說明問題?

編輯:看到您已經接受了此答案,我將為您指出這些內容以供進一步閱讀:

  • CH 1 (elisp) Parsing Expressions RET
  • I G (elisp) List Motion RET

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM