This is syntax.h in view mode; [Download] [Up]
//------------------------------------------------------------------------ // ^FILE: syntax.h - define an object to represent the syntax of a // command-line argument. // // ^DESCRIPTION: // This file defines an object that parses and records the syntax of // a command-line argument. // // ^HISTORY: // 04/29/92 Brad Appleton <brad@ssd.csd.harris.com> Created //-^^--------------------------------------------------------------------- #ifndef _syntax_h #define _syntax_h #include "fsm.h" class istream; class ArgSyntax { public: ArgSyntax(void) : arg_syntax(0), arg_char(0), arg_keyword(0), arg_value(0) {} // Return the syntax flags unsigned syntax(void) const { return arg_syntax; } // Return the option character char optchar(void) const { return arg_char; } // Return the keyword name const char * keyword(void) const { return arg_keyword; } // Return the value name const char * value(void) const { return arg_value; } // Extract the syntax (compile it) from an input stream friend istream & operator>>(istream & is, ArgSyntax & arg); private: unsigned arg_syntax ; char arg_char; const char * arg_keyword; const char * arg_value; private: int parse_syntax(const char * syntax); void parse_value(const SyntaxFSM & fsm); istream & parse_flag(istream & is); } ; #endif /* _syntax_h */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.