truffleTruffleを使って実装した言語をGraalVMで動かす方法、なかなか難しい。まとめると、言語実装のクラスパスはtruffle.class.path.appendで追加して、言語利用側は普通のクラスパス、ということでした。いうことで、言語実装をlangに、起動プログラムをlauncherに置く感じにします。└Launcher.java言語実装はこんな感じに。指定した文字列にhelloを付け加えるだけの言語です。}}こんな感じでコンパイル。$GHにGraalVMのパスが設定されてるとします。truffle-api.jarとtruffle-dsl-processor.jarをクラスパスに追加する必要があります。通常のJDKでコンパイルする場合にはgraal-sdk.jarも必要になりますが、GraalVMには含まれているので不要です。TruffleSample.javaそうするとlanguageというファイルもできています。2019language1.characterMimeType.0=application/x-minilanguage1.className=TruffleSamplelanguage1.defaultMimeType=application/x-minilanguage1.id=minilanguage1.implementationName=language1.interactive=truelanguage1.internal=falselanguage1.name=Minimumlanguage1.version=inheritこのファイルはMETA-INF/truffleに入ってる必要があります。mavenでjarを作ると適切なフォルダに作成されるのですが、javacでコンパイルするとそうならないので、自力で移動します。META-INF/truffle起動用のプログラムはこんな感じ。}}org.graalvm.polyglotパッケージのあるgraal-sdk.jarはGraalVMに含まれてるので、クラスパスを追加する必要はありません。Launcher.javaそしたら上のフォルダに移動して実行。-Dtruffle.class.path.appendで言語のパス、-cpで起動プログラムのパスを指定しています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。