2009-09-07 101 views

回答

8

我已經大致瞭解您如何使用它了,下面是一個簡要說明。

TinyPG是一個完整的編譯器編譯器的IDE,與Windows圖形用戶界面的正則表達式,EBNF和C#/ VB。下面簡單介紹一下發展中TinyPG自己的「編譯」的過程:

您使用Regular Expressions.

  • 你寫內TinyPG,基本上從輸入源代碼中提取令牌這些ReyExps定義終端。
  • RegExps本身在.NET中受支持,這意味着即使您生成的「編譯器」代碼也使用.NET的RegExps。

您可以在Extended BNF元語法中定義非終端和分析器規則。

  • 您在TinyPG中編寫EBNF來描述您選擇的語言。
  • 一些描述現代編程語言的免費BNF Grammers

您定義託管代碼編譯器。

  • 您可以在TinyPG中編寫C#/ VB代碼,將令牌轉換爲您選擇的輸出。
  • 每個BNF語法規則只有一個C#/ VB代碼塊。
  • TinyPG可以使用命令行編譯器編譯並運行「tokenizer + parser + complier」。

TinyPG生成新的 「編譯」 的C#代碼。

  • 使用您的RegEx和您的EBNF從輸入的源代碼生成parse-tree
  • 使用C#/ VB代碼將此分析樹轉換爲輸出。

您在C#或VB.NET中開發編譯器的前端。

  • 基本前端將調用生成的C#類與輸入文件,並顯示輸出。

首先,你可以打開TinyPG的提供的示例中的「簡單expression2.tpg」文件中看到一個計算器「編譯」的演示。

相關問題