From 8e92ee787e7d1fd48cae1eccf67a9b05e739743e Mon Sep 17 00:00:00 2001 From: herbelin Date: Fri, 10 Aug 2001 14:42:22 +0000 Subject: Parsing - Typage renforcé dans les grammaires (distinction des vars et des metavars) - Disparition de SLAM au profit de ABSTRACT - Paths primitifs dans les quotations (syntaxe concrète à base de .) - Mise en place de identifier dès le type ast - Protection de identifier contre les effets de bord via un String.copy - Utilisation de module_ident (= identifier) dans les dir_path (au lieu de string) Table des noms qualifiés - Remplacement de la table de visibilité par une table qui ne cache plus les noms de modules et sections mais seulement les noms des constantes (e.g. Require A. ne cachera plus le contenu d'un éventuel module A déjà existant : seuls les noms de constructions de l'ancien A qui existent aussi dans le nouveau A seront cachés) - Renoncement à la possibilité d'accéder les formes non déchargées des constantes définies à l'intérieur de sections et simplification connexes (suppression de END-SECTION, une seule table de noms qui ne survit pas au discharge) - Utilisation de noms longs pour les modules, de noms qualifiés pour Require and co, tests de cohérence; pour être cohérent avec la non survie des tables de noms à la sortie des section, les require à l'intérieur d'une section eux aussi sont refaits à la fermeture de la section git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1889 85f007b7-540e-0410-9357-904b9bb8a0f7 --- parsing/printer.ml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'parsing/printer.ml') diff --git a/parsing/printer.ml b/parsing/printer.ml index 858c806672..52300882a2 100644 --- a/parsing/printer.ml +++ b/parsing/printer.ml @@ -48,14 +48,14 @@ let global_constr_name ((sp,tyi),i) = ^","^(string_of_int i)^")") >] let globpr gt = match gt with - | Nvar(_,s) -> [< 'sTR s >] + | Nvar(_,s) -> [< pr_id s >] | Node(_,"EVAR", [Num (_,ev)]) -> [< 'sTR ("?" ^ (string_of_int ev)) >] - | Node(_,"CONST",[Path(_,sl,s)]) -> - global_const_name (section_path sl s) - | Node(_,"MUTIND",[Path(_,sl,s); Num(_,tyi)]) -> - global_ind_name (section_path sl s, tyi) - | Node(_,"MUTCONSTRUCT",[Path(_,sl,s); Num(_,tyi); Num(_,i)]) -> - global_constr_name ((section_path sl s, tyi), i) + | Node(_,"CONST",[Path(_,sl)]) -> + global_const_name (section_path sl) + | Node(_,"MUTIND",[Path(_,sl); Num(_,tyi)]) -> + global_ind_name (section_path sl, tyi) + | Node(_,"MUTCONSTRUCT",[Path(_,sl); Num(_,tyi); Num(_,i)]) -> + global_constr_name ((section_path sl, tyi), i) | gt -> dfltpr gt let wrap_exception = function @@ -135,18 +135,18 @@ let rec gentacpr gt = Esyntax.genprint default_tacpr tactic_syntax_universe tactic_initial_prec gt and default_tacpr = function - | Nvar(_,s) -> [< 'sTR s >] + | Nvar(_,s) -> [< pr_id s >] (* constr's may occur inside tac expressions ! *) | Node(_,"EVAR", [Num (_,ev)]) -> [< 'sTR ("?" ^ (string_of_int ev)) >] - | Node(_,"CONST",[Path(_,sl,s)]) -> - let sp = section_path sl s in - pr_global (ConstRef (section_path sl s)) - | Node(_,"MUTIND",[Path(_,sl,s); Num(_,tyi)]) -> - let sp = section_path sl s in + | Node(_,"CONST",[Path(_,sl)]) -> + let sp = section_path sl in + pr_global (ConstRef sp) + | Node(_,"MUTIND",[Path(_,sl); Num(_,tyi)]) -> + let sp = section_path sl in pr_global (IndRef (sp,tyi)) - | Node(_,"MUTCONSTRUCT",[Path(_,sl,s); Num(_,tyi); Num(_,i)]) -> - let sp = section_path sl s in + | Node(_,"MUTCONSTRUCT",[Path(_,sl); Num(_,tyi); Num(_,i)]) -> + let sp = section_path sl in pr_global (ConstructRef ((sp,tyi),i)) (* This should be tactics *) -- cgit v1.2.3