1
Q
編譯器瞭解
A
回答
0
我不知道自己學習的編譯器,但我已經看到他們的開發人員學習幷包含對典型錯誤模式及其可能更正的檢測。
例如鐺有:
- 錯誤恢復通過推斷你的意思(如果可能),它提示你,和繼續解析爲,如果這是你做了什麼
- 一些可能的錯誤警告
for ();
後面跟着一個縮進的語句,例如
此外,它包括一種善意的錯字校正,這真的很神奇。例如,該文件typo-correction.cpp在測試套件顯示:
struct BaseType { };
struct Derived : public BaseType { // expected-note\
{{base class 'BaseType' specified here}}
static int base_type; // expected-note {{'base_type' declared here}}
Derived() : basetype() {} // expected-error\
{{initializer 'basetype' does not name a non-static\
data member or base class; did you mean the base \
class 'BaseType'?}}
};
即使base_type
更接近(距離上)它不是一個基類,也沒有一個屬性,因此不考慮。
問題是,你最有可能犯同樣的錯誤,因此整個社區都能夠了解自己並磨礪自己的工具。不管怎樣,不是一個編譯器自己學習的情況,但你有時會懷疑它是否有感知力!
相關問題
- 1. 瞭解Java編譯器
- 2. 瞭解RCpp編譯
- 3. 瞭解C++編譯
- 4. 瞭解編譯器的必備條件?
- 5. 瞭解編譯器錯誤消息
- 6. 瞭解Closure編譯器警告
- 7. 瞭解{$ WARN XXXX OFF}編譯器指令
- 8. 瞭解GWT編譯器輸出
- 9. 編譯器編譯也包含了嗎?
- 10. 編譯器誤解
- 11. Java編譯器/解釋器
- 12. 使用Python解釋器時,是否使用了編譯器?
- 13. python編譯器包解釋
- 14. QMetaObject編譯器解釋?
- 15. 編譯Charniak的解析器
- 16. 解決編譯器問題
- 17. 瞭解網站項目的ASP.NET編譯
- 18. 瞭解java編譯和繼承
- 19. 瞭解着色器編程
- 20. 瞭解SQL編輯器
- 21. 編譯器如何編譯編譯器?
- 22. 瞭解要傳遞給編譯器的標誌
- 23. 瞭解一個非常舊的編譯器程序
- 24. Java編譯器通過「(byte)+(char) - (int)+(long) - 1」解釋了什麼?
- 25. 瞭解Clojurescript與Google Closure編譯器之間的關係
- 26. 試圖瞭解Wirth的Pascal pl/0編譯器代碼
- 27. 瞭解編譯器 - 一個什麼都不做的語句?
- 28. 編譯器優化是否解決了線程安全問題?
- 29. 瞭解編譯器中遞歸閉包的建模
- 30. 瞭解C#編譯器如何處理鏈接linq方法
這是基於啓發式的?所以這不是編譯錯誤,而是「可能的錯誤」?你有參考嗎?謝謝。 –
我希望不是。一個學習編譯器很快就會知道我一直在犯愚蠢的錯誤,最終會停止編譯,以阻止我犯錯誤。 「贏得的唯一方法就是不玩。」 :) – aquinas
Linux Shell中的VIM具有顏色編碼。但是我也看到了Actionscript 3.0中的錯誤糾正,在那裏你有一個關於你真正意圖做什麼的選擇列表。我意識到,解決問題幾乎總有不止一種方法。這就是爲什麼我想要一個編譯器能夠學習我的特定編碼風格併爲我提供適當的選項,並提前看到我可能犯的一個錯誤。這會讓事情更加流暢和有趣! –