summaryrefslogtreecommitdiffabout
path: root/include/sitecing/sitecing_parser.h
Side-by-side diff
Diffstat (limited to 'include/sitecing/sitecing_parser.h') (more/less context) (ignore whitespace changes)
-rw-r--r--include/sitecing/sitecing_parser.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/sitecing/sitecing_parser.h b/include/sitecing/sitecing_parser.h
index a8474f3..a53ef22 100644
--- a/include/sitecing/sitecing_parser.h
+++ b/include/sitecing/sitecing_parser.h
@@ -27,129 +27,130 @@ using namespace sitecing;
* The component source parser.
*/
class sitecing_parser : public sitecing_parserFlexLexer {
public:
/**
* The ancestor class definition.
*/
class ancestor_class {
public:
/**
* The class name.
*/
string name;
/**
* The source component path.
*/
string path;
/**
* @param n the class name.
* @param p the component path.
*/
ancestor_class(const string& n,const string& p)
: name(n), path(p) { }
};
/**
* The list of ancestor classes.
*/
typedef list<ancestor_class> ancestor_classes_t;
/**
* The ancestor classes.
*/
ancestor_classes_t ancestor_classes;
/**
* The member variable definition.
*/
class member_variable {
public:
/**
* The member variable type.
*/
string type;
/**
* The member variable name.
*/
string name;
/**
* The member variable is a component.
*/
bool bComponent;
/**
* The variable initializer.
*/
string initializer;
/**
* @todo TODO: wish I could remember -- document me.
*/
bool bTypeOnly;
/**
* @param t type.
* @param n name.
* @param i initializer.
* @param bc whether it is a component.
- * @param bto @todo TODO: @see bTypeOnly.
+ * @param bto document me @todo TODO:
+ * @see bTypeOnly.
*/
member_variable(const string& t,const string& n,const string& i,bool bc = false,bool bto = false)
: type(t), name(n), initializer(i), bComponent(bc), bTypeOnly(bto) { }
};
/**
* The list of member variables.
*/
typedef list<member_variable> member_variables_t;
/**
* Member variables.
*/
member_variables_t member_variables;
/**
* @todo TODO: wish I could remember the details -- document me.
*/
bool have_initializers;
/**
* Whether the component has a constructor defined.
*/
bool have_constructor;
/**
* Member function definition.
*/
class member_function {
public:
/**
* Return type.
*/
string type;
/**
* Function name.
*/
string name;
/**
* Arguments declaration.
*/
string args;
/**
* Function body.
*/
string body;
/**
* @param t type.
* @param n name.
* @param a arguments.
* @param b body.
*/
member_function(const string& t,const string& n,const string& a,const string& b)
: type(t), name(n), args(a), body(b) { }
};
/**
* The list of member functions.
*/
typedef list<member_function> member_functions_t;
/**
* Member functions.
*/
member_functions_t member_functions;
/**
* Current mode of operation.
*/
class modus_operandi {
public:
@@ -160,130 +161,129 @@ class sitecing_parser : public sitecing_parserFlexLexer {
/**
* Building the code.
*/
modus_code = 0,
/**
* Ready to do the '<<' thing.
*/
modus_preop,
/**
* Just made a '<<'.
*/
modus_postop,
/**
* Outputting raw output data.
*/
modus_text,
/**
* The number of modes.
*/
modi
};
/**
* Processing flags enumeration.
*/
enum {
/**
* Eat the comments.
*/
flag_devour_comments = 0x0001,
/**
* Eat whitespace.
*/
flag_devour_whitespace = 0x0002
};
/**
* The processing mode.
*/
modus_t modus;
/**
* The processing flags.
*/
int flags;
/**
* Output being built.
*/
string output;
/**
* The type for compound modes.
*/
string _type;
/**
* The last id encountered.
*/
string _lastid;
/**
* The name for compound modes.
*/
string _name;
/**
* The argument declaration. Obviously for member functions.
*/
string _args;
/**
- * @param flags.
- * @see flags
+ * @param f processing flags @see flags
*/
modus_operandi(int f = 0)
: modus(modus_code), flags(f) { }
/**
* Change the processing mode.
*/
void modify(modus_t m);
/**
* See if we're eating up whitespaces.
*/
bool devour_whitespace() { return flags&flag_devour_whitespace; }
/**
* See if we're eating up the comments.
*/
bool devour_comments() { return flags&flag_devour_comments; }
};
/**
* The modes stack type.
*/
typedef list<modus_operandi> modi_operandi;
/**
* The modes stack.
*/
modi_operandi modi;
/**
* Input file name.
*/
string input_file;
/**
* Base class name.
*/
string base_class;
/**
* Base class header.
*/
string base_header;
/**
* Component's basename.
* @todo TODO: wish I could remember the details -- document me.
*/
string component_basename;
/**
* The skeleton file name.
*/
string skeleton;
/**
* The component class name.
*/
string class_name;
/**
* Output basename.
* @todo TODO: wish I could remember the details -- document me.
*/
string output_basename;
/**
* Verbatim declaration part.
*/
string decl;
/**
* Verbatim implementation part.
*/
string impl;