2011-07-07 8 views
0

私はちょうどeclipse xtextの文書を読んで、それが使用する言語は、Javaに似ていますが、いくつかの違いがあります。たとえばこのデモで使用する言語は何ですか?

http://www.eclipse.org/Xtext/documentation/2_0_0/040-first-code-generator.php

、そのようなコードスニペットがあります

def compile(Entity e) ''' 
    package «e.eContainer.fullyQualifiedName»; 

    public class «e.name» { 
    } 
''' 

言語とは何ですか?

+0

それは私にとって魅力的なように見えます - 関数宣言と複数行の文字列です。 –

答えて

3

あなたが参照している言語は、Xtend2と呼ばれ、コード生成のために調整されているJavaのようなプログラミング言語です。これは、クロージャ、動的ディスパッチ、型推論、すでに見たリッチな文字列など、非常に便利な概念をいくつか備えています。 Xtend2コードは、saveを押すたびに人間が読めるJavaコードに変換されているため、JVMで実行できます。 Sven Efftinge blogged about Xtend2's core ideasしばらく前です。 tutorial on the Xtext website(質問に記載したページ)もあります。

また、Xtend2はほとんどのアイデアをXbase, a reusable foundation for programming languages built with Xtextと共有します。

0

コード生成のための何らかの表記のようです(もちろん、ページタイトルを読むことで推測できます)。そしてもう一つの "duhh!":彼らはパッケージXtext全体を呼び出すようです。しかし、私は文法、意味論などのために使用する2〜3言語の名前は見つけられませんでした。

0

いわゆるマージコードのあるScala +テンプレートのように見えます。

http://www.scala-lang.org/

+0

はscalaであってはならず、パラメータは 'e:Entity'ではなく' Entity e'です。 – Freewind

関連する問題