diff options
Diffstat (limited to 'debian/htdig/htdig-3.2.0b6/htsearch/BooleanLexer.cc')
-rw-r--r-- | debian/htdig/htdig-3.2.0b6/htsearch/BooleanLexer.cc | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/debian/htdig/htdig-3.2.0b6/htsearch/BooleanLexer.cc b/debian/htdig/htdig-3.2.0b6/htsearch/BooleanLexer.cc new file mode 100644 index 00000000..3c965d72 --- /dev/null +++ b/debian/htdig/htdig-3.2.0b6/htsearch/BooleanLexer.cc @@ -0,0 +1,76 @@ +// +// BooleanLexer.cc +// +// BooleanLexer: lexical analyzer for boolean query expressions. +// defines terminal symbols +// "word", and, or, not, near, (, ), / +// +// Part of the ht://Dig package <http://www.htdig.org/> +// Copyright (c) 1995-2004 The ht://Dig Group +// For copyright details, see the file COPYING in your distribution +// or the GNU Library General Public License (LGPL) version 2 or later +// <http://www.gnu.org/copyleft/lgpl.html> +// +// $Id: BooleanLexer.cc,v 1.4 2004/05/28 13:15:24 lha Exp $ +// + +#include "BooleanLexer.h" +bool +BooleanLexer::IsOr() const +{ + return current == String("or"); +} + +bool +BooleanLexer::IsAnd() const +{ + return current == String("and"); +} + +bool +BooleanLexer::IsNot() const +{ + return current == String("not"); +} + +bool +BooleanLexer::IsNear() const +{ + return current == String("near"); +} + +bool +BooleanLexer::IsSlash() const +{ + return current == String("/"); +} + +bool +BooleanLexer::IsLeftParen() const +{ + return current == String("("); +} + + +bool +BooleanLexer::IsRightParen() const +{ + return current == String(")"); +} + +bool +BooleanLexer::IsWord() const +{ + return !IsEnd() + && !IsQuote() + && !IsRightParen() + && !IsLeftParen() + && !IsSlash() + && !IsAnd() + && !IsOr() + && !IsAnd() + && !IsNot() + && !IsNear(); +} + + |