2017-11-02 19 views
0

나는이 EBNF를 BNF로 변환하려고 애를 쓰고 있습니다. 이미지를 사용하여 BNF diagramEBNF을 BNF로 변환

나는 EBNF로 변환하고 이것을 BNF로 변환하고 싶습니다. EBNF는 내가 가진 :

Number_constant ::= (| "-") digit+ ("." digit+ | ) 

나 고군분투하고 부분은 그림의 중간이다, 1-9 그렇게 키워드로 자리를 사용할 수 없습니다 나는이 자리가 정의했습니다. 내가 상기 제 1 부분으로 다이어그램을 무너 뜨의 생각 :

<min> ::= ' ' | "-" 

을 그리고 중간 부분 :

이 단순히 보일 것이다 결합
<dig> ::= <digit> | <digit> <dig> 

좋아 :

<number_constant> ::= <min> <dig> <last_part> 

그럼 난 마지막 부분이 확실하지 않습니다.

도움을 주시면 감사하겠습니다.

답변

0

해결 방법이 올바른 것 같습니다. 마지막 부분은 <last_part> ::= "." <dig> | ""으로 구현할 수 있습니다.