Il y a tellement d'informations là-bas mais pas de ça aide vraiment un noob comme moi. J'ai lu beaucoup d'articles sur les langages sans contexte et l'automatisation du pushdown. Maintenant, j'essaie de comprendre comment certaines choses pourraient ressembler au code.À quoi ressemble la règle de production CFG dans le code?
laisse supposer que nous avons défini un langage tel que:
L = {am bn | m >= n}
nous donner les règles de production suivantes:
S -> B |^
B -> aBb | A
A -> aA | a
Comment exactement cela ressemble dans le code de pseudo? Je suppose que toutes les règles de production sont 1 état défini comme S1 ou sont tous des états séparés? De toute façon, je ne sais pas et ce serait génial si quelqu'un pouvait m'aider à comprendre comment cela fonctionne. Je sais que nous analysons les caractères d'une entrée et en fonction de quelle entrée nous recevons l'une des règles s'applique en poussant un symbole dans notre pile PDA.
Être spécifique. Les CFG décrivent les langues. Voulez-vous que votre code génère des arbres d'analyse? Voulez-vous que votre code reconnaisse les chaînes dans la langue? Ou les générer? Si les générer, lesquels? Vous n'avez pas le temps de les générer tous. – Patrick87
Vos règles de production génèrent uniquement des chaînes avec m> n, l'égalité est impossible. Comme le dit Patrick, si vous voulez un algorithme, vous devez spécifier pour quel problème exactement. –
@PeterLeupold ok Je vais mettre à jour ma question aujourd'hui. Tu as raison, il manque beaucoup d'infos et je vais éditer mon exemple. – Asperger