diff options
author | Adrian Thurston <thurston@complang.org> | 2013-06-08 09:38:26 -0400 |
---|---|---|
committer | Adrian Thurston <thurston@complang.org> | 2013-06-08 09:38:26 -0400 |
commit | cf47ae207efbf6727cc883c2a8309ff061060f3e (patch) | |
tree | 29e5209e9280b4d05c65b74a5ad94d413ea47cca /src/global.h | |
parent | 7002bb72bda6c59e247df51bcf93d39bc40ecb30 (diff) | |
download | colm-cf47ae207efbf6727cc883c2a8309ff061060f3e.tar.gz |
renamed colm dir to src
Renamed 'colm' dir to 'src'. To allow colm to work out of the installed
location or the source tree, while the installed includes reference
<colm/include.h>, a symlink to '..' is placed at src/include/colm.
Diffstat (limited to 'src/global.h')
-rw-r--r-- | src/global.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/global.h b/src/global.h new file mode 100644 index 00000000..2dd6e4f1 --- /dev/null +++ b/src/global.h @@ -0,0 +1,104 @@ +/* + * Copyright 2006-2012 Adrian Thurston <thurston@complang.org> + */ + +/* This file is part of Colm. + * + * Colm is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Colm is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Colm; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __COLM_GLOBAL_H +#define __COLM_GLOBAL_H + +#include <stdio.h> +#include <iostream> +#include <fstream> +#include <fstream> +#include <string> + +#include "config.h" +#include "defs.h" +#include "avltree.h" +#include "keyops.h" + +#define PROGNAME "colm" + +/* IO filenames and stream. */ +extern bool genGraphviz; +extern int gblErrorCount; + +std::ostream &error(); + +/* IO filenames and stream. */ +extern std::ostream *outStream; +extern bool generateGraphviz; +extern bool branchPointInfo; +extern bool verbose, logging; +extern bool addUniqueEmptyProductions; + +extern int gblErrorCount; +extern char startDefName[]; + +/* Error reporting. */ +std::ostream &error(); +std::ostream &error( int first_line, int first_column ); +std::ostream &warning( ); +std::ostream &warning( int first_line, int first_column ); + +extern std::ostream *outStream; +extern bool printStatistics; + +extern int gblErrorCount; +extern bool gblLibrary; +extern char machineMain[]; +extern const char *exportHeaderFn; + +struct colm_location; + +/* Location in an input file. */ +struct InputLoc +{ + InputLoc( colm_location *pcloc ); + + InputLoc() : fileName(0), line(-1), col(-1) {} + + InputLoc( const InputLoc &loc ) + { + fileName = loc.fileName; + line = loc.line; + col = loc.col; + } + + const char *fileName; + int line; + int col; +}; + +extern InputLoc internal; + +/* Error reporting. */ +std::ostream &error(); +std::ostream &error( const InputLoc &loc ); +std::ostream &warning( const InputLoc &loc ); + +void scan( char *fileName, std::istream &input, std::ostream &output ); +void terminateAllParsers( ); +void checkMachines( ); + +void xmlEscapeHost( std::ostream &out, char *data, int len ); +void openOutput(); +void escapeLiteralString( std::ostream &out, const char *data ); + +#endif |