diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-08-07 05:37:32 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-08-07 05:37:32 +0000 |
commit | 89b5cb358a13e7229487fe3c22785942d329b018 (patch) | |
tree | 743e0ec9898dd2329223c7d7972d14ddb110abb1 | |
parent | 71c3c523aacb0f6986d50f4a7a2e5d604728a4c4 (diff) | |
download | build-89b5cb358a13e7229487fe3c22785942d329b018.tar.gz build-89b5cb358a13e7229487fe3c22785942d329b018.tar.bz2 build-89b5cb358a13e7229487fe3c22785942d329b018.tar.xz build-89b5cb358a13e7229487fe3c22785942d329b018.zip |
Updated the lexer to not include + or = in string literals outside of quotes.
Added the new make style viewer, the simplest, lamest viewer, but it looks just
like the output of make. Very useful for debugging and seeing what's going on.
-rw-r--r-- | build.conf | 2 | ||||
-rw-r--r-- | src/build.l | 4 | ||||
-rw-r--r-- | src/main.cpp | 9 | ||||
-rw-r--r-- | src/viewermake.cpp | 62 | ||||
-rw-r--r-- | src/viewermake.h | 28 |
5 files changed, 102 insertions, 3 deletions
@@ -10,7 +10,7 @@ set CXXFLAGS += "-ggdb" | |||
10 | set CXXFLAGS += "-Ilibbu++/src" | 10 | set CXXFLAGS += "-Ilibbu++/src" |
11 | set LDFLAGS += "-Llibbu++ -lbu++" | 11 | set LDFLAGS += "-Llibbu++ -lbu++" |
12 | 12 | ||
13 | build requires libbu++/libbu++.a | 13 | build requires "libbu++/libbu++.a" |
14 | 14 | ||
15 | /(.*)\.o$/ requires from command "g++ {CXXFLAGS} -M {re:1}.c*" | 15 | /(.*)\.o$/ requires from command "g++ {CXXFLAGS} -M {re:1}.c*" |
16 | 16 | ||
diff --git a/src/build.l b/src/build.l index 723991b..2b834a2 100644 --- a/src/build.l +++ b/src/build.l | |||
@@ -77,12 +77,12 @@ std::string strbuf; | |||
77 | 77 | ||
78 | "#".* /* single line comment */ | 78 | "#".* /* single line comment */ |
79 | 79 | ||
80 | [^ \t\r\n\'\":=,/][^ \t\r\n\'\":=,]* { | 80 | [^ \t\r\n\'\":+=,/][^ \t\r\n\'\":+=,]* { |
81 | yylval->strval = stringdup( yytext ); | 81 | yylval->strval = stringdup( yytext ); |
82 | return STRING; | 82 | return STRING; |
83 | } | 83 | } |
84 | 84 | ||
85 | [^ \t\r\n\'\":=,/][^ \t\r\n\'\"=,]+[^ \t\r\n\'\":=,] { | 85 | [^ \t\r\n\'\":+=,/][^ \t\r\n\'\"+=,]+[^ \t\r\n\'\":+=,] { |
86 | yylval->strval = stringdup( yytext ); | 86 | yylval->strval = stringdup( yytext ); |
87 | return STRING; | 87 | return STRING; |
88 | } | 88 | } |
diff --git a/src/main.cpp b/src/main.cpp index 3ea4411..c1df482 100644 --- a/src/main.cpp +++ b/src/main.cpp | |||
@@ -1,6 +1,7 @@ | |||
1 | #include "builder.h" | 1 | #include "builder.h" |
2 | #include "viewerplain.h" | 2 | #include "viewerplain.h" |
3 | #include "viewerpercent.h" | 3 | #include "viewerpercent.h" |
4 | #include "viewermake.h" | ||
4 | #include "paramproc.h" | 5 | #include "paramproc.h" |
5 | #include "staticstring.h" | 6 | #include "staticstring.h" |
6 | 7 | ||
@@ -17,6 +18,8 @@ public: | |||
17 | "Set the input script, default: build.conf"); | 18 | "Set the input script, default: build.conf"); |
18 | addParam('p', mkproc(Param::procViewPercent), | 19 | addParam('p', mkproc(Param::procViewPercent), |
19 | "Switch to percent view."); | 20 | "Switch to percent view."); |
21 | addParam('m', mkproc(Param::procViewMake), | ||
22 | "Switch to 'make' style view."); | ||
20 | addParam("cache", &sCache, | 23 | addParam("cache", &sCache, |
21 | "Set an alternative cache file." ); | 24 | "Set an alternative cache file." ); |
22 | addParam('d', &bDebug, | 25 | addParam('d', &bDebug, |
@@ -48,6 +51,12 @@ public: | |||
48 | pViewer = new ViewerPercent; | 51 | pViewer = new ViewerPercent; |
49 | } | 52 | } |
50 | 53 | ||
54 | int procViewMake( int argc, char *argv[] ) | ||
55 | { | ||
56 | delete pViewer; | ||
57 | pViewer = new ViewerMake; | ||
58 | } | ||
59 | |||
51 | std::string sCache; | 60 | std::string sCache; |
52 | std::string sFile; | 61 | std::string sFile; |
53 | StaticString sAction; | 62 | StaticString sAction; |
diff --git a/src/viewermake.cpp b/src/viewermake.cpp new file mode 100644 index 0000000..7f63552 --- /dev/null +++ b/src/viewermake.cpp | |||
@@ -0,0 +1,62 @@ | |||
1 | #include <stdio.h> | ||
2 | #include "viewermake.h" | ||
3 | #include "perform.h" | ||
4 | |||
5 | ViewerMake::ViewerMake() | ||
6 | { | ||
7 | } | ||
8 | |||
9 | ViewerMake::~ViewerMake() | ||
10 | { | ||
11 | } | ||
12 | |||
13 | void ViewerMake::beginTarget( const char *sName, const char *sType, const char *sOperation, int nPerforms ) | ||
14 | { | ||
15 | //sAction = sName; | ||
16 | //bPrinted = false; | ||
17 | } | ||
18 | |||
19 | void ViewerMake::printHead() | ||
20 | { | ||
21 | /* | ||
22 | if( bPrinted == false ) | ||
23 | { | ||
24 | printf("--- %s ---\n", sAction.getString() ); | ||
25 | bPrinted = true; | ||
26 | }*/ | ||
27 | } | ||
28 | |||
29 | void ViewerMake::endTarget() | ||
30 | { | ||
31 | /*if( bPrinted == true ) | ||
32 | { | ||
33 | printf("\n"); | ||
34 | } | ||
35 | else | ||
36 | { | ||
37 | printf("Nothing to be done for %s.\n", sAction.getString() ); | ||
38 | }*/ | ||
39 | } | ||
40 | |||
41 | void ViewerMake::beginPerform( Perform *pPerf ) | ||
42 | { | ||
43 | //sTarget = pPerf->getTarget(); | ||
44 | } | ||
45 | |||
46 | void ViewerMake::beginExtraRequiresCheck( const char *sCommand ) | ||
47 | { | ||
48 | //printHead(); | ||
49 | //printf(" check: %s\n", sTarget.getString() ); | ||
50 | } | ||
51 | |||
52 | void ViewerMake::beginExecute() | ||
53 | { | ||
54 | //printHead(); | ||
55 | //printf(" build: %s\n", sTarget.getString() ); | ||
56 | } | ||
57 | |||
58 | void ViewerMake::executeCmd( const char *sCmd ) | ||
59 | { | ||
60 | printf("%s\n", sCmd ); | ||
61 | } | ||
62 | |||
diff --git a/src/viewermake.h b/src/viewermake.h new file mode 100644 index 0000000..767d0bd --- /dev/null +++ b/src/viewermake.h | |||
@@ -0,0 +1,28 @@ | |||
1 | #ifndef VIEWER_MAKE_H | ||
2 | #define VIEWER_MAKE_H | ||
3 | |||
4 | #include <stdint.h> | ||
5 | |||
6 | #include "viewer.h" | ||
7 | #include "staticstring.h" | ||
8 | |||
9 | class ViewerMake : public Viewer | ||
10 | { | ||
11 | public: | ||
12 | ViewerMake(); | ||
13 | virtual ~ViewerMake(); | ||
14 | |||
15 | virtual void beginTarget( const char *sName, const char *sType, const char *sOperation, int nPerforms ); | ||
16 | virtual void endTarget(); | ||
17 | |||
18 | virtual void beginPerform( Perform *pPerf ); | ||
19 | virtual void beginExtraRequiresCheck( const char *sCommand ); | ||
20 | void printHead(); | ||
21 | virtual void beginExecute(); | ||
22 | virtual void executeCmd( const char *sCmd ); | ||
23 | |||
24 | private: | ||
25 | |||
26 | }; | ||
27 | |||
28 | #endif | ||