Recovered from cvs revision 2007-09-05 07:02:00
This commit is contained in:
		| @ -1,5 +1,5 @@ | ||||
| /* | ||||
|  * $Id: Awk.hpp,v 1.49 2007/08/26 14:33:38 bacon Exp $ | ||||
|  * $Id: Awk.hpp,v 1.50 2007/09/04 08:01:46 bacon Exp $ | ||||
|  */ | ||||
|  | ||||
| #ifndef _ASE_AWK_AWK_HPP_ | ||||
| @ -11,7 +11,9 @@ | ||||
|  | ||||
| namespace ASE | ||||
| { | ||||
|  | ||||
| 	/**  | ||||
| 	 * the awk class | ||||
| 	 */ | ||||
| 	class Awk | ||||
| 	{ | ||||
| 	public: | ||||
| @ -30,13 +32,20 @@ namespace ASE | ||||
| 		typedef ase_awk_run_t run_t; | ||||
| 		typedef ase_awk_t awk_t; | ||||
|  | ||||
| 		/** | ||||
| 		 * The source class  | ||||
| 		 * @see openSource | ||||
| 		 */ | ||||
| 		class Source | ||||
| 		{ | ||||
| 		public: | ||||
| 			/** | ||||
| 			 * Indicates the mode of the source code I/O | ||||
| 			 */ | ||||
| 			enum Mode | ||||
| 			{	 | ||||
| 				READ, | ||||
| 				WRITE | ||||
| 				READ,   /**< readable I/O */ | ||||
| 				WRITE   /**< writable I/O */ | ||||
| 			}; | ||||
|  | ||||
| 			Source (Mode mode); | ||||
| @ -50,6 +59,9 @@ namespace ASE | ||||
| 			void* handle; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * Extio class  | ||||
| 		 */ | ||||
| 		class Extio | ||||
| 		{ | ||||
| 		protected: | ||||
| @ -64,6 +76,9 @@ namespace ASE | ||||
| 			extio_t* extio; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * Pipe | ||||
| 		 */ | ||||
| 		class Pipe: public Extio | ||||
| 		{ | ||||
| 		public: | ||||
| @ -82,6 +97,9 @@ namespace ASE | ||||
| 			Mode getMode () const; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * File | ||||
| 		 */ | ||||
| 		class File: public Extio | ||||
| 		{ | ||||
| 		public: | ||||
| @ -101,6 +119,9 @@ namespace ASE | ||||
| 			Mode getMode () const; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * Console | ||||
| 		 */ | ||||
| 		class Console: public Extio | ||||
| 		{ | ||||
| 		public: | ||||
| @ -124,6 +145,9 @@ namespace ASE | ||||
| 			char_t* filename; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * Argument | ||||
| 		 */ | ||||
| 		class Argument | ||||
| 		{ | ||||
| 		protected: | ||||
| @ -172,6 +196,9 @@ namespace ASE | ||||
| 			} str; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * Return | ||||
| 		 */ | ||||
| 		class Return | ||||
| 		{ | ||||
| 		protected: | ||||
| @ -205,6 +232,10 @@ namespace ASE | ||||
| 			} v; | ||||
| 		}; | ||||
|  | ||||
| 		/** | ||||
| 		 * ErrorCode | ||||
| 		 */ | ||||
|  | ||||
| 		// generated by generrcode.awk | ||||
| 		enum ErrorCode | ||||
| 		{ | ||||
| @ -337,6 +368,10 @@ namespace ASE | ||||
| 		}; | ||||
| 		// end of enum ErrorCode | ||||
|  | ||||
| 		/** | ||||
| 		 * Option | ||||
| 		 */ | ||||
|  | ||||
| 		// generated by genoptcode.awk | ||||
| 		enum Option | ||||
| 		{ | ||||
| @ -358,6 +393,9 @@ namespace ASE | ||||
| 		}; | ||||
| 		// end of enum Option | ||||
|  | ||||
| 		/** | ||||
| 		 * Run | ||||
| 		 */ | ||||
| 		class Run | ||||
| 		{ | ||||
| 		protected: | ||||
| @ -378,7 +416,6 @@ namespace ASE | ||||
| 			bool callbackFailed; | ||||
| 		}; | ||||
|  | ||||
| 	 | ||||
| 		Awk (); | ||||
| 		virtual ~Awk (); | ||||
| 		 | ||||
| @ -427,7 +464,14 @@ namespace ASE | ||||
| 		virtual int unsetWord (const char_t* ow, ase_size_t owl); | ||||
| 		virtual int unsetAllWords (); | ||||
|  | ||||
| 		/** | ||||
| 		 * parses the source code | ||||
| 		 */ | ||||
| 		virtual int parse (); | ||||
|  | ||||
| 		/** | ||||
| 		 * executes the parse tree | ||||
| 		 */ | ||||
| 		virtual int run (const char_t* main = ASE_NULL,  | ||||
| 		         const char_t** args = ASE_NULL, size_t nargs = 0); | ||||
|  | ||||
| @ -448,6 +492,9 @@ namespace ASE | ||||
| 			run_t* run, const char_t* name, size_t len); | ||||
|  | ||||
| 		// source code io handlers  | ||||
| 		/** | ||||
| 		 * openSource | ||||
| 		 */ | ||||
| 		virtual int     openSource  (Source& io) = 0; | ||||
| 		virtual int     closeSource (Source& io) = 0; | ||||
| 		virtual ssize_t readSource  (Source& io, char_t* buf, size_t len) = 0; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user