私は次の機能を備えた言語を探しています:
- SWIG互換、または同様のもの。C ++との互換性は簡単なはずです:
C、C ++、AllegroCL、C#-Mono、C#-MS .NET、CFFI、CHICKEN、CLISP、D、Go、Guile、Java、Lua、MzScheme / Racket、Ocaml、Octave、Perl、PHP、Python、R、Ruby、 Tcl / Tk
- 静的に型付けされたもの:LuaのようにmyObject.CompletelyNewFieldWithUnknownSideEffects = GuessWhat()はありません。phpのようなisinstance()はありません。PythonのようなnewVariableOfUnknownType=foo()はありません。強く型付けすることもできます(「Hello」+0ではなく「Hello」+「0」):
C、C ++、C#、D、Go、Java、Ocaml、PHP、Ruby?他の ?
- 実行時にコンパイルできます(そしてexec( "gcc plugin.cpp")!はカウントされません!)任意のasm/中間言語にコンパイルできます。
C:libCLang、Ch; C ++:Ch; スクリプト言語; 他の ?
- (オフラインまたは実行時に)x86 .dll/.soまたは.cppにコンパイルできます
C:gcc、libClangなど。C ++; C#; D; Python; 行け; OCaml; Lua:LuaJIT; ルビー:ばかげている
- できればデバッガーで:)
TL; DR
静的に型付けされた、パフォーマンス用にコンパイルできる埋め込み可能なスクリプト言語が欲しいのですが。
アイデア?コメント?どんな種類の入力?ありがとう !
これまでの有効な提案を編集してください:
- Java:http ://download.oracle.com/javase/6/docs/api/java/lang/Compiler.html
- C#:http ://support.microsoft.com/kb/304655/en-us
- C ++、Chによって解釈され、通常のコンパイラでコンパイルされ、GCC/VCと互換性があることを願っています
- ラケット: http: //pre.racket-lang.org/docs/html/inside/overview.html#%28part._embedding%29
ですから、私が当初思っていたよりもはるかに多くの希望があります:)ありがとうございました!私は調査を続け、このテーマについてもっと経験があれば答えを受け入れます。