2016-12-05 7 views
1

코드 블록에 대해 cfg를 작성하는 방법은 무엇입니까? 정규식에 cfg를 쓰는 방법을 알고 있지만 다음 입력을 위해 cfg를 써야하는 경우 (예 :표현식에 대한 문맥 자유 문법

int a = 0;

어떻게 만드시겠습니까?

+0

'코드 블록'의 의미에 따라 다릅니다. 예를 들어 CFG에서는 C++을 설명 할 수 없습니다. – Iluvatar

+0

@Iluvatar '코드 블록'으로, 나는 C++ 코드를 의미합니다 .. 감사 btw! –

답변

1

지금 C에 달라 붙음.

블록은 명령문 (줄, 본질적으로) 또는 중괄호, 변수 선언 목록, 명령문 또는 블록 목록 및 다른 중괄호로 구성됩니다.

허용되는 유일한 변수 유형이 int라고 가정하고, 전역 변수 또는 매개 변수가없고, 수식 (예 : a = 2 * b + c;)이 허용되는 유일한 문 유형 .

그런 다음 if 문을 문법에 추가하고 while 문을 루프에 추가하십시오. 마지막으로 매개 변수가있는 함수 호출.

다음은 본질적으로 C 유형 언어의 문법을 가지고 있으며, 나머지는 세부 사항입니다 (마지막으로 추가 할 때마다 얻을 수있는 C typedef에 대한 어색한 문제가 있습니다).