Flexで小さな字句解析アプリケーションをコンパイルしようとしています。 lex.yy.cファイルが実際に生成されますが、Visual Studioのプロジェクトに追加すると というエラーが発生し、 で定義されている構造体と関数を認識できないと主張します。Flexコンパイル済みファイル(lex.yy.c)がヘッダ/依存関係を見つけられず、不思議にコンパイルされます
このヘッダーは、Flexに送信するファイルに#includeされています。
また、これらのエラーを解決しようとすると、最初にlex.yy.cを生成するために使用した Flex Scripts txtファイルにエラーの原因の一部が含まれているようです。 flexskel.ccのような私のプロジェクトとは関係がない
なぜ関連しないファイルをコンパイルしようとしていますか?私はここでのWindows 7およびVisual Studio 10
で働いている は、私は、Flexに送信ファイルの短いバージョンです:以下
%{
#include <stdio.h>
#include "TokenInterface.h"
int lineCounter = 0;
%}
DIGIT [0-9]
LETTER [a-zA-Z]
%%
"START_PROG"
{
storeTokenInList(yytext, lineCounter, START_PROG);
fprintf(yyout,"\nSTART_PROG: %s\n",mostRecentToken->lexema);
return;
}
"END_PROG"
{
storeTokenInList(yytext, lineCounter, END_PROG);
fprintf(yyout,"\nEND_PROG: %s\n",mostRecentToken->lexema);
return;
} %%
void main(int argc, char* argv[])
{
token* mostRecentToken;
createEmptyTokenList();
yyin = fopen("c:\\Flex\\input.txt","r");
yyout = fopen("c:\\Flex\\output.txt","w");
yylex();
mostRecentToken = backToken();
while (mostRecentToken->tokenType != EOF)
{
yylex();
mostRecentToken = backToken();
}
printf("Flex Out.\n");
}
オーケーあなたのフレックスプログラムは完全にオフになっています。私はそれが正しくコンパイルされるようにあなたのためのlexコードを修正するつもりです。 私はコーディングを手伝ってもらえますが、ファイルに書かれているように正確に投稿してください。ここでフォーマットするのが難しい場合はpastebin.comを使用して貼り付けてください。 –
また、TokenInterface.hコードも貼り付けられますか? –
エラーを投稿してください – INS