2012-04-29 4 views
0

약 1 주 전에 coursera.org에서 온라인 코스 "컴파일러"를 시작했습니다. 오늘 나는 시작을위한 몇 가지 코드가 있습니다.C 언어로 멋진 언어 용 컴파일러 제작에 관한 질문

몇 가지 질문에 대한 답을 얻을 수 있도록 도와 주셨으면합니다.

%{ /* some code */ %}는 =>이 무엇인지, 나는 항상 %가 => 나는 코드의 [0-9]+ 부분을 이해할 수 있지만 내가 [\t]+ 여기에서 무엇을하고 있는지 이해 해달라고 모듈 운영자

[ \t]+
[0-9]+ { return(NUM); } 것을 thinked. C++

%{ %}

답변

3

이 렉스처럼 보이는되지는 출력 소스에 그대로 복사됩니다 C/C++ 코드를 지정합니다.

[ \t]+은 모든 공백과 탭을 무시합니다 (\t은 탭입니다).

+0

대단히 감사합니다. 당신이 렉스가 더 정확하다는 것은 맞습니다. – depecheSoul

0

첫째, 컴파일러가 작성되는 언어의 세부 사항이 제공되면 좋았을 것입니다.

제공되는 모든 정보 중에서 가장 좋은 추측은 별도의 코드 블록을 식별하기 위해 들여 쓰기를 사용하는 파이썬과 유사한 탭을 식별하기위한 것입니다.