2014-05-15 3 views
0

언어는 다음 조건에서 정의되는 무한한 체인 집합입니다.일반 언어에 대한 일반 문법 작성

조건 : 예

1) The language chains may consist of symbols from the set {1,a,b}. 
2) The language chains always start from subchain '1a'. 
3) Every languange chain has to include at least one subchain 'aa'. 

:

공식 언어 정규식 같이 보인다
1aa, 1abaa, 1aaab, 1aab1a, ... etc. 

: 1A ((1 + b) * A) * (A (1 + b) a (1 + b + a) *

올바른 언어 문법은 무엇입니까?

여러 가지 생각을했지만 너무 복잡합니다. 이 해결책은 정확하지 않습니다.

G ({1,a,b}, {A,S}, P, S) 
P: 
S -> 1S|bS|aA 
A -> 1A|bA|1a 

답변

1

정규식은 사용자가 만드는 것보다 쉬워야합니다. 에 대해 무엇을 : 1A (1 + A + B) * 금주 모임 (1 + A + B) *이가, 정규 문법도 나쁘지 않네요 감안할 때

:

같은
S := 1R 
R := aT 
T := 1T 
T := bT 
T := aU 
U := 1T 
U := bT 
U := aV 
V := 1V 
V := aV 
V := bV 
V := 1 
V := a 
V := b 

뭔가 할한다고 만약 내가 어리석은 실수를 범하지 않는다면