From 7d7095a8febed4543bef584d0bcef254552b62cc Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Wed, 27 Jun 2012 02:11:16 -0400 Subject: [PATCH] Expanded on Lexer combinator based class --- tests/test_experimental.cpp | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/tests/test_experimental.cpp b/tests/test_experimental.cpp index 9fd0c73..25d7b99 100644 --- a/tests/test_experimental.cpp +++ b/tests/test_experimental.cpp @@ -52,10 +52,42 @@ class CharBuffer : public IBuffer class Lexer { public: + Lexer() + { + } + + Lexer(Lexer& lxr) + { + } + + virtual ~Lexer() + { + } + + Lexer* clone() + { + return new Lexer(*this); + } + Token operator() (CharBuffer& input) { return Token(); } + + Lexer& operator= (const Lexer& rhs) + { + return *this; + } + + Lexer& operator+ (const Lexer& rhs) + { + return *this; + } + + Lexer& operator| (const Lexer& rhs) + { + return *this; + } }; class Parser @@ -77,6 +109,8 @@ namespace { file.open( "input.txt" ); CharBuffer input( file ); Lexer lexer; - lexer(input); + lexer = (Lexer() + Lexer()) + | (Lexer() + Lexer() + Lexer()); + lexer( input ); } } -- 2.54.0