~ubuntu-branches/ubuntu/vivid/menhir/vivid

« back to all changes in this revision

Viewing changes to settings.mli

  • Committer: Bazaar Package Importer
  • Author(s): Samuel Mimram
  • Date: 2006-07-11 12:26:18 UTC
  • Revision ID: james.westby@ubuntu.com-20060711122618-dea56bmjs3qlmsd8
Tags: upstream-20060615.dfsg
Import upstream version 20060615.dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(**************************************************************************)
 
2
(*                                                                        *)
 
3
(*  Menhir                                                                *)
 
4
(*                                                                        *)
 
5
(*  Fran�ois Pottier and Yann R�gis-Gianas, INRIA Rocquencourt            *)
 
6
(*                                                                        *)
 
7
(*  Copyright 2005 Institut National de Recherche en Informatique et      *)
 
8
(*  en Automatique. All rights reserved. This file is distributed         *)
 
9
(*  under the terms of the Q Public License version 1.0, with the         *)
 
10
(*  change described in file LICENSE.                                     *)
 
11
(*                                                                        *)
 
12
(**************************************************************************)
 
13
 
 
14
(* This module parses the command line. *)
 
15
 
 
16
(* The list of file names that appear on the command line. *)
 
17
 
 
18
val filenames: string list
 
19
 
 
20
(* How to deal with the type of tokens. *)
 
21
 
 
22
type token_type_mode =
 
23
  | TokenTypeAndCode   (* produce the definition of the [token] type and code for the parser *)
 
24
  | TokenTypeOnly      (* produce the type definition only *)
 
25
  | CodeOnly of string (* produce the code only, by relying on an external token type *)
 
26
 
 
27
val token_type_mode: token_type_mode
 
28
 
 
29
(* Whether Pager's algorithm should be used. *)
 
30
 
 
31
val pager: bool
 
32
 
 
33
(* Whether conflicts should be explained. *)
 
34
 
 
35
val explain: bool
 
36
 
 
37
(* Whether the automaton should be dumped. *)
 
38
 
 
39
val dump: bool
 
40
 
 
41
(* Whether the grammar's dependence graph should be dumped. *)
 
42
 
 
43
val graph: bool
 
44
 
 
45
(* Whether tracing instructions should be generated. *)
 
46
 
 
47
val trace: bool
 
48
 
 
49
(* Whether error recovery should be attempted. This consists
 
50
   in discarding tokens, after the [error] token has been
 
51
   shifted, until a token that can be accepted is found. *)
 
52
 
 
53
val recovery: bool
 
54
 
 
55
(* Whether one should stop after joining and expanding the
 
56
   grammar. *)
 
57
 
 
58
val preprocess_only: bool
 
59
 
 
60
(* Whether one should invoke ocamlc in order to infer types for all
 
61
   nonterminals. *)
 
62
 
 
63
val infer: bool
 
64
 
 
65
(* Whether one should inline the non terminal definitions marked
 
66
   with the %inline keyword. *)
 
67
 
 
68
val inline: bool
 
69
 
 
70
(* Whether and how one should invoke ocamldep in order to compute and
 
71
   display dependencies. *)
 
72
 
 
73
type ocamldep_mode =
 
74
  | OMNone        (* do not invoke ocamldep *)
 
75
  | OMRaw         (* invoke ocamldep and echo its raw output *)
 
76
  | OMPostprocess (* invoke ocamldep and postprocess its output *)
 
77
 
 
78
val depend: ocamldep_mode
 
79
 
 
80
(* Whether comments should be printed or discarded. *)
 
81
 
 
82
val comment: bool
 
83
 
 
84
(* This undocumented flag suppresses prefixing of identifiers with an
 
85
   unlikely prefix in the generated code. This increases the code's
 
86
   readability, but can cause identifiers in semantic actions to be
 
87
   captured. *)
 
88
 
 
89
val noprefix: bool
 
90
 
 
91
(* This undocumented flag causes the code to be transformed by
 
92
   [Inline]. It is on by default. *)
 
93
 
 
94
val code_inlining: bool
 
95
 
 
96
(* How [ocamlc] and [ocamldep] should be invoked. *)
 
97
 
 
98
val ocamlc: string
 
99
val ocamldep: string
 
100
 
 
101
(* How verbose we should be. *)
 
102
 
 
103
val logG: int (* diagnostics on the grammar *)
 
104
val logA: int (* diagnostics on the automaton *)
 
105
val logC: int (* diagnostics on the generated code *)
 
106
 
 
107
(* Whether tasks should be timed. *)
 
108
 
 
109
val timings: bool
 
110
 
 
111
(* The base name that should be used for the files that we create.
 
112
   This name can contain a path. *)
 
113
 
 
114
val base: string
 
115
 
 
116
(* The filename of the standard library. *)
 
117
 
 
118
val stdlib_filename : string
 
119