2013-04-10 3 views
0

저는 lex 프로그램을 작성하고 있습니다. 이 문제의 목적은 나 또한 이름의 첫 글자는 대문자lex 프로그램에서 "정의되지 않은 정의"오류가 발생했습니다.

letterMin ([a-z]) 
letterMaj ([A-Z]) 
Letter ({letterMaj}({letterMin})*) 
Number ([0-9]) 
Chaine ({letter}@({Number})*) 
%% 
{Chaine} printf("enter your chaine"); 
.* printf("Lexical Error"); 
%% 
int yywrap(){return 1;} 
main() 
{ 
yylex(); 
} 

enter image description here

답변

2

는 기호 이름에 제공해야하는 문자열 Exemple 이름 @ PHONENUMBER를 입력한다는 것입니다, 경우에 중요하다. 당신은 다음과 같은 것을 원합니다 :

letterMin ([a-z]) 
letterMaj ([A-Z]) 
letter ({letterMaj}({letterMin})*) 
Number ([0-9]) 
Chaine ({letter}@({Number})*) 
+0

괜찮습니다. 그러나 내 코드와 코드의 차이점을 모르겠습니다! – YasBES

+1

당신은'Letter'를 대문자 L로 정의했으나, 작은 L이 붙은'letter'로 그것을 참조하려했습니다. –

+0

여러분의 도움에 감사드립니다. 나는 Flex와 Bison에서 프로젝트를하고 있기 때문에 아마 필요합니다. 지금 내가 문제가 생기면 바로 물어볼 것이다 :) – YasBES

관련 문제