語法語言和s表達式語言之間的主要區別是什麼?使用s表達式會影響編譯時間(在解析過程中),還是會給語言帶來任何好處?語法和s表達式之間的區別是什麼
4
A
回答
1
在諸如Lisp或Scheme之類的語言中,使用S表達式來表示程序文本可能會減少解析器的工作量。 Lisp編譯器將花費更少的時間解析Lisp源代碼,而不是C++編譯器花費的時間來分析C++代碼(C++作爲解析最複雜的語言之一而享有聲譽)。
但是,除了一些例外(可能是C++?),解析不是編譯器中花費時間最多的部分。 Java,Python,C#,Delphi都有相當簡單的語法。
1
用S語言表達語言中的源代碼使解析起來很容易,但這不是重點。 Lisp的各種方言都有程序運行其他程序結構的機制,這就要求程序具有透明的規範表示。該表示是S表達式。它們是Lisp提供的東西,例如宏,編譯時運行在程序上的代碼,在不將語言編碼爲數據結構的語言中實際上是不可能的。
相關問題
- 1. [\ s \ S] *之間的區別是什麼?和。*?
- 2. 正則表達式中(。*)和(。*?)之間的區別是什麼?
- 3. 「。」之間的區別和 「$」 表達式
- 4. Symbian C++和規範C++之間的語法區別是什麼?
- 5. %s和%c格式說明符之間有什麼區別?
- 6. c的表達式和C++的表達式之間的區別
- 7. 爲什麼python會在表達式和語句之間做出區別?
- 8. ++和:haskell之間的區別是什麼?
- 9. $(())和expr之間的區別是什麼?
- 10. $(...)和`...`之間的區別是什麼
- 11. [undefined]和[,]之間的區別是什麼?
- 12. 結構和列表ADT之間的用法區別是什麼?
- 13. 正則表達式中方括號和括號之間的區別是什麼?
- 14. 是什麼的Joomla查詢語法之間的區別
- 15. LR語法和S屬性語法之間有什麼關係?
- 16. 測試表達式之間的區別
- 17. 什麼是兩個語句之間的區別... context.getImageData()。數據和
- 18. WHERE和HAVING之間的語義區別是什麼?
- 19. 這兩個正則表達式之間有什麼區別
- 20. char * s和char * s有什麼區別?
- 21. s ++和* s ++有什麼區別嗎?
- 22. Java中的表達式和語句有什麼區別?
- 23. 區別:%% a和%variable%變量之間的區別是什麼?
- 24. ruby和python之間的語法區別?
- 25. GOF和GRASP設計模式之間的區別是什麼
- 26. 特殊形式和宏之間的實際區別是什麼?
- 27. r +和w +模式之間的確切區別是什麼?
- 28. 布爾表達式的雙重和補充之間有什麼區別?
- 29. MVC和MVVM之間的區別和相似之處是什麼?
- 30. 模型和算法之間的確切區別是什麼?
您提到S表達式,它通常是一個Lisp相關術語。你在談論一種特定的編程語言嗎?也許Lisp或Scheme? – 2009-10-04 22:10:03
我正在討論在lisp中使用s表達式的原理,這是否會讓編譯器獲得更高的效率? – Ayoub 2009-10-04 22:19:26