2013-01-16 31 views
1

我是Xtext的新手,想知道antlr在xtext中的用途是什麼。正如我迄今爲止所瞭解的,antlr基於語法生成解析器,然後解析器處理文本模型。對? 那麼像編輯器或ecore等其他生成的東西呢? xtext背後是否有其他組件生成它們?xtext中antlr的用途

回答

2

Xtext需要一個解析器生成器爲您定義的語言生成解析器。他們可以建立自己的一個。他們選擇使用ANTLR。

我不知道他們可能選擇使用哪些第三方機器。

0

我一直在黑客一個基於Xtext的插件,從我看到的我認爲它的工作原理是這樣的: Xtext有自己的BNF語法,這與ANTLR非常相似。其實它是它的子集。

Xtext需要你的語法,並從它生成ANTLR(.g文件)。生成的ANTLR語法爲您的BNF規則添加了特定的操作。動作代碼與Xtext運行時交互,並且(可能)與Eclipse本身交互。 .g文件使用一些舊版本的ANTLR進行處理,並生成.java文件。這個文件然後被編譯。