From 6bc9727d3ac615090bf5086cae43d225d3fb552f Mon Sep 17 00:00:00 2001 From: Adrian Thurston Date: Wed, 1 Aug 2012 13:18:02 +0000 Subject: revert "moved 'colm' dir to 'src'" Colm includes a library component with headers installed to a private dir inside include: $prefix/include/colm. We need our headers to reference each other using this colm prefix. This needs to be true for compiling our source and also for compiling external programs. It is conventient to have all the source in a directory called colm and then to use -I when building colm. We use $prefix/include when building external programs. This reverts commit 247904a84430b8c9151fa6afb68f01b60afb92c9. --- src/lmscan.h | 118 ----------------------------------------------------------- 1 file changed, 118 deletions(-) delete mode 100644 src/lmscan.h (limited to 'src/lmscan.h') diff --git a/src/lmscan.h b/src/lmscan.h deleted file mode 100644 index 5badaed5..00000000 --- a/src/lmscan.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright 2007-2012 Adrian Thurston - */ - -/* 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 _RLSCAN_H -#define _RLSCAN_H - -#include -#include -#include - -#include "global.h" -#include "lmparse.h" -#include "parsedata.h" -#include "avltree.h" -#include "vector.h" -#include "buffer.h" - -using std::ifstream; -using std::istream; -using std::ostream; -using std::cout; -using std::cerr; -using std::endl; - -extern char *Parser_lelNames[]; - -/* This is used for tracking the current stack of include file/machine pairs. It is - * is used to detect and recursive include structure. */ -struct IncludeStackItem -{ - IncludeStackItem( const char *fileName ) - : fileName(fileName) {} - - const char *fileName; -}; - -typedef Vector IncludeStack; -typedef Vector ArgsVector; - -extern ArgsVector includePaths; - -struct ColmScanner -{ - ColmScanner( const char *fileName, istream &input, - ostream &output, ColmParser *parser, int includeDepth ) - : - fileName(fileName), input(input), output(output), - includeDepth(includeDepth), - line(1), column(1), lastnl(0), - parser(parser), - parserExistsError(false), - whitespaceOn(true) - { - } - - ifstream *tryOpenInclude( char **pathChecks, long &found ); - char **makeIncludePathChecks( const char *thisFileName, const char *fileName ); - bool recursiveInclude( const char *inclFileName ); - - void sectionParseInit(); - void token( int type, char *start, char *end ); - void token( int type, char c ); - void token( int type ); - void updateCol(); - void endSection(); - void scan(); - void eof(); - ostream &scan_error(); - - const char *fileName; - istream &input; - ostream &output; - int includeDepth; - - int cs; - int line; - char *word, *lit; - int word_len, lit_len; - InputLoc sectionLoc; - char *ts, *te; - int column; - char *lastnl; - - /* Set by machine statements, these persist from section to section - * allowing for unnamed sections. */ - ColmParser *parser; - IncludeStack includeStack; - - /* This is set if ragel has already emitted an error stating that - * no section name has been seen and thus no parser exists. */ - bool parserExistsError; - - /* This is for inline code. By default it is on. It goes off for - * statements and values in inline blocks which are parsed. */ - bool whitespaceOn; - - Buffer litBuf; -}; - -#endif /* _RLSCAN_H */ -- cgit v1.2.1