package lutin

  1. Overview
  2. Docs

Annexe : gestion des erreurs/warning

------------------------------------------------------------------------ description :

Exceptions et formatage des messages d'erreur.

La compilation peut échouer sur des exceptions prédéfinies :

  • Sys_error of string : ----------------------- erreur système (liée aux fichiers)
  • Parse_error : --------------- dans le yacc
  • Compile_error of Lexeme.t * string : -------------------------------------- une erreur de compil qu'on peut "situer" dans le source grâce à un lexeme *
  • Global_error of string : -------------------------- une erreur qui n'est pas spécialement liée à un lexeme, (mais peut-être liée à un noeud -> void checkNode) *
  • Compile_node_error of CompileData.node_key * Lexeme.t * string : ------------------------------------------------------------------ une erreur de compil liée à un lexeme et à un noeud (en fait une instance de template) particulier * ** ***
  • Global_node_error of CompileData.node_key * string : ------------------------------------------------------------------ une erreur de compil non liée à un lexeme particulier, mais dependant levée lors de la compilation d'un noeud * ** ***

*** Pas défini ici (à cause des %@#&! problemes de compil séparée),

----------------------------------------------------------------------

----------------------------------------------------------------------

exception Compile_error of Lexeme.t * string
exception Global_error of string
exception Internal_error of string * string
val lexeme_details : Lexeme.t -> string
val lexeme_line_col : Lexeme.t -> string
val compile_error_string : Lexeme.t -> string -> string
val print_compile_error : Lexeme.t -> string -> unit
val warning : Lexeme.t option -> string -> unit
val print_global_error : string -> unit
val print_internal_error : string -> string -> unit