2012-04-10 34 views
1

我打算構建Requirement Specification Language的編譯器。我想出了使用JFlex作爲詞法分析器和CUP作爲解析器的想法。正式要求的編譯器構造使用JFlex和CUP的規範語言

任何人都可以告訴我可以使用JFlex和CUP作爲正式規範語言嗎?所有文檔和教程僅與編程語言相關。

可用於構建正式語言編譯器的任何教程。

回答

1

Lexer和語法分析器不關心您的語言是否爲「常規計算機語言」,只是您的語言具有可處理的語法規範。

Ofteh你得到一個這樣的語法規範的方式是爲你的正式系統指定一個規範,並根據你選擇的解析器生成器的約束來彎曲它。這種彎曲過程最多是不方便的,最糟糕的是非常困難,這取決於解析器生成器的能力與您的正式語言規範之間的差距。

我建議你檢查一下你的「需求規範語言」形式語法,並根據它來決定你想要使用哪個語法分析器生成器,以儘量減少彎曲量。

+0

你可以請直接給我幾個最好的教程嗎?我有點困惑。那些用於構建編譯器的整個循環教程將對我非常有用。我只是想提示開始。 – man19688 2012-04-10 15:54:47

+0

對於這種類型的規範語言,你會提出哪種解析器?教程鏈接將非常有用。感謝你的幫助。 – man19688 2012-04-10 15:55:30

+1

您可以嘗試:「編譯器構建教程」,www.stack.nl/~marcov/compiler.pdf,「讓我們構建編譯器」,compilers.iecc.com/crenshaw/。我沒有這些經驗。你真的應該接受一些技術教育;參見Aho和Ullman的書「編譯器:原理,技術和工具」。不要期望這很容易。 – 2012-04-11 14:28:34