오른쪽 선형 문법-∞ points
S->ε
S->1A
S->0S
S->9I
S->3C
S->5E
S->4D
S->2B
S->7G
S->6F
S->8H
F->3K
K->0F
A->2L
K->1G
A->5B
A->0J
B->7A
J->5A
G->6K
G->8S
H->9K
F->5S
K->2H
I->6E
I->5D
J->4S
D->8I
B->6S
K->9B
F->6A
G->9A
K->6L
K->4J
C->1E
L->8K
E->5C
B->4K
C->0D
J->2K
D->2C
A->9F
J->7C
C->6J
C->8L
E->0K
L->0C
B->9C
E->2S
L->6I
I->0L
J->0I
B->2I
I->3B
H->1C
I->7F
C->4H
F->1I
G->4I
I->0G
C->3G
F->8C
D->0A
E->3A
I->9H
A->7D
C->2F
H->7I
A->8E
F->9D
E->8F
A->6C
D->6G
G->0E
D->5F
E->9G
H->2D
D->7H
H->3E
I->2A
K->3I
C->9S
C->7K
E->4B
D->1B
L->1D
J->9E
I->1S
E->1L
J->8D
D->9J
L->2E
J->3L
B->5L
B->8B
L->7J
L->9L
G->1F
A->4A
K->5K
B->3J
H->6H
E->7E
J->1J
D->4E
G->2G
J->6B
D->3D
E->6D
H->4F
I->4C
C->5I
F->0H
H->5G
K->7S
G->3H
L->5H
H->8J
A->3S
H->0B
B->1H
G->7L
K->8A
F->2J
F->7B
L->4G
F->4L
A->1K
B->0G
G->5J
L->3F
그런 다음 '실행'을 선택한 방법에 따라 '예'또는 '아니오'가 출력됩니다.
진지한 입장이 아니라 단지 재미;)
편집 :
아마도 조금 설명해야합니다.
문법 정의하는 규칙 (제작)의 집합입니다 언어 . 언어는 문법 규칙에 맞는 알파벳으로 구성된 가능한 모든 문자열로 생각할 수 있습니다.
여기서 알파벳은 모든 십진수의 집합입니다. 문법 규칙은 모든 문자열이 13으로 나눌 수있는 십진 정수를 형성해야한다는 것입니다.
위의 문법을 사용하여 문자열이 언어에 속하는지 테스트 할 수 있습니다.
문법 규칙에는 재귀 적으로 대체되는 비단 자 기호뿐만 아니라 터미널 기호 (언어의 요소)가 포함됩니다.
예제로 무슨 일이 일어나고 있는지 설명하는 것이 더 쉽습니다.
예를 들어 테스트하는 문자열이 71955라고 가정 해 봅시다.
항상 시작 기호 (비 터미널)가 있으며 위의 문법의 경우 'S'입니다. 이 시점에서 우리는 문자열에서 어떤 문자도 읽지 않았습니다 :
current pattern symbol read
S ε
이제 문자열에서 '7'인 첫 번째 기호를 읽은 다음 문법에서 '->'의 왼쪽에 현재 패턴의 비 터미널이있는 규칙을 찾습니다. '->'의 오른쪽에 기호가 있습니다. 운 좋게도 하나 (S-> 7G)가 있으므로 현재 패턴의 비 터미널 기호를 새 규칙의 오른쪽으로 바꿉니다.
current pattern symbol read
7G 7
이제 패턴에 비 터미널 'G'가 있으며 다음으로 읽을 기호는 '1'이므로 문법에서 'G-> 1'로 시작하는 규칙을 찾습니다. (G-> 1F) 비 터미널을 새로운 규칙의 RHS로 대체합니다.
current pattern symbol read
71F 1
이 과정을 계속 반복하십시오.
다음 규칙 : F-> 9D
current pattern symbol read
719D 9
다음 규칙 : D-> 5F
current pattern symbol read
7195F 5
다음 규칙 : F-> 5S
current pattern symbol read
71955S 5
이 시점에서 우리는 더 이상 문자열에 기호가 없지만 거기에 다른 비 터미널 기호가 있습니다. 문법의 첫 번째 규칙에서 'S'를 빈 문자열 (ε)로 바꿀 수 있음을 알 수 있습니다. S-> ε
그렇게하면 현재 후두둑 : 71955ε이 71955에 해당합니다.
문자열의 모든 기호를 읽었으며 패턴에는 비 터미널 기호가 없습니다. 이는 문자열이 언어에 속하므로 71955는 실제로 13으로 나눌 수 있음을 의미합니다.
즉, 목표는 패턴 = 문자열을 갖는 것입니다. 터미널이 아닌 기호가 남아있는 경우 문자열의 모든 기호를 읽은 후에는 문자열이 언어에 속하지 않습니다. 마찬가지로, 문자열에 읽을 기호가 더 있지만 문법에 규칙이 없으면 문자열이 언어에 속하지 않습니다.