diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-08-22 05:04:16 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-08-22 05:04:16 +0000 |
commit | b78ea37a6f8d289b9adb2b5bc565716168a00060 (patch) | |
tree | a19fd9489e7c7170882c52edae5f532141bec2e8 /src | |
parent | e95c31f841b67fc69d93ec650fe285d34f996a1e (diff) | |
download | build-b78ea37a6f8d289b9adb2b5bc565716168a00060.tar.gz build-b78ea37a6f8d289b9adb2b5bc565716168a00060.tar.bz2 build-b78ea37a6f8d289b9adb2b5bc565716168a00060.tar.xz build-b78ea37a6f8d289b9adb2b5bc565716168a00060.zip |
The basic outline for all of the initial functions and rules has been set. The
parser and scanner are using the new system so they actually match functions
and whatnot and pass that data to the parser, it's very cool.
Diffstat (limited to '')
-rw-r--r-- | src/build.l | 33 | ||||
-rw-r--r-- | src/build.y | 27 | ||||
-rw-r--r-- | src/builder.cpp | 38 | ||||
-rw-r--r-- | src/builder.h | 32 | ||||
-rw-r--r-- | src/function.cpp | 9 | ||||
-rw-r--r-- | src/function.h | 17 | ||||
-rw-r--r-- | src/functioncommandtolist.cpp | 12 | ||||
-rw-r--r-- | src/functioncommandtolist.h | 18 | ||||
-rw-r--r-- | src/functiondirectoriesin.cpp | 12 | ||||
-rw-r--r-- | src/functiondirectoriesin.h | 18 | ||||
-rw-r--r-- | src/functionfactory.cpp | 20 | ||||
-rw-r--r-- | src/functionfactory.h | 20 | ||||
-rw-r--r-- | src/functionfilesin.cpp | 12 | ||||
-rw-r--r-- | src/functionfilesin.h | 18 | ||||
-rw-r--r-- | src/functionregexp.cpp | 12 | ||||
-rw-r--r-- | src/functionregexp.h | 18 | ||||
-rw-r--r-- | src/functiontostring.cpp | 12 | ||||
-rw-r--r-- | src/functiontostring.h | 18 | ||||
-rw-r--r-- | src/perform.cpp | 9 | ||||
-rw-r--r-- | src/perform.h | 17 | ||||
-rw-r--r-- | src/performcommand.cpp | 12 | ||||
-rw-r--r-- | src/performcommand.h | 18 | ||||
-rw-r--r-- | src/performfactory.cpp | 12 | ||||
-rw-r--r-- | src/performfactory.h | 20 |
24 files changed, 399 insertions, 35 deletions
diff --git a/src/build.l b/src/build.l index 8189f9d..aab7de1 100644 --- a/src/build.l +++ b/src/build.l | |||
@@ -7,7 +7,6 @@ | |||
7 | std::string strbuf; | 7 | std::string strbuf; |
8 | %} | 8 | %} |
9 | 9 | ||
10 | %x regexp | ||
11 | %x strsq | 10 | %x strsq |
12 | %x strdq | 11 | %x strdq |
13 | %x comment | 12 | %x comment |
@@ -33,6 +32,8 @@ std::string strbuf; | |||
33 | "clean" return TOK_CLEAN; | 32 | "clean" return TOK_CLEAN; |
34 | "target" return TOK_TARGET; | 33 | "target" return TOK_TARGET; |
35 | "input" return TOK_INPUT; | 34 | "input" return TOK_INPUT; |
35 | "filter" return TOK_FILTER; | ||
36 | "prefix" return TOK_PREFIX; | ||
36 | 37 | ||
37 | \n+ { | 38 | \n+ { |
38 | yylloc->last_line += yyleng; | 39 | yylloc->last_line += yyleng; |
@@ -45,19 +46,6 @@ std::string strbuf; | |||
45 | yylloc->first_column = yylloc->last_column+1; | 46 | yylloc->first_column = yylloc->last_column+1; |
46 | } | 47 | } |
47 | 48 | ||
48 | "/" { | ||
49 | BEGIN( regexp ); | ||
50 | strbuf = ""; | ||
51 | } | ||
52 | <regexp>[^\n/\\]* strbuf += yytext; | ||
53 | <regexp>"\\/" strbuf += "/"; | ||
54 | <regexp>"\\" strbuf += "\\"; | ||
55 | <regexp>"/" { | ||
56 | BEGIN( INITIAL ); | ||
57 | yylval->strval = stringdup( strbuf.c_str() ); | ||
58 | return REGEXP; | ||
59 | } | ||
60 | |||
61 | "#".* /* single line comment */ | 49 | "#".* /* single line comment */ |
62 | 50 | ||
63 | [a-zA-Z][a-zA-Z0-9]* { | 51 | [a-zA-Z][a-zA-Z0-9]* { |
@@ -67,6 +55,11 @@ std::string strbuf; | |||
67 | { | 55 | { |
68 | return TARGETTYPE; | 56 | return TARGETTYPE; |
69 | } | 57 | } |
58 | else if( bld.isPerform( yytext ) ) | ||
59 | { | ||
60 | yylval->strval = stringdup( yytext ); | ||
61 | return PERFORM; | ||
62 | } | ||
70 | else if( bld.isFunction( yytext ) ) | 63 | else if( bld.isFunction( yytext ) ) |
71 | { | 64 | { |
72 | yylval->strval = stringdup( yytext ); | 65 | yylval->strval = stringdup( yytext ); |
@@ -76,11 +69,6 @@ std::string strbuf; | |||
76 | } | 69 | } |
77 | } | 70 | } |
78 | 71 | ||
79 | [^ \t\r\n\'\":=,/][^ \t\r\n\'\"=,]+[^ \t\r\n\'\":=,] { | ||
80 | yylval->strval = stringdup( yytext ); | ||
81 | return STRING; | ||
82 | } | ||
83 | |||
84 | \" { | 72 | \" { |
85 | BEGIN( strdq ); | 73 | BEGIN( strdq ); |
86 | strbuf = ""; | 74 | strbuf = ""; |
@@ -103,6 +91,9 @@ std::string strbuf; | |||
103 | <strdq,strsq>\\r strbuf += "\r"; | 91 | <strdq,strsq>\\r strbuf += "\r"; |
104 | <strdq,strsq>\\b strbuf += "\b"; | 92 | <strdq,strsq>\\b strbuf += "\b"; |
105 | <strdq,strsq>\\f strbuf += "\f"; | 93 | <strdq,strsq>\\f strbuf += "\f"; |
94 | <strdq,strsq>\\\\ strbuf += "\\"; | ||
95 | <strdq,strsq>\\\" strbuf += "\""; | ||
96 | <strdq,strsq>\\\' strbuf += "\'"; | ||
106 | 97 | ||
107 | <strdq>\" { | 98 | <strdq>\" { |
108 | BEGIN( INITIAL ); | 99 | BEGIN( INITIAL ); |
@@ -117,7 +108,9 @@ std::string strbuf; | |||
117 | } | 108 | } |
118 | 109 | ||
119 | . { | 110 | . { |
120 | bld.error( yylloc, "Invalid character found!" ); | 111 | char buf[] = {"Character x is out of place"}; |
112 | buf[10] = yytext[0]; | ||
113 | bld.error( yylloc, "Character !" ); | ||
121 | } | 114 | } |
122 | 115 | ||
123 | %% | 116 | %% |
diff --git a/src/build.y b/src/build.y index 5580299..1621dbc 100644 --- a/src/build.y +++ b/src/build.y | |||
@@ -20,9 +20,9 @@ void yyerror( YYLTYPE *locp, Builder &bld, char const *msg ); | |||
20 | } | 20 | } |
21 | 21 | ||
22 | %token <strval> STRING "string literal" | 22 | %token <strval> STRING "string literal" |
23 | %token <strval> REGEXP "regular expression" | ||
24 | %token <tval> TARGETTYPE "target type" | 23 | %token <tval> TARGETTYPE "target type" |
25 | %token <strval> FUNCTION "function name" | 24 | %token <strval> FUNCTION "function name" |
25 | %token <strval> PERFORM "perform name" | ||
26 | 26 | ||
27 | %token TOK_ADDSET "+=" | 27 | %token TOK_ADDSET "+=" |
28 | %token TOK_DEFAULT "default" | 28 | %token TOK_DEFAULT "default" |
@@ -61,12 +61,11 @@ rulecmds: rulecmd | |||
61 | | rulecmds ',' rulecmd | 61 | | rulecmds ',' rulecmd |
62 | ; | 62 | ; |
63 | 63 | ||
64 | rulecmd: TOK_MATCHES REGEXP { printf(" Matches: %s\n", $2 ); } | 64 | rulecmd: TOK_MATCHES { printf(" Matches: " ); } func |
65 | | TOK_PRODUCES STRING { printf(" Produces: %s\n", $2 ); } | 65 | | TOK_PRODUCES STRING { printf(" Produces: %s\n", $2 ); } |
66 | | TOK_REQUIRES { printf(" Requires:\n"); } list {printf("\n");} | 66 | | TOK_REQUIRES { printf(" Requires:\n"); } list {printf("\n");} |
67 | | TOK_INPUT TOK_FILTER REGEXP { printf(" Input Filter: %s\n", $3 ); } | ||
68 | | TOK_INPUT TOK_FILTER { printf(" Input Filter: "); } func {printf("\n");} | 67 | | TOK_INPUT TOK_FILTER { printf(" Input Filter: "); } func {printf("\n");} |
69 | | TOK_PERFORM { printf(" Perform: "); } func {printf("\n");} | 68 | | TOK_PERFORM { printf(" Perform: "); } perf {printf("\n");} |
70 | ; | 69 | ; |
71 | 70 | ||
72 | // Action interpretation | 71 | // Action interpretation |
@@ -78,7 +77,7 @@ actioncmds: actioncmd | |||
78 | | actioncmds ',' actioncmd | 77 | | actioncmds ',' actioncmd |
79 | ; | 78 | ; |
80 | 79 | ||
81 | actioncmd: { printf("\t"); } actioncmdtype list {printf("\n");} | 80 | actioncmd: { printf(" "); } actioncmdtype list {printf("\n");} |
82 | ; | 81 | ; |
83 | 82 | ||
84 | actioncmdtype: TOK_CHECK { printf("check "); } | 83 | actioncmdtype: TOK_CHECK { printf("check "); } |
@@ -97,6 +96,7 @@ targetcmd: TOK_RULE STRING { printf(" Rule %s\n", $2 ); } | |||
97 | | TOK_TARGET TOK_PREFIX STRING { printf(" Target prefix: %s\n", $3 ); } | 96 | | TOK_TARGET TOK_PREFIX STRING { printf(" Target prefix: %s\n", $3 ); } |
98 | | TOK_TARGET TARGETTYPE { printf(" Target Type: %d\n", $2 ); } | 97 | | TOK_TARGET TARGETTYPE { printf(" Target Type: %d\n", $2 ); } |
99 | | TOK_INPUT { printf(" Input: "); } list { printf("\n"); } | 98 | | TOK_INPUT { printf(" Input: "); } list { printf("\n"); } |
99 | | TOK_INPUT TOK_FILTER { printf(" Input filter: "); } func | ||
100 | | TOK_REQUIRES { printf(" Requires: "); } list { printf("\n"); } | 100 | | TOK_REQUIRES { printf(" Requires: "); } list { printf("\n"); } |
101 | | TOK_SET { printf(" Set: "); } targetset | 101 | | TOK_SET { printf(" Set: "); } targetset |
102 | ; | 102 | ; |
@@ -106,26 +106,23 @@ targetset: STRING '=' STRING { printf("%s = %s\n", $1, $3 ); } | |||
106 | ; | 106 | ; |
107 | 107 | ||
108 | // list goo | 108 | // list goo |
109 | |||
110 | list: listitem listfilter | 109 | list: listitem listfilter |
111 | | '[' { printf("["); } listitems ']' { printf("]"); } listfilter | 110 | | '[' { printf("["); } listitems ']' { printf("]"); } listfilter |
112 | ; | 111 | ; |
113 | 112 | ||
114 | listfilter: | 113 | listfilter: |
115 | | TOK_FILTER REGEXP | 114 | | TOK_FILTER { printf(" filtered by "); } func |
116 | | TOK_FILTER func | ||
117 | ; | 115 | ; |
118 | 116 | ||
119 | listitems: listitem | 117 | listitems: listitem |
120 | | listitems ',' {printf(", "); } listitem | 118 | | listitems ',' { printf(", "); } listitem |
121 | ; | 119 | ; |
122 | 120 | ||
123 | listitem: STRING {printf("%s", $1 ); } | 121 | listitem: STRING { printf("%s", $1 ); } |
124 | | func | 122 | | func |
125 | ; | 123 | ; |
126 | 124 | ||
127 | // Function | 125 | // Function |
128 | |||
129 | func: FUNCTION { printf("%s(", $1 ); } '(' funcparams ')' { printf(")"); } | 126 | func: FUNCTION { printf("%s(", $1 ); } '(' funcparams ')' { printf(")"); } |
130 | ; | 127 | ; |
131 | 128 | ||
@@ -134,6 +131,14 @@ funcparams: | |||
134 | | funcparams ',' STRING { printf(", %s", $3 ); } | 131 | | funcparams ',' STRING { printf(", %s", $3 ); } |
135 | ; | 132 | ; |
136 | 133 | ||
134 | // Perform | ||
135 | perf: PERFORM { printf("%s(", $1 ); } '(' perfparams ')' { printf(")"); } | ||
136 | ; | ||
137 | |||
138 | perfparams: | ||
139 | | STRING { printf("%s", $1 ); } | ||
140 | | perfparams ',' STRING { printf(", %s", $3 ); } | ||
141 | ; | ||
137 | %% | 142 | %% |
138 | 143 | ||
139 | void yyerror( YYLTYPE *locp, Builder &bld, char const *msg ) | 144 | void yyerror( YYLTYPE *locp, Builder &bld, char const *msg ) |
diff --git a/src/builder.cpp b/src/builder.cpp index b6ae887..24e4536 100644 --- a/src/builder.cpp +++ b/src/builder.cpp | |||
@@ -1,8 +1,12 @@ | |||
1 | #include "builder.h" | 1 | #include "builder.h" |
2 | #include "functionfactory.h" | ||
3 | #include "performfactory.h" | ||
2 | 4 | ||
3 | subExceptionDef( BuildException ); | 5 | subExceptionDef( BuildException ); |
4 | 6 | ||
5 | Builder::Builder() | 7 | Builder::Builder() : |
8 | fFunction( FunctionFactory::getInstance() ), | ||
9 | fPerform( PerformFactory::getInstance() ) | ||
6 | { | 10 | { |
7 | } | 11 | } |
8 | 12 | ||
@@ -17,7 +21,7 @@ void Builder::load( const std::string &sFile ) | |||
17 | { | 21 | { |
18 | file = sFile; | 22 | file = sFile; |
19 | scanBegin(); | 23 | scanBegin(); |
20 | yydebug = 1; | 24 | //yydebug = 1; |
21 | yyparse( *this ); | 25 | yyparse( *this ); |
22 | scanEnd(); | 26 | scanEnd(); |
23 | } | 27 | } |
@@ -45,8 +49,36 @@ int Builder::getTargetType( const char *sType ) | |||
45 | return -1; | 49 | return -1; |
46 | } | 50 | } |
47 | 51 | ||
52 | // | ||
53 | // Function functions | ||
54 | // | ||
48 | bool Builder::isFunction( const char *sFunc ) | 55 | bool Builder::isFunction( const char *sFunc ) |
49 | { | 56 | { |
50 | return true; | 57 | return fFunction.hasPlugin( sFunc ); |
58 | } | ||
59 | |||
60 | void Builder::newFunctionCall( const char *sName ) | ||
61 | { | ||
62 | |||
63 | } | ||
64 | |||
65 | void Builder::addFunctionParam( const char *sParam ) | ||
66 | { | ||
67 | } | ||
68 | |||
69 | // | ||
70 | // Perform functions | ||
71 | // | ||
72 | bool Builder::isPerform( const char *sPerf ) | ||
73 | { | ||
74 | return fPerform.hasPlugin( sPerf ); | ||
75 | } | ||
76 | |||
77 | void Builder::newPerform( const char *sName ) | ||
78 | { | ||
79 | } | ||
80 | |||
81 | void Builder::addPerformParam( const char *sParam ) | ||
82 | { | ||
51 | } | 83 | } |
52 | 84 | ||
diff --git a/src/builder.h b/src/builder.h index 3293108..529edc6 100644 --- a/src/builder.h +++ b/src/builder.h | |||
@@ -7,6 +7,10 @@ | |||
7 | #include "exceptions.h" | 7 | #include "exceptions.h" |
8 | 8 | ||
9 | class Builder; | 9 | class Builder; |
10 | class Function; | ||
11 | class FunctionFactory; | ||
12 | class Perform; | ||
13 | class PerformFactory; | ||
10 | 14 | ||
11 | #define YY_DECL int yylex( YYSTYPE *yylval_param, YYLTYPE *yylloc_param, Builder &bld ) | 15 | #define YY_DECL int yylex( YYSTYPE *yylval_param, YYLTYPE *yylloc_param, Builder &bld ) |
12 | YY_DECL; | 16 | YY_DECL; |
@@ -25,13 +29,39 @@ public: | |||
25 | void load( const std::string &sFile ); | 29 | void load( const std::string &sFile ); |
26 | 30 | ||
27 | int getTargetType( const char *sType ); | 31 | int getTargetType( const char *sType ); |
28 | bool isFunction( const char *sFunc ); | ||
29 | 32 | ||
30 | private: | 33 | private: |
31 | std::string file; | 34 | std::string file; |
32 | void scanBegin(); | 35 | void scanBegin(); |
33 | void scanEnd(); | 36 | void scanEnd(); |
34 | 37 | ||
38 | public: // Function functions | ||
39 | bool isFunction( const char *sFunc ); | ||
40 | void newFunctionCall( const char *sName ); | ||
41 | void addFunctionParam( const char *sParam ); | ||
42 | |||
43 | private: // Function variables | ||
44 | Function *pTmpFunc; | ||
45 | FunctionFactory &fFunction; | ||
46 | |||
47 | public: // Perform functions | ||
48 | bool isPerform( const char *sPerf ); | ||
49 | void newPerform( const char *sName ); | ||
50 | void addPerformParam( const char *sParam ); | ||
51 | |||
52 | private: // Perform variables | ||
53 | Perform *pTmpPerform; | ||
54 | PerformFactory &fPerform; | ||
55 | |||
56 | public: // List functions | ||
57 | void newList(); | ||
58 | void addListString( const char *str ); | ||
59 | void addListFunc(); | ||
60 | |||
61 | public: // Functions for dealing with rules | ||
62 | void addAction(); | ||
63 | void addAction( const char *sName ); | ||
64 | void addCommand( int nType ); | ||
35 | }; | 65 | }; |
36 | 66 | ||
37 | #endif | 67 | #endif |
diff --git a/src/function.cpp b/src/function.cpp new file mode 100644 index 0000000..5eeac97 --- /dev/null +++ b/src/function.cpp | |||
@@ -0,0 +1,9 @@ | |||
1 | #include "function.h" | ||
2 | |||
3 | Function::Function() | ||
4 | { | ||
5 | } | ||
6 | |||
7 | Function::~Function() | ||
8 | { | ||
9 | } | ||
diff --git a/src/function.h b/src/function.h new file mode 100644 index 0000000..44a894d --- /dev/null +++ b/src/function.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #ifndef FUNCTION_H | ||
2 | #define FUNCTION_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | |||
7 | class Function | ||
8 | { | ||
9 | public: | ||
10 | Function(); | ||
11 | virtual ~Function(); | ||
12 | |||
13 | private: | ||
14 | |||
15 | }; | ||
16 | |||
17 | #endif | ||
diff --git a/src/functioncommandtolist.cpp b/src/functioncommandtolist.cpp new file mode 100644 index 0000000..8d18870 --- /dev/null +++ b/src/functioncommandtolist.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "functioncommandtolist.h" | ||
2 | #include "plugger.h" | ||
3 | |||
4 | PluginInterface2(commandToList, FunctionCommandToList, Function, "Mike Buland", 0, 1 ); | ||
5 | |||
6 | FunctionCommandToList::FunctionCommandToList() | ||
7 | { | ||
8 | } | ||
9 | |||
10 | FunctionCommandToList::~FunctionCommandToList() | ||
11 | { | ||
12 | } | ||
diff --git a/src/functioncommandtolist.h b/src/functioncommandtolist.h new file mode 100644 index 0000000..90b4bf3 --- /dev/null +++ b/src/functioncommandtolist.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef FUNCTION_COMMAND_TO_LIST_H | ||
2 | #define FUNCTION__H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "function.h" | ||
7 | |||
8 | class FunctionCommandToList : public Function | ||
9 | { | ||
10 | public: | ||
11 | FunctionCommandToList(); | ||
12 | virtual ~FunctionCommandToList(); | ||
13 | |||
14 | private: | ||
15 | |||
16 | }; | ||
17 | |||
18 | #endif | ||
diff --git a/src/functiondirectoriesin.cpp b/src/functiondirectoriesin.cpp new file mode 100644 index 0000000..f847e13 --- /dev/null +++ b/src/functiondirectoriesin.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "functiondirectoriesin.h" | ||
2 | #include "plugger.h" | ||
3 | |||
4 | PluginInterface2(directoriesIn, FunctionDirectoriesIn, Function, "Mike Buland", 0, 1 ); | ||
5 | |||
6 | FunctionDirectoriesIn::FunctionDirectoriesIn() | ||
7 | { | ||
8 | } | ||
9 | |||
10 | FunctionDirectoriesIn::~FunctionDirectoriesIn() | ||
11 | { | ||
12 | } | ||
diff --git a/src/functiondirectoriesin.h b/src/functiondirectoriesin.h new file mode 100644 index 0000000..5f6ee42 --- /dev/null +++ b/src/functiondirectoriesin.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef FUNCTION_DIRECTORIES_IN_H | ||
2 | #define FUNCTION_DIRECTORIES_IN_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "function.h" | ||
7 | |||
8 | class FunctionDirectoriesIn : public Function | ||
9 | { | ||
10 | public: | ||
11 | FunctionDirectoriesIn(); | ||
12 | virtual ~FunctionDirectoriesIn(); | ||
13 | |||
14 | private: | ||
15 | |||
16 | }; | ||
17 | |||
18 | #endif | ||
diff --git a/src/functionfactory.cpp b/src/functionfactory.cpp new file mode 100644 index 0000000..b78cfcb --- /dev/null +++ b/src/functionfactory.cpp | |||
@@ -0,0 +1,20 @@ | |||
1 | #include "functionfactory.h" | ||
2 | |||
3 | extern struct PluginInfo directoriesIn; | ||
4 | extern struct PluginInfo filesIn; | ||
5 | extern struct PluginInfo regexp; | ||
6 | extern struct PluginInfo toString; | ||
7 | extern struct PluginInfo commandToList; | ||
8 | |||
9 | FunctionFactory::FunctionFactory() | ||
10 | { | ||
11 | registerBuiltinPlugin( &directoriesIn ); | ||
12 | registerBuiltinPlugin( &filesIn ); | ||
13 | registerBuiltinPlugin( ®exp ); | ||
14 | registerBuiltinPlugin( &toString ); | ||
15 | registerBuiltinPlugin( &commandToList ); | ||
16 | } | ||
17 | |||
18 | FunctionFactory::~FunctionFactory() | ||
19 | { | ||
20 | } | ||
diff --git a/src/functionfactory.h b/src/functionfactory.h new file mode 100644 index 0000000..0541143 --- /dev/null +++ b/src/functionfactory.h | |||
@@ -0,0 +1,20 @@ | |||
1 | #ifndef FUNCTION_FACTORY_H | ||
2 | #define FUNCTION_FACTORY_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "plugger.h" | ||
7 | #include "singleton.h" | ||
8 | #include "function.h" | ||
9 | |||
10 | class FunctionFactory : public Plugger<Function>, public Singleton<FunctionFactory> | ||
11 | { | ||
12 | public: | ||
13 | FunctionFactory(); | ||
14 | virtual ~FunctionFactory(); | ||
15 | |||
16 | private: | ||
17 | |||
18 | }; | ||
19 | |||
20 | #endif | ||
diff --git a/src/functionfilesin.cpp b/src/functionfilesin.cpp new file mode 100644 index 0000000..3a9d163 --- /dev/null +++ b/src/functionfilesin.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "functionfilesin.h" | ||
2 | #include "plugger.h" | ||
3 | |||
4 | PluginInterface2(filesIn, FunctionFilesIn, Function, "Mike Buland", 0, 1 ); | ||
5 | |||
6 | FunctionFilesIn::FunctionFilesIn() | ||
7 | { | ||
8 | } | ||
9 | |||
10 | FunctionFilesIn::~FunctionFilesIn() | ||
11 | { | ||
12 | } | ||
diff --git a/src/functionfilesin.h b/src/functionfilesin.h new file mode 100644 index 0000000..070f508 --- /dev/null +++ b/src/functionfilesin.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef FUNCTION_FILES_IN_H | ||
2 | #define FUNCTION_FILES_IN_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "function.h" | ||
7 | |||
8 | class FunctionFilesIn : public Function | ||
9 | { | ||
10 | public: | ||
11 | FunctionFilesIn(); | ||
12 | virtual ~FunctionFilesIn(); | ||
13 | |||
14 | private: | ||
15 | |||
16 | }; | ||
17 | |||
18 | #endif | ||
diff --git a/src/functionregexp.cpp b/src/functionregexp.cpp new file mode 100644 index 0000000..fd632ae --- /dev/null +++ b/src/functionregexp.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "functionregexp.h" | ||
2 | #include "plugger.h" | ||
3 | |||
4 | PluginInterface2(regexp, FunctionRegexp, Function, "Mike Buland", 0, 1 ); | ||
5 | |||
6 | FunctionRegexp::FunctionRegexp() | ||
7 | { | ||
8 | } | ||
9 | |||
10 | FunctionRegexp::~FunctionRegexp() | ||
11 | { | ||
12 | } | ||
diff --git a/src/functionregexp.h b/src/functionregexp.h new file mode 100644 index 0000000..0adaf97 --- /dev/null +++ b/src/functionregexp.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef FUNCTION_REGEXP_H | ||
2 | #define FUNCTION_REGEXP_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "function.h" | ||
7 | |||
8 | class FunctionRegexp : public Function | ||
9 | { | ||
10 | public: | ||
11 | FunctionRegexp(); | ||
12 | virtual ~FunctionRegexp(); | ||
13 | |||
14 | private: | ||
15 | |||
16 | }; | ||
17 | |||
18 | #endif | ||
diff --git a/src/functiontostring.cpp b/src/functiontostring.cpp new file mode 100644 index 0000000..93a8b56 --- /dev/null +++ b/src/functiontostring.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "functiontostring.h" | ||
2 | #include "plugger.h" | ||
3 | |||
4 | PluginInterface2(toString, FunctionToString, Function, "Mike Buland", 0, 1 ); | ||
5 | |||
6 | FunctionToString::FunctionToString() | ||
7 | { | ||
8 | } | ||
9 | |||
10 | FunctionToString::~FunctionToString() | ||
11 | { | ||
12 | } | ||
diff --git a/src/functiontostring.h b/src/functiontostring.h new file mode 100644 index 0000000..08baadd --- /dev/null +++ b/src/functiontostring.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef FUNCTION_TO_STRING_H | ||
2 | #define FUNCTION_TO_STRING_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "function.h" | ||
7 | |||
8 | class FunctionToString : public Function | ||
9 | { | ||
10 | public: | ||
11 | FunctionToString(); | ||
12 | virtual ~FunctionToString(); | ||
13 | |||
14 | private: | ||
15 | |||
16 | }; | ||
17 | |||
18 | #endif | ||
diff --git a/src/perform.cpp b/src/perform.cpp new file mode 100644 index 0000000..937a76c --- /dev/null +++ b/src/perform.cpp | |||
@@ -0,0 +1,9 @@ | |||
1 | #include "perform.h" | ||
2 | |||
3 | Perform::Perform() | ||
4 | { | ||
5 | } | ||
6 | |||
7 | Perform::~Perform() | ||
8 | { | ||
9 | } | ||
diff --git a/src/perform.h b/src/perform.h new file mode 100644 index 0000000..0b6a16d --- /dev/null +++ b/src/perform.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #ifndef PERFORM_H | ||
2 | #define PERFORM_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | |||
7 | class Perform | ||
8 | { | ||
9 | public: | ||
10 | Perform(); | ||
11 | virtual ~Perform(); | ||
12 | |||
13 | private: | ||
14 | |||
15 | }; | ||
16 | |||
17 | #endif | ||
diff --git a/src/performcommand.cpp b/src/performcommand.cpp new file mode 100644 index 0000000..7c7dd42 --- /dev/null +++ b/src/performcommand.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "performcommand.h" | ||
2 | #include "plugger.h" | ||
3 | |||
4 | PluginInterface2(command, PerformCommand, Perform, "Mike Buland", 0, 1 ); | ||
5 | |||
6 | PerformCommand::PerformCommand() | ||
7 | { | ||
8 | } | ||
9 | |||
10 | PerformCommand::~PerformCommand() | ||
11 | { | ||
12 | } | ||
diff --git a/src/performcommand.h b/src/performcommand.h new file mode 100644 index 0000000..219ae28 --- /dev/null +++ b/src/performcommand.h | |||
@@ -0,0 +1,18 @@ | |||
1 | #ifndef PERFORM_COMMAND_H | ||
2 | #define PERFORM_COMMAND_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "perform.h" | ||
7 | |||
8 | class PerformCommand : public Perform | ||
9 | { | ||
10 | public: | ||
11 | PerformCommand(); | ||
12 | virtual ~PerformCommand(); | ||
13 | |||
14 | private: | ||
15 | |||
16 | }; | ||
17 | |||
18 | #endif | ||
diff --git a/src/performfactory.cpp b/src/performfactory.cpp new file mode 100644 index 0000000..6c7d57a --- /dev/null +++ b/src/performfactory.cpp | |||
@@ -0,0 +1,12 @@ | |||
1 | #include "performfactory.h" | ||
2 | |||
3 | extern struct PluginInfo command; | ||
4 | |||
5 | PerformFactory::PerformFactory() | ||
6 | { | ||
7 | registerBuiltinPlugin( &command ); | ||
8 | } | ||
9 | |||
10 | PerformFactory::~PerformFactory() | ||
11 | { | ||
12 | } | ||
diff --git a/src/performfactory.h b/src/performfactory.h new file mode 100644 index 0000000..f5ce5c0 --- /dev/null +++ b/src/performfactory.h | |||
@@ -0,0 +1,20 @@ | |||
1 | #ifndef PERFORM_FACTORY_H | ||
2 | #define PERFORM_FACTORY_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "perform.h" | ||
7 | #include "plugger.h" | ||
8 | #include "singleton.h" | ||
9 | |||
10 | class PerformFactory : public Plugger<Perform>, public Singleton<PerformFactory> | ||
11 | { | ||
12 | public: | ||
13 | PerformFactory(); | ||
14 | virtual ~PerformFactory(); | ||
15 | |||
16 | private: | ||
17 | |||
18 | }; | ||
19 | |||
20 | #endif | ||