From 71c3c523aacb0f6986d50f4a7a2e5d604728a4c4 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Sun, 6 Aug 2006 19:42:22 +0000 Subject: A load of updates, most of these made me realize that I probably could do this whole thing a lot better. We'll see how that works out later, once I figure out how to do it better. --- src/builder.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/builder.h') diff --git a/src/builder.h b/src/builder.h index 56a7b07..195296a 100644 --- a/src/builder.h +++ b/src/builder.h @@ -51,9 +51,23 @@ public: return rView; } + void startList( int tokType ); + void setFilter( const char *sRegExp ); + void augmentList( const char *sFrom ); + void addListItem( const char *sItem ); + void clearList(); + void endList(); + + void addTarget( int tokType, const char *sName ); + void setTargetInputType( int tokType ); + void addTargetInput( const char *sInput ); + void setTargetRule( const char *sRule ); + void endTarget(); + void setCache( const std::string &sFile ); void add( Action *pAct ); void add( Command *pCmd ); + void addRegexCommand( int nType, const char *sReg ); void add( Rule *pRule ); void add( Target *pTarg ); void varSet( const char *sName, const char *sValue ); @@ -64,6 +78,7 @@ public: void requires( const char *sBase, const char *sReq ); void requiresFromCommand( const char *sBase, const char *sReq ); void genRequiresFor( const char *sName, time_t tNewTime ); + std::list findTargets( const char *sRegex ); void requiresRegexp( bool on ) { bReqRegexp = on; @@ -119,6 +134,7 @@ public: typedef std::map varmap; varmap *regexVars( RegExp *re ); + void regexVars( RegExp *re, varmap &map ); std::string varRepl( const char *sSrc, const char *cont, varmap *mExtra ); private: @@ -159,6 +175,18 @@ private: StaticString sCacheFile; class Cache cRequires; + + std::list > > lTok; + bool bTokFiltered; + int nTokType; + RegExp rTok; + + int nTargetType; + int nTargetInputType; + std::string sTargetName; + std::list lsTargetInput; + std::string sTargetRule; + bool bUsingList; }; void cleanList( std::list &lst ); -- cgit v1.2.3