コンパイラを特定する


11

課題コンパイルできるかどうか、および失敗した場合以外の結果を返す
関数が提供さcompile(s: String): Integerれます(結果のコードは重要ではありません)。0s0

問題は、その関数がどの言語のために作られているのかわからないということです。そのため、関数に小さなコードスニペットを与え、それが返すものを観察することによって、それを理解するのはあなた次第です。良い点は、科学者のチームがあなたの前に試し、リストをC、C ++、C#、Java、JavaScriptに絞り込んだことです(これらは私が考えることができる同様の構文を持つ唯一の普及した言語です)。

ルール

  • 一般的なコードゴルフ規則が適用されます。
  • 厳密な出力形式はありません。読みやすく、理解できるものであれば問題ありません。
  • これらの5つの言語で十分でない場合は、自分のお気に入りを追加すると、追加の星(★)が与えられます(それは何もしません)。

1:コンパイラーは、設計対象の言語の最新標準に準拠しています。
2:私はJavaScriptがコンパイルされないことを知っていますが、いくつかの解析プロセスを通過します。有効なJavaScriptコードであれば、合格します


2
何を提供しますか?コンパイラに区別するために使用できる文字列のセットで、文字列の合計長を最小化しますか?
ジェフリーディ

@GeoffReedy言語を決定するためのコードだけを探していましたが、あなたが提供した説明は大歓迎です
-adrianton3

回答:


7

合計スニペット長8。テストプログラム83(C)

JavaScriptとCをC ++、Java、C#と区別する

a;

JavaScriptとCを区別する

0

C ++とC#およびJavaを区別する

#

C#とJavaを区別する

[:a]

言語を決定するCコード

#define C(x)compile(#x)?
main(){puts(C(a;)C(#)C([:a])"J":"C#":"C+":C(0)"C":"JS");}

でテストされたスニペット

C:gcc 4.7.2 with -std = c99
C ++:g ++ 4.7.2 with -std = c ++ 11
Java:javac 1.7.0_09
JavaScript:JavaScript-C 1.8.5
C#:Mono C#コンパイラバージョン2.10.8.0


#define C(x)compile(#x)?スペースと多くの引用符を節約します。
ウゴレン

@ugorenありがとう、私は実際に文字列化を試みたと思ったが、それは何らかの理由で機能しなかった。それが今で正常に動作します原因私は、あまりにも他のいくつかの問題を抱えている必要があります
ジェフ・リーディ

しかし、あなたはどういうわけかそれを混乱させた- C(#x)動作しません。
ウゴレン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.