2009-05-25 11 views
2

PC上でCygwinシェルを使用してYACCファイルをコンパイルしています。私は '未知の文字\ 15'を得ています。変わったことは、別のマシン上の同僚が同じシェルを使用して同じファイルをコンパイルできることです。警告やエラーは発生しません。シェルやコンパイラで設定する必要のあるフラグがありますか?私たちはnmakeとVisual Studioコンパイラを使用しています。私は必要に応じてより多くの情報を提供して喜んでされます。YACCコンパイルエラー

ありがとうございました!

+0

パーザを生成しているときや、パースしているときにパーズエラーが発生しているとは思えません...もっと多くの情報が必要です... – LB40

答えて

4

行末の設定を確認してください。あなたはおそらくCRLFを持っていて、YACCはLFだけを期待しています。 CRはASCII 13(8進数で15)です。

+0

ファイルにDOS-> UNIXを実行しました。出来た。ありがとう! –

0

オクタル15はキャリッジリターンです。あなたの同僚のマシンからファイルをテキストモードで転送しましたか?

2

cygwinをインストールすると、デフォルトのEOL(行の終わり)を伝統的なunix "\ n"または従来のdos "\ r \ n"にする必要があります。私の推測では、あなたとあなたの同僚はcygwinの設定が異なっているということです。おそらく、setup.exeを再度実行してdos EOLを選択したいと思うでしょう。

+0

また、DOS(Unix)以外の行末を選択する可能性もあります。苦情は約^ Mであるためです。 –

+0

私の期待は、yaccは多分、ソースでキャリッジリターンを不平を言うことなく受け入れるだろうということでした。もちろん、ソースを修正することは最も信頼できる方法です。 – hlovdal