Je recherche un algorithme pour générer le langage fini complet à partir d'une grammaire non récurrente sans contexte. L'application est la génération d'un ensemble de scénarios possibles pour l'automatisation des tests.Algorithme pour générer un langage fini à partir d'une grammaire non contextuelle non récursive
Exemple grammaire EBNF (S est la règle de départ):
S = Sender, Receiver;
Sender = Human | Machine;
Human = "user-type-1" | "user-type-2"
Machine = Access, Protocol;
Access = "internal" | "external";
Protocol = "soap" | "smtp";
Receiver = "local" | "remote";
devrait produire un ensemble de phrases telles que:
user-type-1 local
internal soap local
external smtp remote
Exemples et la littérature que j'ai trouvé jusqu'à présent refered à la génération aléatoire d'exemples basés sur des grammaires récursives. Mais mon problème est plus simple. Tous les conseils, noms ou liens vers les publications sont les bienvenus.
Merci,
S.
Vous voulez donc essentiellement un produit cartésien des ensembles sur le côté droit? https://en.wikipedia.org/wiki/Cartesian_product – IVlad
U peut générer toutes les phrases par une approche récursive simple. Qu'est-ce que vous avez tous essayé? –