]> git.mdlowis.com Git - archive/parse-utils.git/commitdiff
Expanded on Lexer combinator based class
authorMichael D. Lowis <mike@mdlowis.com>
Wed, 27 Jun 2012 06:11:16 +0000 (02:11 -0400)
committerMichael D. Lowis <mike@mdlowis.com>
Wed, 27 Jun 2012 06:11:16 +0000 (02:11 -0400)
tests/test_experimental.cpp

index 9fd0c73466e151f704484d6db34224f373ff6056..25d7b9979976a9e7f356aafa9fbd45c3ae72006f 100644 (file)
@@ -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 );
     }
 }