Module Lxm
module Lxm: sig
.. end
-----------------------------
type
t
val str : t -> string
val line : t -> int
val cstart : t -> int
val cend : t -> int
-----------------------------
Interface avec lexer/parser
-----------------------------
Le lexer doit impérativement :
val make : Lexing.lexbuf -> t
- utiliser make pour rendre un lexeme au parser
val new_line : Lexing.lexbuf -> unit
- appeler new_line sur chaque \n pour permettre
la numérotation ligne/colonnes
-------------------------------
Interface avec le compilateur
-------------------------------
type 'a
srcflaged = {
}
Atache une info source à n'importe quoi
val flagit : 'a -> t -> 'a srcflaged
val dummy : t
Un lexeme bibon au cas où ...
val last_made : unit -> t
Renvoie le dernier lexème créé (et traité),
Utile pour situer les erreurs de syntaxe
Affichage standard pour erreur/warning
val details : t -> string
style : 'machin' (line:10, col:3 to 7)
val position : t -> string
style : line:10, col:3 to 7