Задача
Вам дана функцияcompile(s: String): Integer
которая возвращает, 0
если s
можно было бы скомпилировать, и что-либо, кроме 0
того, что не удалось (результирующий код не важен).
Дело в том, что вы не знаете, для какого языка предназначена функция, так что вы должны выяснить это, предоставив функции небольшие фрагменты кода и наблюдая за тем, что она возвращает. Хорошая часть заключается в том, что команда ученых попробовала перед вами и сузила список до C, C ++, C #, Java и JavaScript (это единственные широко распространенные языки с похожим синтаксисом, который я мог придумать).
правила
- Применяются общие правила игры в гольф.
- Нет строгого формата вывода; пока это читабельно и понятно, все в порядке.
- Если вам не хватает этих 5 языков, вы можете добавить свои избранные, и вы будете вознаграждены дополнительными звездочками (★) (которые ничего не делают).
Примечание 1 : компилятор соответствует последним стандартам любого языка, для которого он предназначен.
Примечание 2 : я знаю, что JavaScript не компилируется , но идет через процесс синтаксического анализа; если это правильный код JavaScript, то он проходит
Ответы:
Общая длина фрагмента 8; тестовая программа 83 (С)
Различают JavaScript и C от C ++, Java и C #
Различают JavaScript от C
Различают C ++ от C # и Java
Различают C # и Java
С-код для определения языка
Отрывки проверены с
C: gcc 4.7.2 с -std = c99
C ++: g ++ 4.7.2 с -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)?
экономит место и много цитат.C(#x)
не получится.