コンパイル私が得るサンプルRecognizing integers: the sentinel methodを(re2cのを使用して処理する):構文エラー「*」
re2c : error : line 16, column 9: syntax error
それは「*」文句ているように見えます。以下は、(ライン16上のコメントなしを除く)私の01_recognizing_integers.reファイルです:
#include <stdio.h>
static const char *lex(const char *YYCURSOR)
{
const char *YYMARKER;
/*!re2c
re2c:define:YYCTYPE = char;
re2c:yyfill:enable = 0;
end = "\x00";
bin = '0b' [01]+;
oct = "0" [0-7]*;
dec = [1-9][0-9]*;
hex = '0x' [0-9a-fA-F]+;
* { return "err"; } // line 16
bin end { return "bin"; }
oct end { return "oct"; }
dec end { return "dec"; }
hex end { return "hex"; }
*/
}
int main(int argc, char **argv)
{
for (int i = 1; i < argc; ++i) {
printf ("%s: %s\n", lex(argv[i]), argv[i]);
}
return 0;
}
私はアスタリスクでその行を削除した場合、エラーがない、出力が生成され、コンパイラはそれとコンパイルプログラムは動作します(私はテストからエラーサンプルを削除しました)。サンプルは間違っていますか?意図したとおりに動作させるにはどうすればよいですか?
はなぜダウン票を得たのですか?何が間違っているのか分からなければ、将来の問題を改善することはできません。 – user34660
エラーを送信するときは、詳細(プラットフォーム、プログラムのバージョン、プログラムの呼び出し方法、正確なエラーメッセージなど)を常に提供する必要があります。このように人々は助けてくれるでしょう。私がダウン投票したのは私ではなかったことに注意してください。 – skvadrik
ありがとう、@skvadrik。私はあなたがあなたではないと信じています。あなたの説明が助けになります。私が誰かのために投票していることが疑わしいと言いたい。私はそれが起こっているかどうかは確かではありません。 – user34660