diff options
author | Samuel Mimram <samuel.mimram@ens-lyon.org> | 2004-07-28 21:54:47 +0000 |
---|---|---|
committer | Samuel Mimram <samuel.mimram@ens-lyon.org> | 2004-07-28 21:54:47 +0000 |
commit | 6b649aba925b6f7462da07599fe67ebb12a3460e (patch) | |
tree | 43656bcaa51164548f3fa14e5b10de5ef1088574 /ide/config_parser.mly |
Imported Upstream version 8.0pl1upstream/8.0pl1
Diffstat (limited to 'ide/config_parser.mly')
-rw-r--r-- | ide/config_parser.mly | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/ide/config_parser.mly b/ide/config_parser.mly new file mode 100644 index 00000000..48005efe --- /dev/null +++ b/ide/config_parser.mly @@ -0,0 +1,43 @@ +/***********************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *) +(* \VV/ **************************************************************) +(* // * This file is distributed under the terms of the *) +(* * GNU Lesser General Public License Version 2.1 *) +(***********************************************************************/ + +/* $Id: config_parser.mly,v 1.2.2.1 2004/07/16 19:30:20 herbelin Exp $ */ + +%{ + + open Parsing + open Util + +%} + +%token <string> IDENT STRING +%token EQUAL EOF + +%type <(string list) Util.Stringmap.t> prefs +%start prefs + +%% + +prefs: + pref_list EOF { $1 } +; + +pref_list: + pref_list pref { let (k,d) = $2 in Stringmap.add k d $1 } + | /* epsilon */ { Stringmap.empty } +; + +pref: + IDENT EQUAL string_list { ($1, List.rev $3) } +; + +string_list: + string_list STRING { $2 :: $1 } + | /* epsilon */ { [] } +; + |