ingenieur

1645 mots 7 pages
Master M1 2013–2014

Projet de programmation

Mini-compilateur Java 1 première partie : analyse syntaxique à rendre avant le lundi 7 octobre 2013, 17h00 mise à jout le 30/09/2013 :
– attribution de la version originale du sujet mise à jour le 25/09/2013 :
– certains non-terminaux instr étaient marqués instruction
– la syntaxe du instanceof était éronnée
Le langage considéré dans ce projet est « Deca », un sous-ensemble de Java. Vos fichiers pourront être compilés aussi bien par votre compilateur que par le compilateur
Java standard.
Notation Dans la suite, les symboles « », « + » et « ? » indiquent la répétition du symbole les précédant (zéro fois ou plus pour « », zéro ou une fois pour « ? » et une fois ou plus pour « + »). Attention de ne pas confondre « » et « + » avec « * » et « + » qui sont des symboles du langage Java.

1

Analyse lexicale

Espaces, tabulations et retour-chariots constituent les blancs. Les commentaires peuvent prendre deux formes :
– débutant par /* et s’étendant jusqu’à */, et ne pouvant être imbriqués ;
– débutant par // et s’étendant jusqu’à la fin de la ligne (ou du fichier s’il s’agit de la dernière ligne).
Les identificateurs obéissent à l’expression régulière ident suivante : chiffre alpha ident ::= 0–9
::= a–z | A–Z
::= ( alpha | _) ( alpha

| _ |

chiffre )

Les identificateurs suivants sont des mots clés : boolean class else extends false for if instanceof int new null public return static this true void Les constantes entières obéissent à l’expression régulière entier suivante : entier ::=

chiffre +

1. Ce projet est largement inspiré d’un projet similaire donné par Jean-Christophe Filliâtre dans le cadre de son cours de compilation à l’École Normale Supérieure http://www.lri.fr/~filliatr

1

et ne peuvent représenter que des entiers signés sur 32 bits.
Les chaînes de caractères littérales sont des séquences de caractères dont le code ASCII est compris entre 32 (espace)

en relation

  • ingénieur apprenti
    905 mots | 4 pages
  • ingenieur
    8930 mots | 36 pages
  • Ingénieur
    391 mots | 2 pages
  • ingénieur
    855 mots | 4 pages
  • Ingénierie
    3892 mots | 16 pages
  • Ingénieur
    2826 mots | 12 pages
  • Ingeniere
    1118 mots | 5 pages
  • Ingenieur
    3754 mots | 16 pages
  • Ingenieur
    6893 mots | 28 pages
  • Ingénieur
    2875 mots | 12 pages
  • Ingénieur
    9415 mots | 38 pages
  • Ingénieur
    3531 mots | 15 pages
  • Ingenieur
    5633 mots | 23 pages
  • Ingénieur
    366 mots | 2 pages
  • Ingenieur
    51936 mots | 208 pages