Java;実行時の通訳;戦略の追加のプラグイン
-
19-09-2019 - |
質問
私は始動し始め、最初の大型プロジェクト.ますのでプログラムと類似 Rosetta Stone.ますのでプログラムの学習日本語以外の言語Javaを用いています。私のプログラムIプランのユーザーで選択しダウンロード科目を学ぶ。まれることができるようにな英語コース以来、私はネイティブスピーカーです。しかし、たい人に話その他の言語で書くことができるコースご利用いただくためには、どこが不可欠で自分のプログラム。
いので、ユーザーをダウンロードできる科目の言語についでにハードコーディングのプログラムでの問題をもたらしていました。のコースに必要な解釈時に行います。もらいたいその他との連携の仕事(ieくりコース)ながらプレーする必要がありましやすいというメリットです。
池尾:そういうふうに考えてい道のりを行う上で最も難しい。
を行ってくは厳しい空のコース概要(ハードコーディング)、単純なxmlファイルの内容をテキストと音声を使用すること。の欠点があるが、そのことを極めて制限します。異なる言語が必要になってし,異なる部品です。
アドバイスの問題という方法で自由に処分でき、プロジェクト全体ますぞよろしくお願い申し上げます。リンクに関連する資源や情報のうぞよろしくお願い申し上げます。
"という思いを大切にしていお時間と努力が
ジョセフ-池
解決
私はどうなるのかは、最初にあなたの言語のコースを作成するのが最も簡単になり、ファイル形式を敷設されています。それは、XML、平文ことができたりあなた自身を思い付くいくつかの他の形式ます。
あなたが実際に質問と回答のようなものを指定することができるようになるでしょうので、あなたはおそらく、言語形式である程度の柔軟性が必要になります。 XMLは、理由はすべての余分なターミネーターの痛みですが、それは、メタデータの良い量を与えます。あなたはそのためのXMLを好きなら、あなたはYMLであなたの言語ファイルを定義することを検討し、それはあなたのXMLのデータを提供しますが、代わりに角括弧の空白視線誘導標を使用します。
あなたはおそらくも、あなたがまたはキーとしての英語の単語を必要としたくない場合がありますので、それがために作成の言語でファイルを定義したいです。あなたが任意の英語をしたくない場合は、XMLとYMLの両方を省略して、独自のファイル形式を思い付くする必要があります - おそらく、レイアウトおよび/または特殊記号は、フローと「機能性」を定義する。ここで、
。 あなたはファイル形式を定義したら、、あなたはそれがすでにファイルになりますので...あなたがすることはできませんハードコーディング何も心配する必要はありません。
あなたの定義ファイルもインスタンス化(リフレクション)と解析に使用/データを表示するには、どのようなクラスを示しています情報が含まれています。ここで、プラグインの機能は同様にいいだろうが...これがあります。そのようにして、あなただけの新しいjarファイルを提供することで、質問の新しいタイプを追加することができます。
これが混乱している場合は、私はあなたの顔を見て、あなたは私も右方向に行くよ私や場合に従っているかどうかを確認することはできませんので、申し訳ありませんが、これは一方通行のフォーラムでは困難です。あなたは私が右のトラックにだと(私は前にこのようなものを少しやった)の詳細をしたいと思うならコメントでフォローアップの質問(またはメールアドレス)を残すこと自由に感じ、私は喜んでいるだろうさらにあなたとそれを議論する。
他のヒント
単純に、あなたは、EclipseのRCP、またはNetBeansプラットフォームなどのシステム上のプログラムをベースにする必要があります。これらのシステムの両方が、すでに、まさにこの問題に対処し、両方のは、このタスクのために完全に適切です。彼らはただのIDEのためではないです。
それはあなたが単純にスイングを越えて、これらのプラットフォームのいずれかを学ぶ必要があるだろうとして、大きな第一歩です。
しかし、彼らは問題を解決し、その全体的な組織と技術が良く、とにかくあなたのプログラムを提供します。
だけではなく、これらのいずれかを学び、この車輪の再発明をしないでください。
また、こうすることを真剣に検討することをEclipseの電磁界のモデルの"言語"を定義す。EMFは厳し始めとができます:
- 高レベルのモデルできる入力-編集しています。
- 自動機構のための直列化さ"インスタンス"(科目)を形式をサポートしています。やすティンカーとの直列化する場合選択します。)
- 自動的に生成されたJavaクラスメモリー中の表現のう場合がございます。これらのApiを提供する同調のモデルでは、汎用的なものとなる電磁相当するJava反射...に基づく電磁界のモデル授業なJavaます。
- 自動生成ツリー編集のための"インスタンス".
- フックの実施のための独自の制約検証ルールはなんといっても有効な"コース"。
関連Eclipseプラグインを提供して
- マッピングでテキストに基づく言語生成のparsers/unparsers
- マッピングをグラフィカル言語例えば表記箱/矢/など
- 様々な進化し続機構
- 比較/differencing、モデルをモデル変換、制約OCLなど
に使用しました磁ルlargishプロジェクトの主なポイントがりたい"という気持ちが抑えく、再び訪問してもらえるようなはやすさのモデルの進化...どに比べても低レベルの抽象化のう場合のモデル(言語)のニーズに延長することが/を変更しますので、所要の変更を使用量のモデル-エディ再生のコードを拡張するカスタムコードが、正しいものに拡張っており、私もそれぞれについて、"これまでmodulo変換のインスタンス).