プログラム言語Swiftを勉強していたら#ifが使えるらしいことが書いてありました。
これは、SwiftでもC++でもコンパイルできるソースコードが書けるのではないかと思い、早速両方のコンパイラでコンパイルできるHello Worldを書いてみました。
Swiftは#ifの中も全て構文解析するので#ifでくくるだけでは両方でコンパイルすることはできません。
従ってSwiftはコメントがネスとできるという機能も使ってC++特有の部分を記述しています。
両方の文法を満たすのって結構難しいです。
想像していた以上に読みづらく、もう全く実用にならないです。
-------------------
#if SWIFT
/*/**/
#endif
#include <stdio.h>
#if SWIFT
/**/*/
#endif
#if SWIFT
/*/**/
#endif
static void println(const char* a){
printf("%s\n",a);
}
#if SWIFT
/**/*/
#endif
#if SWIFT
/*/**/
#endif
int main(){
#if SWIFT
/**/*/
#endif
println("Hello, World!");
#if SWIFT
/*/**/
#endif
}
#if SWIFT
/**/*/
#endif
0 件のコメント:
コメントを投稿