MinGW の cpp を使う Edit

  1. MinGW をインストール or MinGW - Download から gcc-core-*.tar.gz を拾ってきて cpp.exe と cc1.exe を path の通った場所に置いておく
  2. おもむろにコンパイル
    > cpp -P -nostdinc hoge.aya > hoge.paya
    > ayac hoge.paya
  3. Makefile
    all: hoge.exa
    
    .SUFFIXES: .aya .paya .exa
    .aya.paya:
    	cpp -P -nostdinc $< > $*.paya
    .paya.exa:
    	ayac $<

問題点 Edit

  • cpp が #import を処理してしまうので ayac が吐くエラーの行数がずれる
    • もともとずれてるという噂も
      • ayap 互換のプリプロセッサを作ればいいのか?
    • sed を通して ayap 互換っぽくしてみる
      • cpp -C -Wcomment -nostdinc hoge.aya | sed 's/^\# \([0-9]*\) "\(.*\)".*/\#line \1 "\2"/' > hoge.paya
        ayac hoge.paya
      • エラー行数もずれなくなって幸せかもしれない

綾織メモ