Oz CocoR Delphi
1.0.0
可可/R是一個編譯器生成器,它採用源語言的屬性語法,並為此語言生成掃描儀和解析器。該掃描儀是確定性的有限自動機。解析器使用遞歸下降。 LL(1)可以通過多符號LookAhead或語義檢查來解決衝突。因此,接受語法的類別是任意k的ll(k)。
很長一段時間以來,我一直使用Coco / R的渦輪Pascal版本。有時有必要更改代碼。如果來源更改,我將其重新編譯。但是經過一些Windows更新後,我發現Turbo Pascal去了一個更好的地方並停止跑步。總的來說,我認為許多人的語言來自尼克勞斯·埃米爾·維斯(Niklaus Emil Wirth)引起的不喜歡。
總的來說,我認為很少有這樣的人對編程和計算機科學語言的發展做出了可比的貢獻。
很容易找到解決問題的複雜且經常難以理解的解決方案。很難做出簡單,乾淨和可理解的解決方案。
當您看到這樣的決定時,很明顯,這是帶有大寫字母的大師的工作。首先,我從Turbo Pascal移植了代碼。但是我發現,近20年來,大量水在橋下流動,可可/R代碼也得到了很好的改進。
我發現的最後一個版本是C ++,C#,Java。然後,我決定移植代碼,然後選擇C#。在精神上,這是最接近德爾福的語言,這可能是由於他們有一位首席建築師。
您可以在Protobuf-Delphi項目中看到一個使用示例。
它應該為掃描儀使用相同的框架和不同語言的解析器。編譯器依靠掃描儀和解析器的相當固定的框架結構。不希望更改部分的順序,因為這可能會導致生成的代碼中的彙編錯誤。
Cocor.exe -namespace Taste -checkEOF -trace AG taste.atg.
生成模塊名稱時使用名稱空間。現在在掃描儀和解析器框架中使用。
MACROS
prefix = "cr" .