Informations sur les programmes lex et yacc
Pour qu'un programme reçoive des entrées, de manière interactive ou dans un environnement de traitement par lots, vous devez fournir un autre programme ou une routine pour recevoir les entrées. Une entrée compliquée nécessite un code supplémentaire pour diviser l'entrée en morceaux qui signifient quelque chose pour le programme.
Vous pouvez utiliser les commandes lex et yacc pour développer ce type de programme d'entrée.
La commande lex génère un programme d'analyse lexicale qui analyse les entrées et les divise en unités lexicales, telles que des nombres, des lettres ou des opérateurs. Les jetons sont définis par des règles grammaticales configurées dans le fichier de spécifications lex . La commande yacc génère un programme d'analyse syntaxique qui analyse l'entrée à l'aide des jetons identifiés par l'analyseur lexical (générés par la commande lex et stockés dans le fichier de spécifications lex ) et effectue des actions spécifiées, telles que le marquage d'une syntaxe incorrecte. Ensemble, ces commandes génèrent un analyseur lexical et un programme d'analyse syntaxique pour l'interprétation de la gestion des entrées et des sorties.