2 * Copyright 2001-2007 Adrian Thurston <thurston@cs.queensu.ca>
5 /* This file is part of Ragel.
7 * Ragel is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * Ragel is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Ragel; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
32 #define PROGNAME "ragel"
34 /* To what degree are machine minimized. */
50 extern MinimizeLevel minimizeLevel
;
51 extern MinimizeOpt minimizeOpt
;
52 extern const char *machineSpec
, *machineName
;
53 extern bool printStatistics
;
54 extern bool wantDupsRemoved
;
55 extern bool generateDot
;
57 /* Error reporting format. */
63 extern ErrorFormat errorFormat
;
64 extern int gblErrorCount
;
65 extern char mainMachine
[];
67 /* Location in an input file. */
75 InputLoc
makeInputLoc( const char *fileName
, int line
= 0, int col
= 0 );
76 std::ostream
&operator<<( std::ostream
&out
, const InputLoc
&loc
);
78 /* Error reporting. */
79 std::ostream
&error();
80 std::ostream
&error( const InputLoc
&loc
);
81 std::ostream
&warning( const InputLoc
&loc
);
85 void terminateAllParsers( );
86 void writeMachines( std::ostream
&out
, std::string hostData
,
87 const char *inputFileName
, XmlParser
&xmlParser
);
88 void xmlEscapeHost( std::ostream
&out
, char *data
, long len
);
90 typedef Vector
<const char *> ArgsVector
;
91 extern ArgsVector includePaths
;