2011-10-17 2 views
0

안녕하세요. 영어 C 선언을 C 스타일 변수 선언으로 변환하는 문법을 작성하려고합니다. 예 : "x는 **> INT * X [10] 숯 - 10 포인터 배열」 "X는 X 타입 형 구조체" <의 구조체에 대한 포인터 " 이"는 char 포인터에 대한 포인터 int로 x, struct type-struct * x.BNF 구문을 사용하여 c- 변수의 영어 설명을 BNF 구문을 사용하여 번역하십시오.

내 시도 : 이 문법은 재귀 하강 파서를 구축하는 좋은 경우

description ::= id declaration type 
declaration ::= declarator 
declarator ::= pointer|function|array 
pointer  ::= pointer-to {pointer-to} function|array 
array  ::= array-of-n {pointer-to} 
function ::= function-that-return {pointer-to} 
type  ::= int|char|short|float...|spec-struct 
spec-struct ::= struct type-struct 

내가 알고 싶은 "{0 이상의 항목이 있음을 의미한다}". 감사합니다. .

+1

특정 질문이 있으십니까? – Nate

+2

단순히'cdecl'을 부르지 않는 이유가 있을까요? 그렇다면 특정 문제는 무엇입니까? – Tim

+0

이 문법이 재귀 적 파생 구문 분석기를 작성하는 데 괜찮은지 알고 싶습니다. 감사 – kabal

답변

0

5 월이면 충분합니다. 그러나 문법은 LEXYACC tool의 도움으로 문제가 없는지 확인해 보시기 바랍니다.

관련 문제