2015年2月9日月曜日

SwiftでもC++でもコンパイルできるようにHello Worldを書いてみた。

プログラム言語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 件のコメント:

コメントを投稿