WikiLuc

Guest connection: login: Guest, password: anonymous

User Tools

Site Tools


dit:cours:compil

Cours de Compilation (PDS)

Travaux pratiques

Voir la page dédiée

Vous trouverez ici un canevas LaTeX pour le rapport

Travaux dirigés

Voir la page dédiée


Ressources

Exemples complets

Vous y trouverez les éléments suivants pour chaque langage

  • Définition du type abstrait et pretty-printer associé
  • Analyseur lexical: lexer.mll (pour ocamllex)
  • Analyseur syntaxique: parser.mly (pour ocamlyacc ou menhir)
  • Définition de l'évaluateur d'attributs attributes.ml si applicable
  • Harnais de test: test.ml
  • Makefile
  • README pour expliquer le fonctionnement

OPAM

Stream parser vs Yacc

Many applications, most notably compiler writing, require streams of characters to be converted into data structures such as trees. This conversion is known as parsing. As a language designed for compiler writing, OCaml provides tools to help with the parsing of character data.

OCaml provides two different forms of parsing:

  • Recursive-descent parsing using camlp4's syntax extension for stream parsing
  • Grammar-based parsing using ocamlyacc

[…] http://www.ffconsultancy.com/ocaml/benefits/parsing.html

Lex et Yacc/Menhir

L'utilisation de Menhir est recommandée pour toute la phase de mise au point de votre grammaire Yacc. Il fournit une description détaillée des ambigüités (conflits) de la grammaire.

Stream parsers

Grammars

dit/cours/compil.txt · Last modified: 2017/10/26 21:42 (external edit)