From 2d5fa03e8da053da45a2c35d31f00aabb44fa55e Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Tue, 13 Jul 2010 21:24:26 +1000 Subject: New files for new lexer implementation. --- lexlib/LexerNoExceptions.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lexlib/LexerNoExceptions.h (limited to 'lexlib/LexerNoExceptions.h') diff --git a/lexlib/LexerNoExceptions.h b/lexlib/LexerNoExceptions.h new file mode 100644 index 000000000..caac61a83 --- /dev/null +++ b/lexlib/LexerNoExceptions.h @@ -0,0 +1,32 @@ +// Scintilla source code edit control +/** @file LexerNoExceptions.h + ** A simple lexer with no state. + **/ +// Copyright 1998-2010 by Neil Hodgson +// The License.txt file describes the conditions under which this software may be distributed. + +#ifndef LexerNoExceptions_H +#define LexerNoExceptions_H + +#ifdef SCI_NAMESPACE +namespace Scintilla { +#endif + +// A simple lexer with no state +class LexerNoExceptions : public LexerBase { +public: + // TODO Also need to prevent exceptions in constructor and destructor + int SCI_METHOD PropertySet(const char *key, const char *val); + int SCI_METHOD WordListSet(int n, const char *wl); + void SCI_METHOD Lex(unsigned int startPos, int lengthDoc, int initStyle, IDocument *pAccess); + void SCI_METHOD Fold(unsigned int startPos, int lengthDoc, int initStyle, IDocument *); + + virtual void Lexer(unsigned int startPos, int length, int initStyle, IDocument *pAccess, Accessor &styler) = 0; + virtual void Folder(unsigned int startPos, int length, int initStyle, IDocument *pAccess, Accessor &styler) = 0; +}; + +#ifdef SCI_NAMESPACE +} +#endif + +#endif -- cgit v1.2.3