Compilation

1734 mots 7 pages
Compilation Conception de grammaire
Jacques Farr´ e Jacques.Farre@unice.fr

Universit´ de Nice - Sophia Antipolis Licence 3 Informatique 2008-2009 e

1/14

Comment concevoir une grammaire ?
• un premier principe : ne pas essayer de mettre des aspects

contextuels dans une grammaire non contextuelle
• ces aspects seront trait´s par la passe de s´mantique statique e e

• un second principe : ˆtre g´n´ral est souvent plus simple que e e e

prendre les choses par le petit bout de la lorgnette
• y compris accepter syntaxiquement un langage plus large,

quitte ` restreindre dans la s´mantique statique a e • d´finir les constructions principales du langage : par exemple, e

pour un langage de programmation, d´clarations (de type, de e variable, de fonction), expressions, instructions, d´signations e de variable . . .

Universit´ de Nice - Sophia Antipolis Licence 3 Informatique 2008-2009 e

2/14

Quelques exemples
• ne pas essayer de mettre des aspects contextuels
• en C, int t[3*N + M] est autoris´ ` condition que N et M ea

soient des constantes, mais il est difficile de d´finir e syntaxiquement ce qu’est une expression constante ⇒ accepter syntaxiquement une expression et v´rifier plus tard que tous e ses op´randes repr´sentent des constantes e e • ˆtre g´n´ral est souvent plus simple e e e • d´claration de m´thode Java (extrait de la doc de Javacc) e e void MethodDeclaration() : {} { ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" )* ResultType() MethodDeclarator() [ "throws" NameList() ] ( Block() | ";" ) }

on accepte les r´p´titions (et mˆme des mots contradictoires e e e comme public et private) : plus facile que de pr´voir toutes e les combinaisons l´gales et on r`gle la question par un tableau e e de bits par exemple
Universit´ de Nice - Sophia Antipolis Licence 3 Informatique 2008-2009 e 3/14

Conception (partielle) d’une grammaire pour C le niveau global

• un programme C

en relation

  • Compilation
    664 mots | 3 pages
  • Compilation
    282 mots | 2 pages
  • compilation
    8238 mots | 33 pages
  • Cours de compilation
    2155 mots | 9 pages
  • Cour compilation
    315 mots | 2 pages
  • → compilations de Justinien
    1407 mots | 6 pages
  • la compilation Justinienne
    1314 mots | 6 pages
  • Les compilations justiniennes
    1374 mots | 6 pages
  • La compilation justinienne
    1258 mots | 6 pages
  • La compilation justinienne
    3580 mots | 15 pages