Je suis la conception d'une grammaire hors-contexte pour générer cette langue:grammaire hors-contexte et inversion
{ w in {a,b}* | w is of the form uvu^R, where u and v are any strings in {a,b}* }
Je définirais les deux premières chaînes comme:
U -> aU | bU | _
V -> aV | bV | _
Et puis combiner les :
S -> UV
Mais comment exprimer l'inversion comme une grammaire sans contexte?
Excusez ma petite connaissance dans ce sujet pour le moment. En lisant à ce sujet, je suis tombé sur une solution identique à celle que vous avez postée mais que je ne comprends pas très bien. Est-ce que "ababa" serait par exemple divisé de sorte que u = "ab" v = "a" et u^R = "ba" avec juste une ligne de grammaire? – mjuopperi
@Gawwad: L'analyse, étant donné cette grammaire, pour "ababa" serait: '" aUa "->" a {bUb} a "->" a {b {a} b} a "'. –
En lisant la solution que vous avez postée avec plus de soin, j'ai été capable de le faire moi-même. J'ai travaillé avec des automates finis et regex toute la journée, donc la façon dont ces travaux semblaient vraiment étranges au début. Merci de votre aide! – mjuopperi