ex)
BNF: 재귀
EBNF: + (1번 이상), * (0번 이상)
EBNF: '.' → optional (여러 자리의 수)
BNF to EBNF
1) recursion
A ::= aA | B ➡ A ::= {a}B
2) for common string
A ::= aB | a ➡ A ::= a[B]
EBNF to BNF
1) options: []
A ::= a[B]C ➡ A :: aNC, N ::= B | ɛ
2) repetition: {}
A ::= a {B1 B2 ... Bn} C ➡ A ::= aNC, N ::= B1 B2 ... Bn N | ɛ