問題タブ [xtext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parsing - Xtext を汎用プログラミング言語の解析に使用できますか?
私は現在、汎用のエージェントベースのプログラミング言語を開発しています (その構文は Java に多少影響を受けており、この言語でもオブジェクトを使用しています)。
プロジェクトの開始以来、私たちはANTLRまたはXtextを使用するという事実について疑問を抱いていました。その時点で、Xtext が ANTLR の機能のサブセットを実装していることがわかりました。そのため、言語に ANLTR を使用することにしましたが、言語に本格的な Eclipse エディターを無料で提供する可能性を失いました (Xtext が提供する優れた機能)。
しかし、私の知る限りでは、この夏、Xtext プロジェクトは大きな前進を遂げました。リンクから引用:
Xtext の制限事項は何ですか?
Sven: Xtext を使用すると、ほぼすべての種類のプログラミング言語または DSL を実装できます。例外が 1 つあります。それは、いわゆる「セマンティック述語」を使用する必要がある場合です。これはかなり複雑で、ここで説明する価値はないと思います。この概念を本当に必要とする言語はほとんどありません。ただし、顕著な例は C/C++ です。次のリリースでは、そのトピックについて検討したいと考えています。
そして、それはXtextのドキュメントでも強化されています:
Xtextとは何ですか?小さなテキストのドメイン固有言語 (DSL) を作成したい場合でも、本格的な汎用プログラミング言語を実装したい場合でも構いません。Xtext を使用すると、独自の言語を簡単に作成できます。また、既に既存の言語を持っていても適切なツール サポートが不足している場合、Xtext を使用して、最新の Java IDE で知られている編集エクスペリエンスを驚くほど短時間で提供する洗練された Eclipse ベースの開発環境を作成できます。Xtext を言語開発フレームワークと呼びます。
Xtext が過去の制限を取り除いたのなら、最もよく知られているプログラミング言語 (Java、C# など) の複雑な Xtext 文法をまだ見つけられないのはなぜですか?
ANTLR の Web サイトでは、そのような文法の例をたくさん見つけることができます。代わりに、Xtext に関係するものについては、ドキュメントで報告されているものだけを見つけることができました。では、Xtext は汎用プログラミング言語の実装に使用するにはまだ成熟していないのでしょうか? 私はこれについて少し心配しています...私はXtextで文法を書き直して、それがそれに適していないことを認識しませんでした.
editor - ANTLR 文法のエディター ジェネレーター?
新しい汎用プログラミング言語を作成するために ANTLR を使用していますが、非常に満足しています。
私の言語で書かれたプログラムの開発を容易にするための優れたツールを提供したいという事実のために、適切な Eclipse プラグインを介してその言語のエディターを実現することを考え始めています。
本格的なエディター (構文の強調表示、コード補完など) を使用できるツール/プロジェクトはありますか? Xtext ではこれを自動で実行できることは知っていますが、ANTLR はどうですか?
ANTLRメーリングリストへのこのメールを見ましたが、回答がありません
eclipse - XText: カスタム端末定義を使用
私は XText の初心者です。
XText を使用して文法を定義する場合、2 番目の文法を指定し、ここで述べられているように宣言されている定義を使用できます。
Xtext では、各文法には一意の名前があり、パブリック Java クラスと同様に、Java クラスパス内のファイルの場所を反映する必要があります。この場合、文法ファイルは /org/eclipse/xtext/example/Domainmodel.xtext にあるため、文法の名前は org.eclipse.xtext.example.Domainmodel です。そのステートメントの 2 番目の部分 (org.eclipse.xtext.common.Terminals を使用) は、この文法が指定された文法のルールを再利用してオーバーライドすることを示しています。org.eclipse.xtext.common.Terminals は、Xtext に同梱されているライブラリ文法であり、最も一般的な端末規則を事前定義します
XText プラグインを開発していますが、別のファイルで独自のターミナル シンボルを定義したいと考えています。出来ますか?どうやってやるの?
新しい Xtext ファイルを作成して org.eclipse.xtext.common.Terminals の後に追加し、鉱山だけを追加しようとしましたが、両方のソリューションがコンパイルされません。
ありがとう。
編集
同じプロジェクトで 2 つの xtext ファイルを使用すると、1 つは文法用、もう 1 つは文法の端末用で、mwe2 ファイルを起動するときに次の例外が発生します。
java.lang.IllegalStateException: 'classpath:/org/xvr/language/sh/ShaderDsl.xtext' の解析中に問題が発生しました:[XtextLinkingDiagnostic: null:1 文法 'org.xvr.language.sh.ShTerminal' への参照を解決できませんでした。 、XtextLinkingDiagnostic: null:9 は AbstractRule 'ID' への参照を解決できませんでした。 null:19 データ型 HIGH_PRECISION を作成できません (ErrorCode: NoSuchTypeAvailable)、TransformationDiagnostic: null:20 データ型 MEDIUM_PRECISION を作成できません (ErrorCode: NoSuchTypeAvailable)、TransformationDiagnostic: null:21 データ型 LOW_PRECISION を作成できません (ErrorCode: NoSuchTypeAvailable)]
2 つの xtext ファイルは次のとおりです。
文法
そして文法の端子
antlr - ANTLR文法をXText文法に変換する:構文述語を削除する方法
私はXtextとANTLRの両方に不慣れです。
ANTLR(.g)文法をXTEXT(.xtext)文法に翻訳する必要があります。ANTLR文法には、Xtextでサポートされていない構文述語があります。
これらの述語を削除/翻訳する方法はありますか?
ありがとう
編集
私が翻訳しようとしているANTLR文法はここにあります:
xtext - Xtext での文字列の解析
私は現在、社内で使用する社内言語用の Eclipse ベースのエディターを作成しようとしています。言語は、次の形式のステートメントのコレクションです。
...独自の行で。{arguments} の形式は、実行される {action} のタイプによって異なります。スクリプト フラグメントの例は次のようになります。
私の問題は、そのようなフラグメントを解析することです。コメントとタイムアウト ステートメントは機能していますが、バナー ステートメントをカバーするルールを作成できないようです。私の試みはすべて、Antlr の「トークン定義に到達できません」という警告、またはエディターが入力を照合できないという結果になりました。バナーステートメントに対して次のルールを試しました。
と
...これにより、antlr の警告が表示されます。私が思いついたハックは、先頭に「#」の代わりに「banner:」を付けて、SL_COMMENT と同じターミナルを簡単に作成することです。欠点は、構文の色付けが行われないことと、オートコンプリート リストに「バナー」が表示されないことです。
どんなアドバイスでも大歓迎です。
xtext - Xtext カスタム相互参照
私は、社内で使用する言語用の Xtext ベースの Eclipse プラグインに取り組んできました。この言語には、次の形式のステートメントが含まれる場合があります。
...そして最終的には、カスタム Location プロバイダーを提供して、ファイルパスで F3 を押すと、Eclipse の新しいエディターでファイルが開かれるようにしたいと考えています。私はまだこれを試す機会がありませんでしたが、次のアプローチで何か問題があると思いますか?
- IHyperlinkHelper をオーバーライドして、ファイルパス ルールを相互参照可能にする
- ILocationInFileProvider をオーバーライドして、ファイルパス ルールが Eclipse マジックを実行し、新しいエディターでファイルを開くようにします。
アドバイスをいただければ幸いです。
xtext - jar からの xtext 内の DSL 要素の相互参照
xtext で書かれた DSL があります。拡張子が dmodel だとしましょう。a.dmodel
2 つのファイルを含むプロジェクトを作成しb.model
ました。DSL に基づいており、それらのファイル内のさまざまな要素がエディターで相互参照できます。
たとえば、jarに移動a.dmodel
してそれを jar に追加し (場合によっては jar をプロジェクトに追加し)、b.dmodel の要素を相互参照できるようにしたいとします。どうすればそれを達成できますか?
eclipse - XText が提供しない ANTLR の機能は何ですか?
編集用の IDE だけでなく、DSL を作成するための非常に優れたツール Xtext に出くわしました。Web で検索を行ったところ、ANTLR のすべての機能が提供されていないと言っている人が見つかりました。パーサージェネレーターとして ANTLR を使用しています。
自分の言語用の完全なパーサーを作成するために ANTLR のどの機能が必要になるかさえわかりませんが、ANTLR はかなり長い間使用されており、おそらく Xtext よりも多くの機能をサポートしています。
Xtext文法で指定できないものの例を誰か教えてください。
syntax-highlighting - xtext: 基本的な「ウィザード」プロジェクトで最初のビルドでエラーが発生する
基本的な DSL パーサーとテキストの強調表示を作成するために (かなり重い) xtext を使用しています。
http://wiki.eclipse.org/Xtext/GettingStartedの入門チュートリアルに従っています
私が得ているコンソールの出力は次のとおりです。
0 [メイン] 情報 eclipse.emf.mwe.core.WorkflowRunner - ----------------------------------- -------------------------------------------------- - 0 [メイン] 情報 eclipse.emf.mwe.core.WorkflowRunner - EMF モデリング ワークフロー エンジン 0.7.2、ビルド v200908120417 0 [メイン] 情報 eclipse.emf.mwe.core.WorkflowRunner - (c) 2005-2009 openarchitectureware.orgおよび貢献者 0 [メイン] INFO eclipse.emf.mwe.core.WorkflowRunner - --------------------------------- -------------------------------------------------- --- 0 [メイン] INFO eclipse.emf.mwe.core.WorkflowRunner - 実行中のワークフロー: C:/Users/Richard/workspace/org.xtext.example.mydsl.generator/src/workflow/MyDslGenerator.mwe 0 [メイン] INFO eclipse.emf.mwe.core.WorkflowRunner - 297 [メイン] エラー eclipse.emf.mwe.core.WorkflowRunner - [エラー]: クラスが見つかりません: 'org.xtext.example.MyDslStandaloneSetup'(Element: bean register class='org.xtext.example.MyDslStandaloneSetup' in C:/Users/Richard/workspace/org.xtext.example.mydsl.generator/src/workflow/MyDslGenerator.mwe:11; による報告: -UNKNOWN-) 297 [main] ERROR eclipse.emf.mwe.core.WorkflowRunner - 構成エラーが原因でワークフローが中断されました。
この出力は、チュートリアルのステップ 4「DSL 生成」で得られます。
eclipse - Eclipse Heliosにzipファイル経由でxTextをインストールするにはどうすればよいですか
zip ファイルをダウンロードして、Eclipse Helios に xText をインストールしようとしています。残念ながら、ダウンロード後に eclipse にプラグインをインストールする方法についての説明が見つかりません。インストール方法を知っている人はいますか?