From chalky at users.sourceforge.net Thu Sep 19 02:11:08 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:21 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/ucpp README,1.4 assert.c,1.5 cpp.c,1.9 cpp.h,1.5 eval.c,1.6 lexer.c,1.5 macro.c,1.10 mem.c,1.4 mem.h,1.4 sample.c,1.4 tune.h,1.9 ucpp.1,1.4 ucppi.h,1.4 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/ucpp In directory usw-pr-cvs1:/tmp/cvs-serv12335 Modified Files: README assert.c cpp.c cpp.h eval.c lexer.c macro.c mem.c mem.h sample.c tune.h ucpp.1 ucppi.h Log Message: Upgraded to ucpp 1.2, and fixed bug in macro support due to ambiguous specs. Index: assert.c =================================================================== RCS file: /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/ucpp/assert.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** assert.c 23 Aug 2002 20:15:39 -0000 1.4 --- assert.c 19 Sep 2002 09:10:41 -0000 1.5 *************** *** 35,39 **** #include "ucppi.h" #include "mem.h" ! #include "hashtable.h" #include "tune.h" --- 35,39 ---- #include "ucppi.h" #include "mem.h" ! #include "hash.h" #include "tune.h" *************** *** 53,69 **** } static void del_assertion(void *va) { struct assert *a = va; ! size_t i, j; if (a->name) freemem(a->name); ! for (i = 0; i < a->nbval; i ++) { ! for (j = 0; j < a->val[i].nt; j ++) ! if (S_TOKEN(a->val[i].t[j].type)) ! freemem(a->val[i].t[j].name); ! if (a->val[i].nt) freemem(a->val[i].t); ! } if (a->nbval) freemem(a->val); } --- 53,74 ---- } + static void del_token_fifo(struct token_fifo *tf) + { + int i; + + for (i = 0; i < tf->nt; i ++) + if (S_TOKEN(tf->t[i].type)) freemem(tf->t[i].name); + if (tf->nt) freemem(tf->t); + } + static void del_assertion(void *va) { struct assert *a = va; ! size_t i; if (a->name) freemem(a->name); ! for (i = 0; i < a->nbval; i ++) del_token_fifo(a->val + i); if (a->nbval) freemem(a->val); + freemem(a); } *************** *** 205,208 **** --- 210,214 ---- fputs(")\n", emit_output); } + freemem(atl); return 0; *************** *** 210,221 **** error(l, "unfinished #assert"); handle_assert_error: ! if (atl && atl->nt) { ! for (i = 0; i < atl->nt; i ++) ! if (S_TOKEN(atl->t[i].type)) freemem(atl->t[i].name); ! freemem(atl->t); } return ret; handle_assert_warp_ign: while (!next_token(ls) && ls->ctok->type != NEWLINE); return ret; } --- 216,234 ---- error(l, "unfinished #assert"); handle_assert_error: ! if (atl) { ! del_token_fifo(atl); ! freemem(atl); ! } ! if (ina) { ! freemem(a->name); ! freemem(a); } return ret; handle_assert_warp_ign: while (!next_token(ls) && ls->ctok->type != NEWLINE); + if (ina) { + freemem(a->name); + freemem(a); + } return ret; } *************** *** 228,232 **** int ltww; struct token t; ! struct token_fifo *atl = 0; struct assert *a; int ret = -1; --- 241,245 ---- int ltww; struct token t; ! struct token_fifo atl; struct assert *a; int ret = -1; *************** *** 235,238 **** --- 248,252 ---- size_t i; + atl.art = atl.nt = 0; while (!next_token(ls)) { if (ls->ctok->type == NEWLINE) break; *************** *** 265,270 **** handle_unassert_next2: - atl = getmem(sizeof(struct token_fifo)); - atl->art = atl->nt = 0; for (nnp = 1, ltww = 1; nnp && !next_token(ls);) { if (ls->ctok->type == NEWLINE) break; --- 279,282 ---- *************** *** 277,281 **** t.type = ls->ctok->type; if (S_TOKEN(t.type)) t.name = sdup(ls->ctok->name); ! aol(atl->t, atl->nt, t, TOKEN_LIST_MEMG); } goto handle_unassert_trunc; --- 289,293 ---- t.type = ls->ctok->type; if (S_TOKEN(t.type)) t.name = sdup(ls->ctok->name); ! aol(atl.t, atl.nt, t, TOKEN_LIST_MEMG); } goto handle_unassert_trunc; *************** *** 287,307 **** } } ! if (atl->nt && ttMWS(atl->t[atl->nt - 1].type) && (-- atl->nt) == 0) ! freemem(atl->t); ! if (atl->nt == 0) { error(l, "void assertion in #unassert"); - freemem(atl); return ret; } ! for (i = 0; i < a->nbval && cmp_token_list(atl, a->val + i); i ++); if (i != a->nbval) { /* we have it, undefine it */ if (i < (a->nbval - 1)) mmvwo(a->val + i, a->val + i + 1, (a->nbval - i - 1) * sizeof(struct token_fifo)); ! a->nbval --; if (emit_assertions) { fprintf(emit_output, "#unassert %s(", a->name); ! print_token_fifo(atl); fputs(")\n", emit_output); } --- 299,319 ---- } } ! if (atl.nt && ttMWS(atl.t[atl.nt - 1].type) && (-- atl.nt) == 0) ! freemem(atl.t); ! if (atl.nt == 0) { error(l, "void assertion in #unassert"); return ret; } ! for (i = 0; i < a->nbval && cmp_token_list(&atl, a->val + i); i ++); if (i != a->nbval) { /* we have it, undefine it */ + del_token_fifo(a->val + i); if (i < (a->nbval - 1)) mmvwo(a->val + i, a->val + i + 1, (a->nbval - i - 1) * sizeof(struct token_fifo)); ! if ((-- a->nbval) == 0) freemem(a->val); if (emit_assertions) { fprintf(emit_output, "#unassert %s(", a->name); ! print_token_fifo(&atl); fputs(")\n", emit_output); } *************** *** 313,321 **** error(l, "unfinished #unassert"); handle_unassert_finish: ! if (atl && atl->nt) { ! for (i = 0; i < atl->nt; i ++) ! if (S_TOKEN(atl->t[i].type)) freemem(atl->t[i].name); ! freemem(atl->t); ! } return ret; handle_unassert_warp: --- 325,329 ---- error(l, "unfinished #unassert"); handle_unassert_finish: ! if (atl.nt) del_token_fifo(&atl); return ret; handle_unassert_warp: *************** *** 373,381 **** /* * initialize the assertion table */ void init_assertions(void) { ! if (assertions) killHT(assertions); assertions = newHT(128, cmp_struct, hash_struct, del_assertion); } --- 381,398 ---- /* + * erase the assertion table + */ + void wipe_assertions(void) + { + if (assertions) killHT(assertions); + assertions = 0; + } + + /* * initialize the assertion table */ void init_assertions(void) { ! wipe_assertions(); assertions = newHT(128, cmp_struct, hash_struct, del_assertion); } ***** Bogus filespec: ucppi.h,1.4 From chalky at users.sourceforge.net Thu Sep 19 02:13:04 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:21 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/occ parse.cc,1.23 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/occ In directory usw-pr-cvs1:/tmp/cvs-serv12990 Modified Files: parse.cc Log Message: Fixed typeid support to allow typeid(blah).name() constructs ***** Bogus filespec: parse.cc,1.23 From chalky at users.sourceforge.net Thu Sep 19 02:14:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:21 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/occ token.cc,1.10 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/occ In directory usw-pr-cvs1:/tmp/cvs-serv13358 Modified Files: token.cc Log Message: Added Ignores for gcc's __complex__, __real__ and __imag__ keywords. ***** Bogus filespec: token.cc,1.10 From chalky at users.sourceforge.net Thu Sep 19 02:15:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:22 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn decoder.cc,1.15 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv13664 Modified Files: decoder.cc Log Message: Stop warning from being printed ***** Bogus filespec: decoder.cc,1.15 From chalky at users.sourceforge.net Thu Sep 19 02:19:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:22 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/ucpp assert.c,1.6 hashtable.c,1.5 hashtable.h,1.4 macro.c,1.11 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/ucpp In directory usw-pr-cvs1:/tmp/cvs-serv15183 Modified Files: assert.c hashtable.c hashtable.h macro.c Log Message: Oops, missed hashtable rename.. Index: macro.c =================================================================== RCS file: /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/ucpp/macro.c,v retrieving revision 1.4 retrieving revision 1.11 diff -C2 -d -r1.4 -r1.11 *** macro.c 22 Feb 2001 03:27:56 -0000 1.4 --- macro.c 19 Sep 2002 09:18:04 -0000 1.11 *************** *** 34,40 **** #include "ucppi.h" #include "mem.h" ! #include "hash.h" #include "tune.h" /* * we store macros in a hash table, and retrieve them using their name --- 34,42 ---- #include "ucppi.h" #include "mem.h" ! #include "hashtable.h" #include "tune.h" + #define DEBUG_MACROS 0 + /* * we store macros in a hash table, and retrieve them using their name *************** *** 245,248 **** --- 247,262 ---- char *x = t->name; + #if DEBUG_MACROS + if (!ttWHI(t->type)) { + char* y = x; + if (!S_TOKEN(t->type)) y = operators_name[t->type]; + for (; *y; y++) fprintf(stderr, "%c", *y); + fprintf(stderr, "\n"); + } + #endif + if (t->type == MACROEND) + /* Don't print or keep macro endings */ + return; + if (uz_line && t->line < 0) t->line = uz_line; if (ls->flags & LEXER) { *************** *** 266,269 **** --- 280,303 ---- /* + * Send a token to the output at a given line (this is for text output + * and unreplaced macros due to lack of arguments). + */ + static void print_token_nailed(struct lexer_state *ls, struct token *t, + long nail_line) + { + char *x = t->name; + + if (ls->flags & LEXER) { + print_token(ls, t, 0); + return; + } + if (ls->flags & KEEP_OUTPUT) { + for (; ls->oline < nail_line;) put_char(ls, '\n'); + } + if (!S_TOKEN(t->type)) x = operators_name[t->type]; + for (; *x; x ++) put_char(ls, *x); + } + + /* * send a reduced whitespace token to the output */ *************** *** 286,290 **** int handle_define(struct lexer_state *ls) { ! struct macro *m, *n; #ifdef LOW_MEM struct token_fifo mv; --- 320,324 ---- int handle_define(struct lexer_state *ls) { ! struct macro *m = 0, *n; #ifdef LOW_MEM struct token_fifo mv; *************** *** 296,299 **** --- 330,336 ---- long l = ls->line; + #ifdef LOW_MEM + mv.art = mv.nt = 0; + #endif /* find the next non-white token on the line, this should be the macro name */ *************** *** 330,340 **** #endif freemem(mname); } if (!redef) { m = new_macro(); m->name = mname; m->narg = -1; #ifdef LOW_MEM - mv.art = mv.nt = 0; #define mval mv #else --- 367,378 ---- #endif freemem(mname); + mname = 0; } if (!redef) { m = new_macro(); m->name = mname; + mname = 0; m->narg = -1; #ifdef LOW_MEM #define mval mv #else *************** *** 356,360 **** if (ls->ctok->type == NEWLINE) { error(l, "truncated macro definition"); ! return 1; } if (ls->ctok->type == COMMA) { --- 394,398 ---- if (ls->ctok->type == NEWLINE) { error(l, "truncated macro definition"); ! goto define_error; } if (ls->ctok->type == COMMA) { *************** *** 384,387 **** --- 422,429 ---- aol(m->arg, narg, sdup(ls->ctok->name), 8); + /* we must keep track of m->narg + so that cleanup in case of + error works. */ + m->narg = narg; if (narg == 128 && (ls->flags & WARN_STANDARD)) *************** *** 571,575 **** error(l, "operator '##' may neither begin " "nor end a macro"); ! return 1; } if (m->narg >= 0) for (i = 0; i < mval.nt; i ++) --- 613,617 ---- error(l, "operator '##' may neither begin " "nor end a macro"); ! goto define_error; } if (m->narg >= 0) for (i = 0; i < mval.nt; i ++) *************** *** 584,588 **** error(l, "operator '#' not followed " "by a macro argument"); ! return 1; } } --- 626,630 ---- error(l, "operator '#' not followed " "by a macro argument"); ! goto define_error; } } *************** *** 621,631 **** while (ls->ctok->type != NEWLINE && !next_token(ls)); redef_error_2: ! /* Ignore. error(l, "macro '%s' redefined unidentically", n->name); return 1; ! */ return 0; warp_error: while (ls->ctok->type != NEWLINE && !next_token(ls)); return 1; #undef mval --- 663,686 ---- while (ls->ctok->type != NEWLINE && !next_token(ls)); redef_error_2: ! #ifndef SYNOPSIS error(l, "macro '%s' redefined unidentically", n->name); return 1; ! #else return 0; + #endif warp_error: while (ls->ctok->type != NEWLINE && !next_token(ls)); + define_error: + if (m) del_macro(m); + if (mname) freemem(mname); + #ifdef LOW_MEM + if (mv.nt) { + size_t i; + + for (i = 0; i < mv.nt; i ++) + if (S_TOKEN(mv.t[i].type)) freemem(mv.t[i].name); + freemem(mv.t); + } + #endif return 1; #undef mval *************** *** 667,670 **** --- 722,736 ---- while (!unravel(ls)) { if (!read_from_fifo && ct->type == NEWLINE) ls->ltwnl = 1; + #if DEBUG_MACROS + fprintf(stderr, "Type: %d (%d)\n", ct->type, MACROEND); + #endif + if (ct->type == MACROEND) { + /* End of macro -- restore it's saved nest level */ + struct macro *nm; + if ((nm = getHT(macros, &ct->name)) != NULL) { + nm->nest = ct->line; + continue; + } + } if (ttWHI(ct->type)) { *wr = 1; *************** *** 971,974 **** --- 1037,1045 ---- int ltwds, ntwds, ltwws; int pragma_op = 0; + #if DEBUG_MACROS + static int debug_depth = 0; + int debug_save = debug_depth; + int debug_count; + #endif /* *************** *** 1071,1074 **** --- 1142,1152 ---- } + #if DEBUG_MACROS + // Dumps the macro with arguments + debug_depth++; + for (debug_count = 1; debug_count < debug_depth; debug_count++) fputs(" ", stderr); + fprintf(stderr, "%d /^^%s: Starting '%s%s'\n", ls->line, m->name, m->name, m->narg >= 0 ? "(...)" : ""); + #endif + /* * If the macro has arguments, collect them. *************** *** 1100,1104 **** t.line = l; t.name = m->name; ! print_token(ls, &t, 0); if (wr) { t.type = NONE; --- 1178,1182 ---- t.line = l; t.name = m->name; ! print_token_nailed(ls, &t, l); if (wr) { t.type = NONE; *************** *** 1113,1121 **** case 4: ls->flags = save_flags; ! return 1; } ls->flags = save_flags; } /* * If the macro is _Pragma, and we got here, then we have --- 1191,1215 ---- case 4: ls->flags = save_flags; ! goto exit_error_1; } ls->flags = save_flags; } + #if DEBUG_MACROS + // Dumps the macro with arguments + for (debug_count = 1; debug_count < debug_depth; debug_count++) fputs(" ", stderr); + fprintf(stderr, "%d | %s: Expanding '%s", ls->line, m->name, m->name); + if (m->narg > 0) { + int i, j; + for (i = 0; i < m->narg; i++) { + fprintf(stderr, i == 0 ? "(" : ", "); + for (j = 0; j < atl[i].nt; j++) + fputs(token_name(atl[i].t + j), stderr); + } + fprintf(stderr, ")"); + } + fputs("'\n", stderr); + #endif + /* * If the macro is _Pragma, and we got here, then we have *************** *** 1130,1134 **** if (atl[0].nt) freemem(atl[0].t); freemem(atl); ! return 1; } pn = atl[0].t[0].name; --- 1224,1228 ---- if (atl[0].nt) freemem(atl[0].t); freemem(atl); ! goto exit_error; } pn = atl[0].t[0].name; *************** *** 1190,1194 **** freemem(atl[0].t); freemem(atl); ! return 1; } #else --- 1284,1288 ---- freemem(atl[0].t); freemem(atl); ! goto exit_error; } #else *************** *** 1305,1309 **** token_name(etl.t + etl.nt), token_name(atl[z].t)); - m->nest = save_nest; #ifdef LOW_MEM m->cval.rp = save_art; --- 1399,1402 ---- *************** *** 1311,1315 **** m->val.art = save_art; #endif ! return 1; } if (etl.nt == 0) freemem(etl.t); --- 1404,1409 ---- m->val.art = save_art; #endif ! etl.nt ++; ! goto exit_error_2; } if (etl.nt == 0) freemem(etl.t); *************** *** 1375,1379 **** ls->flags = save_flags; if (ret) { - m->nest = save_nest; #ifdef LOW_MEM m->cval.rp = save_art; --- 1469,1472 ---- *************** *** 1381,1385 **** m->val.art = save_art; #endif ! return ret; } } --- 1474,1478 ---- m->val.art = save_art; #endif ! goto exit_error_2; } } *************** *** 1407,1411 **** if (ltwds) { error(ls->line, "quad sharp"); - m->nest = save_nest; #ifdef LOW_MEM m->cval.rp = save_art; --- 1500,1503 ---- *************** *** 1413,1417 **** m->val.art = save_art; #endif ! return 1; } #ifdef LOW_MEM --- 1505,1509 ---- m->val.art = save_art; #endif ! goto exit_error_2; } #ifdef LOW_MEM *************** *** 1432,1436 **** token_name(etl.t + etl.nt), token_name(ct)); - m->nest = save_nest; #ifdef LOW_MEM m->cval.rp = save_art; --- 1524,1527 ---- *************** *** 1438,1442 **** m->val.art = save_art; #endif ! return 1; } if (etl.nt == 0) freemem(etl.t); --- 1529,1534 ---- m->val.art = save_art; #endif ! etl.nt ++; ! goto exit_error_2; } if (etl.nt == 0) freemem(etl.t); *************** *** 1500,1503 **** --- 1592,1607 ---- #endif + #if DEBUG_MACROS + // Dumps the expanded macro + for (debug_count = 1; debug_count < debug_depth; debug_count++) fputs(" ", stderr); + fprintf(stderr, "%d | %s: to '", ls->line, m->name); + { + int art = etl.art, nt = etl.nt; + while (art < nt) + fputs(token_name(etl.t + (art++)), stderr); + } + fputs("'\n", stderr); + #endif + /* *************** *** 1512,1518 **** --- 1616,1635 ---- * OPT_NONE NONE are emitted. */ + #if DEBUG_MACROS + for (debug_count = 1; debug_count < debug_depth; debug_count++) fputs(" ", stderr); + fprintf(stderr, "%d | %s: Appending macro end token\n", ls->line, m->name); + #endif + + /* Add end of macro token */ + t.type = MACROEND; + t.name = m->name; + t.line = save_nest; + aol(etl.t, etl.nt, t, TOKEN_LIST_MEMG); + etl_limit = etl.nt; + if (tfi) { save_tfi = tfi->art; + while (tfi->art < tfi->nt) aol(etl.t, etl.nt, tfi->t[tfi->art ++], TOKEN_LIST_MEMG); *************** *** 1528,1532 **** penury, reject_nested, l)) { m->nest = save_nest; ! return 1; } ltwws = 0; --- 1645,1649 ---- penury, reject_nested, l)) { m->nest = save_nest; ! goto exit_error_2; } ltwws = 0; *************** *** 1544,1549 **** --- 1661,1676 ---- print_token(ls, ct, reject_nested ? 0 : l); } + #if DEBUG_MACROS + // Dumps the expanded macro + for (debug_count = 1; debug_count < debug_depth; debug_count++) fputs(" ", stderr); + fprintf(stderr, "%d \\__%s: Done\n", ls->line, m->name); + debug_depth = debug_save; + #endif if (etl.nt) freemem(etl.t); if (tfi) { + #if DEBUG_MACROS + for (debug_count = 1; debug_count < debug_depth; debug_count++) fputs(" ", stderr); + fprintf(stderr, "Adjusting tfi by %d\n", (etl.art - etl_limit)); + #endif tfi->art = save_tfi + (etl.art - etl_limit); } *************** *** 1552,1559 **** print_space(ls); exit_macro_2: - for (i = 0; i < m->narg; i ++) if (atl[i].nt) freemem(atl[i].t); - if (m->narg > 0) freemem(atl); m->nest = save_nest; return 0; } --- 1679,1705 ---- print_space(ls); exit_macro_2: m->nest = save_nest; + + for (i = 0; i < (m->narg + m->vaarg); i ++) + if (atl[i].nt) freemem(atl[i].t); + if (m->narg > 0 || m->vaarg) freemem(atl); + + #if DEBUG_MACROS + debug_depth = debug_save; + #endif return 0; + + exit_error_2: + if (etl.nt) freemem(etl.t); + exit_error_1: + for (i = 0; i < (m->narg + m->vaarg); i ++) + if (atl[i].nt) freemem(atl[i].t); + if (m->narg > 0 || m->vaarg) freemem(atl); + m->nest = save_nest; + exit_error: + #if DEBUG_MACROS + debug_depth = debug_save; + #endif + return 1; } *************** *** 1792,1800 **** /* * initialize the macro table */ void init_macros(void) { ! if (macros) killHT(macros); macros = newHT(128, cmp_struct, hash_struct, del_macro); if (!no_special_macros) add_special_macros(); --- 1938,1955 ---- /* + * erase the macro table. + */ + void wipe_macros(void) + { + if (macros) killHT(macros); + macros = 0; + } + + /* * initialize the macro table */ void init_macros(void) { ! wipe_macros(); macros = newHT(128, cmp_struct, hash_struct, del_macro); if (!no_special_macros) add_special_macros(); From chalky at users.sourceforge.net Fri Sep 20 02:51:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:22 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn synopsis.cc,1.36 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv22694 Modified Files: synopsis.cc Log Message: If main_file is set, don't store Forwards from other files for all declarations - those that are referenced by type will become Unknowns ***** Bogus filespec: synopsis.cc,1.36 From chalky at users.sourceforge.net Fri Sep 20 02:52:01 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn swalker.cc,1.55 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv23045 Modified Files: swalker.cc Log Message: Don't keep comments originating from different file than declaration Work around bug in g++ 3.2 ? (*iter++ thing) ***** Bogus filespec: swalker.cc,1.55 From chalky at users.sourceforge.net Fri Sep 20 02:52:04 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn occ.cc,1.67 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv23615 Modified Files: occ.cc Log Message: Don't die on error, as in case of GUI this is bad. ***** Bogus filespec: occ.cc,1.67 From chalky at users.sourceforge.net Fri Sep 20 02:54:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn decoder.hh,1.9 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv24832 Modified Files: decoder.hh Log Message: Added a char_traits for the unsigned char encoded strings ***** Bogus filespec: decoder.hh,1.9 From chalky at users.sourceforge.net Fri Sep 20 02:55:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/occ parse.cc,1.24 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/occ In directory usw-pr-cvs1:/tmp/cvs-serv25961 Modified Files: parse.cc Log Message: Allow type of value template parameters to be scoped ***** Bogus filespec: parse.cc,1.24 From chalky at users.sourceforge.net Fri Sep 20 02:57:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/regression regressions.py,1.3 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/regression In directory usw-pr-cvs1:/tmp/cvs-serv27502 Modified Files: regressions.py Log Message: Added tests for funky not-quite-recursive macros and scoped template parms ***** Bogus filespec: regressions.py,1.3 From chalky at users.sourceforge.net Fri Sep 20 03:35:01 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/bin synopsis,1.2 Message-ID: Update of /cvsroot/synopsis/Synopsis/bin In directory usw-pr-cvs1:/tmp/cvs-serv31056/bin Modified Files: synopsis Log Message: Add support for direct invocation of project files with -P ***** Bogus filespec: synopsis,1.2 From chalky at users.sourceforge.net Fri Sep 20 03:35:05 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:23 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Linker Comments.py,1.15 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Linker In directory usw-pr-cvs1:/tmp/cvs-serv31871 Modified Files: Comments.py Log Message: Add a comment parser for plain old // comments ***** Bogus filespec: Comments.py,1.15 From chalky at users.sourceforge.net Fri Sep 20 03:36:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Linker Unduplicator.py,1.2 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Linker In directory usw-pr-cvs1:/tmp/cvs-serv32165 Modified Files: Unduplicator.py Log Message: Better handling of namespaces with repeated comments ***** Bogus filespec: Unduplicator.py,1.2 From chalky at users.sourceforge.net Fri Sep 20 03:36:04 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Core Util.py,1.19 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Core In directory usw-pr-cvs1:/tmp/cvs-serv32681 Modified Files: Util.py Log Message: Allow writing a comment to top of file ***** Bogus filespec: Util.py,1.19 From chalky at users.sourceforge.net Fri Sep 20 03:37:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Core Executor.py,1.7 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Core In directory usw-pr-cvs1:/tmp/cvs-serv538 Modified Files: Executor.py Log Message: Process files one at a time, rather than all of them incrementally, by adding a third stage to the protocol ***** Bogus filespec: Executor.py,1.7 From chalky at users.sourceforge.net Fri Sep 20 03:37:04 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Core Project.py,1.7 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Core In directory usw-pr-cvs1:/tmp/cvs-serv1687 Modified Files: Project.py Log Message: Write the comment to the top of the project file ***** Bogus filespec: Project.py,1.7 From chalky at users.sourceforge.net Fri Sep 20 03:38:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Formatter ClassTree.py,1.5 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Formatter In directory usw-pr-cvs1:/tmp/cvs-serv2397 Modified Files: ClassTree.py Log Message: Fix a crash bug ***** Bogus filespec: ClassTree.py,1.5 From chalky at users.sourceforge.net Fri Sep 20 03:38:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/demo/Boost - New directory Message-ID: Update of /cvsroot/synopsis/Synopsis/demo/Boost In directory usw-pr-cvs1:/tmp/cvs-serv3222/Boost Log Message: Directory /cvsroot/synopsis/Synopsis/demo/Boost added to the repository From chalky at users.sourceforge.net Fri Sep 20 03:39:04 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/demo/Boost Makefile,1.1 boost.synopsis,1.1 Message-ID: Update of /cvsroot/synopsis/Synopsis/demo/Boost In directory usw-pr-cvs1:/tmp/cvs-serv3763/Boost Added Files: Makefile boost.synopsis Log Message: New boost demo - currently only parses the Boost Python Lib From chalky at users.sourceforge.net Tue Sep 24 08:12:06 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/bin gen-emulations,1.2 Message-ID: Update of /cvsroot/synopsis/Synopsis/bin In directory usw-pr-cvs1:/tmp/cvs-serv20621 Modified Files: gen-emulations Log Message: Updated to include macros, and actually write file. NB: still a prototype! ***** Bogus filespec: gen-emulations,1.2 From chalky at users.sourceforge.net Fri Sep 27 22:47:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:24 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/ucpp cpp.c,1.10 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/ucpp In directory usw-pr-cvs1:/tmp/cvs-serv26284 Modified Files: cpp.c Log Message: Added -dD option to include #defines in output ***** Bogus filespec: cpp.c,1.10 From chalky at users.sourceforge.net Fri Sep 27 22:48:01 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:25 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/ucpp eval.c,1.7 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/ucpp In directory usw-pr-cvs1:/tmp/cvs-serv26337 Modified Files: eval.c Log Message: Check for ulong - Cygwin needs it, Linux doesn't seem to ***** Bogus filespec: eval.c,1.7 From chalky at users.sourceforge.net Fri Sep 27 22:48:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:25 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn synopsis.cc,1.37 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv26473 Modified Files: synopsis.cc Log Message: Changed nullObj to dump python exception, and don't raise in cygwin ***** Bogus filespec: synopsis.cc,1.37 From chalky at users.sourceforge.net Fri Sep 27 22:50:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:25 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn occ.cc,1.68 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv26748 Modified Files: occ.cc Log Message: Added support for emulating compilers ***** Bogus filespec: occ.cc,1.68 From chalky at users.sourceforge.net Fri Sep 27 22:51:06 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:25 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/syn decoder.hh,1.10 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/syn In directory usw-pr-cvs1:/tmp/cvs-serv26815 Modified Files: decoder.hh Log Message: Wrap the char_traits in a check for G++ 3.2 or higher ***** Bogus filespec: decoder.hh,1.10 From chalky at users.sourceforge.net Fri Sep 27 22:51:07 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:25 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++ __init__.py,1.7 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++ In directory usw-pr-cvs1:/tmp/cvs-serv26948 Modified Files: __init__.py Log Message: Add emul module ***** Bogus filespec: __init__.py,1.7 From chalky at users.sourceforge.net Fri Sep 27 22:52:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:25 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++ emul.py,1.1 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++ In directory usw-pr-cvs1:/tmp/cvs-serv27002 Added Files: emul.py Log Message: Moved compiler emulation stuff to this module ***** Bogus filespec: emul.py,1.1 From chalky at users.sourceforge.net Fri Sep 27 22:52:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Parser/C++/occ token.cc,1.11 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Parser/C++/occ In directory usw-pr-cvs1:/tmp/cvs-serv27112/occ Modified Files: token.cc Log Message: Reinit some static vars each time to prevent crashes ***** Bogus filespec: token.cc,1.11 From chalky at users.sourceforge.net Fri Sep 27 22:54:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/UI/Qt actionvis.py,1.9 browse.py,1.10 igraph.py,1.3 main.py,1.6 project.py,1.5 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/UI/Qt In directory usw-pr-cvs1:/tmp/cvs-serv27297 Modified Files: actionvis.py browse.py igraph.py main.py project.py Log Message: Refactored display into separate project and browser windows. Execute projects in the background ***** Bogus filespec: project.py,1.5 From chalky at users.sourceforge.net Fri Sep 27 23:16:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Formatter/HTML FileLayout.py,1.12 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Formatter/HTML In directory usw-pr-cvs1:/tmp/cvs-serv31096/HTML Modified Files: FileLayout.py Log Message: Quote filenames to prevent angle brackets being used ***** Bogus filespec: FileLayout.py,1.12 From chalky at users.sourceforge.net Fri Sep 27 23:17:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Core Util.py,1.20 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Core In directory usw-pr-cvs1:/tmp/cvs-serv31224 Modified Files: Util.py Log Message: Don't dump file to stdout ***** Bogus filespec: Util.py,1.20 From chalky at users.sourceforge.net Fri Sep 27 23:17:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Core Executor.py,1.8 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Core In directory usw-pr-cvs1:/tmp/cvs-serv31277 Modified Files: Executor.py Log Message: Added option to be verbose about what the executors are doing ***** Bogus filespec: Executor.py,1.8 From chalky at users.sourceforge.net Fri Sep 27 23:18:01 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Core Project.py,1.8 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Core In directory usw-pr-cvs1:/tmp/cvs-serv31376 Modified Files: Project.py Log Message: Added is_project ***** Bogus filespec: Project.py,1.8 From chalky at users.sourceforge.net Fri Sep 27 23:18:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:26 2005 Subject: [Synopsis-cvs] CVS: Synopsis/bin synopsis-qt,1.11 gen-emulations,NONE Message-ID: Update of /cvsroot/synopsis/Synopsis/bin In directory usw-pr-cvs1:/tmp/cvs-serv31516 Modified Files: synopsis-qt Removed Files: gen-emulations Log Message: Removed gen-emulations. Add project support --- synopsis-qt DELETED --- From chalky at users.sourceforge.net Fri Sep 27 23:32:03 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:27 2005 Subject: [Synopsis-cvs] CVS: Synopsis/demo/Boost boost.synopsis,1.2 Message-ID: Update of /cvsroot/synopsis/Synopsis/demo/Boost In directory usw-pr-cvs1:/tmp/cvs-serv1633 Modified Files: boost.synopsis Log Message: Fixed includes ***** Bogus filespec: boost.synopsis,1.2 From chalky at users.sourceforge.net Fri Sep 27 23:33:02 2002 From: chalky at users.sourceforge.net (Stephen Davies) Date: Wed Mar 2 21:05:27 2005 Subject: [Synopsis-cvs] CVS: Synopsis/Synopsis/Formatter/HTML FileLayout.py,1.13 Message-ID: Update of /cvsroot/synopsis/Synopsis/Synopsis/Formatter/HTML In directory usw-pr-cvs1:/tmp/cvs-serv1727 Modified Files: FileLayout.py Log Message: Ooops, removing print ***** Bogus filespec: FileLayout.py,1.13