[英]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)
一樣簡單
不過,我實際上並不了解您要達到的目標。 您能否詳細說明問題?
編輯:看到您已經接受了此答案,我將為您指出這些內容以供進一步閱讀:
(elisp) Parsing Expressions
RET (elisp) List Motion
RET
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.