OSDN Git Service

-パーサの構造を大変更中。
[simplecms/utakata.git] / parser.h
index e7d99d4..d4a70ba 100755 (executable)
--- a/parser.h
+++ b/parser.h
@@ -57,11 +57,10 @@ namespace utakata {
             virtual ~Parser() {}
 
             // 受け取ったlexerからの字句の取得を行い、解析を行なう。
-            // 成功した場合には、先頭から順番にdatumとして読み込んだObjectの
-            // vectorを返す。
+            // 成功した場合には、datum一つを表す状態を返す。
             // 致命的なエラーが発生した場合には例外を返す。
-            smart_ptr<interpreter::Object> parse(smart_ptr<reader::StreamReader>& strm,
-                                                 gc::GarbageCollector& gc);
+            smart_ptr<data::Object> parse(smart_ptr<reader::StreamReader>& strm,
+                                          gc::GarbageCollector& gc);
 
         private:
             smart_ptr<lexer::Lexer> lexer_;
@@ -91,12 +90,12 @@ namespace utakata {
         };
 
         // <list>に対応するものだけは、carとcdrでハンドラが分離している。
-        class ListCarHandler : public IParserHandler
+        class ListHandler : public IParserHandler
         {
             // PS_LIST_CARである間に対応するハンドラ
         public:
-            ListCarHandler() {}
-            virtual ~ListCarHandler() {}
+            ListHandler() {}
+            virtual ~ListHandler() {}
 
         private:
 
@@ -104,35 +103,7 @@ namespace utakata {
 
         };
 
-        
-        class ListCdrHandler : public IParserHandler
-        {
-            // PS_LIST_CDRである間に対応するハンドラ
-        public:
-            ListCdrHandler() {}
-            virtual ~ListCdrHandler() {}
-
-        private:
-
-            bool exec_(HandlerData& data);
-
-        };
-
-
-        class DotHandler : public IParserHandler
-        {
-            // PS_AFTER_DOTに対応するハンドラ
-        public:
-            DotHandler() {}
-            virtual ~DotHandler() {}
-
-        private:
-
-            bool exec_(HandlerData& data);
-
-        };
-
-        // <list>に対応するものだけは、carとcdrでハンドラが分離している。
+        // .後のdatumに対応するためのハンドラ
         class DotEndHandler : public IParserHandler
         {
             // PS_END_DOTに対応するハンドラ。