insight'ed cpp. Nothing found that should be of interest.

This commit is contained in:
gdr 1997-12-08 03:40:12 +00:00
parent 619c3191d1
commit 79ab0e7f2b
11 changed files with 188 additions and 182 deletions

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdio.h>
@ -21,7 +21,7 @@ int ifdepth;
int ifsatisfied[NIF];
int skipping;
char rcsid[] = "$Revision: 1.2 $ $Date: 1997/12/02 08:05:52 $";
char rcsid[] = "$Revision: 1.3 $ $Date: 1997/12/08 03:40:11 $";
#if defined(__GNO__) && defined(__STACK_CHECK__)
#include <err.h>
@ -115,7 +115,7 @@ control(Tokenrow *trp)
error(ERROR, "Unidentifiable control line");
return; /* else empty line */
}
if ((np = lookup(tp, 0))==NULL || (np->flag&ISKW)==0 && !skipping) {
if ((np = lookup(tp, 0))==NULL || ((np->flag&ISKW)==0 && !skipping)) {
error(WARNING, "Unknown preprocessor control %t", tp);
return;
}
@ -230,7 +230,8 @@ control(Tokenrow *trp)
tp = trp->bp+2;
kline:
if (tp+1>=trp->lp || tp->type!=NUMBER || tp+3<trp->lp
|| (tp+3==trp->lp && ((tp+1)->type!=STRING)||*(tp+1)->t=='L')){
|| ((tp+3==trp->lp && ((tp+1)->type!=STRING))
|| *(tp+1)->t=='L')) {
error(ERROR, "Syntax error in #line");
return;
}

View File

@ -1,4 +1,4 @@
/* $Id: cpp.h,v 1.2 1997/12/02 08:05:52 gdr Exp $ */
/* $Id: cpp.h,v 1.3 1997/12/08 03:40:11 gdr Exp $ */
#define INS 32768 /* input buffer */
#define OBS 4096 /* outbut buffer */
#define NARG 32 /* Max number arguments to a macro */
@ -139,6 +139,7 @@ int newhideset(int, Nlist *);
int unionhideset(int, int);
void iniths(void);
void setobjname(char *);
void setup_kwtab(void);
#define rowlen(tokrow) ((tokrow)->lp - (tokrow)->bp)
extern char *outp;
@ -156,15 +157,6 @@ extern Nlist *kwdefined;
extern Includelist includelist[NINCLUDE];
extern char wd[];
#ifndef __ORCAC__ /* make sure we get our own decls */
extern int creat(char *, int);
extern int open(char *, int);
extern int close(int);
extern int dup2(int, int);
extern int write(int, char *, size_t);
extern int read(int, char *, size_t);
#endif
#ifdef __ORCAC__
# define STATIC static
# ifdef NDEBUG

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdlib.h>
@ -148,7 +148,7 @@ eval(Tokenrow *trp, int kw)
case NOT:
if (rand)
goto syntax;
*op++ = tp->type;
*op++ = (enum toktype) tp->type;
continue;
/* unary-binary */
@ -173,7 +173,7 @@ eval(Tokenrow *trp, int kw)
goto syntax;
if (evalop(priority[tp->type])!=0)
return 0;
*op++ = tp->type;
*op++ = (enum toktype) tp->type;
rand = 0;
continue;

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdio.h>

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdio.h>

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdlib.h>
@ -65,7 +65,7 @@ doinclude(Tokenrow *trp)
if ((fd = open(iname, 0)) >= 0)
break;
}
if ( Mflag>1 || !angled&&Mflag==1 ) {
if ( Mflag>1 || ( !angled && Mflag==1 )) {
write(STDOUT_FILENO,objname,strlen(objname));
write(STDOUT_FILENO,iname,strlen(iname));
write(STDOUT_FILENO,"\n",1);
@ -94,8 +94,18 @@ void
genline(void)
{
static Token ta = { UNCLASS };
static Tokenrow tr = { &ta, &ta, &ta+1, 1 };
uchar *p;
#ifndef __INSIGHT__
static Tokenrow tr = { &ta, &ta, &ta+1, 1 };
#else
static Tokenrow tr;
static int been_here = 0;
if (! been_here) {
tr = { &ta, &ta, &ta+1, 1 };
been_here = 1;
}
#endif
ta.t = p = (uchar*)outp;
strcpy((char*)p, "#line ");

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_1_____";
#endif
#include <stdio.h>
@ -56,183 +56,183 @@ struct fsm {
/*const*/ struct fsm fsm[] = {
/* start state */
START, { C_XX }, ACT(UNCLASS,S_SELF),
START, { ' ', '\t', '\v' }, WS1,
START, { C_NUM }, NUM1,
START, { '.' }, NUM3,
START, { C_ALPH }, ID1,
START, { 'L' }, ST1,
START, { '"' }, ST2,
START, { '\'' }, CC1,
START, { '/' }, COM1,
START, { EOFC }, S_EOF,
START, { '\n' }, S_NL,
START, { '-' }, MINUS1,
START, { '+' }, PLUS1,
START, { '<' }, LT1,
START, { '>' }, GT1,
START, { '=' }, ASG1,
START, { '!' }, NOT1,
START, { '&' }, AND1,
START, { '|' }, OR1,
START, { '#' }, SHARP1,
START, { '%' }, PCT1,
START, { '[' }, ACT(SBRA,S_SELF),
START, { ']' }, ACT(SKET,S_SELF),
START, { '(' }, ACT(LP,S_SELF),
START, { ')' }, ACT(RP,S_SELF),
START, { '*' }, STAR1,
START, { ',' }, ACT(COMMA,S_SELF),
START, { '?' }, ACT(QUEST,S_SELF),
START, { ':' }, ACT(COLON,S_SELF),
START, { ';' }, ACT(SEMIC,S_SELF),
START, { '{' }, ACT(CBRA,S_SELF),
START, { '}' }, ACT(CKET,S_SELF),
START, { '~' }, ACT(TILDE,S_SELF),
START, { '^' }, CIRC1,
{ START, { C_XX }, ACT(UNCLASS,S_SELF) },
{ START, { ' ', '\t', '\v' }, WS1 },
{ START, { C_NUM }, NUM1 },
{ START, { '.' }, NUM3 },
{ START, { C_ALPH }, ID1 },
{ START, { 'L' }, ST1 },
{ START, { '"' }, ST2 },
{ START, { '\'' }, CC1 },
{ START, { '/' }, COM1 },
{ START, { EOFC }, S_EOF },
{ START, { '\n' }, S_NL },
{ START, { '-' }, MINUS1 },
{ START, { '+' }, PLUS1 },
{ START, { '<' }, LT1 },
{ START, { '>' }, GT1 },
{ START, { '=' }, ASG1 },
{ START, { '!' }, NOT1 },
{ START, { '&' }, AND1 },
{ START, { '|' }, OR1 },
{ START, { '#' }, SHARP1 },
{ START, { '%' }, PCT1 },
{ START, { '[' }, ACT(SBRA,S_SELF) },
{ START, { ']' }, ACT(SKET,S_SELF) },
{ START, { '(' }, ACT(LP,S_SELF) },
{ START, { ')' }, ACT(RP,S_SELF) },
{ START, { '*' }, STAR1 },
{ START, { ',' }, ACT(COMMA,S_SELF) },
{ START, { '?' }, ACT(QUEST,S_SELF) },
{ START, { ':' }, ACT(COLON,S_SELF) },
{ START, { ';' }, ACT(SEMIC,S_SELF) },
{ START, { '{' }, ACT(CBRA,S_SELF) },
{ START, { '}' }, ACT(CKET,S_SELF) },
{ START, { '~' }, ACT(TILDE,S_SELF) },
{ START, { '^' }, CIRC1 },
/* saw a digit */
NUM1, { C_XX }, ACT(NUMBER,S_SELFB),
NUM1, { C_NUM, C_ALPH, '.' }, NUM1,
NUM1, { 'E', 'e' }, NUM2,
NUM1, { '_' }, ACT(NUMBER,S_SELFB),
{ NUM1, { C_XX }, ACT(NUMBER,S_SELFB) },
{ NUM1, { C_NUM, C_ALPH, '.' }, NUM1 },
{ NUM1, { 'E', 'e' }, NUM2 },
{ NUM1, { '_' }, ACT(NUMBER,S_SELFB) },
/* saw possible start of exponent, digits-e */
NUM2, { C_XX }, ACT(NUMBER,S_SELFB),
NUM2, { '+', '-' }, NUM1,
NUM2, { C_NUM, C_ALPH }, NUM1,
NUM2, { '_' }, ACT(NUMBER,S_SELFB),
{ NUM2, { C_XX }, ACT(NUMBER,S_SELFB) },
{ NUM2, { '+', '-' }, NUM1 },
{ NUM2, { C_NUM, C_ALPH }, NUM1 },
{ NUM2, { '_' }, ACT(NUMBER,S_SELFB) },
/* saw a '.', which could be a number or an operator */
NUM3, { C_XX }, ACT(DOT,S_SELFB),
NUM3, { '.' }, DOTS1,
NUM3, { C_NUM }, NUM1,
{ NUM3, { C_XX }, ACT(DOT,S_SELFB) },
{ NUM3, { '.' }, DOTS1 },
{ NUM3, { C_NUM }, NUM1 },
DOTS1, { C_XX }, ACT(UNCLASS, S_SELFB),
DOTS1, { C_NUM }, NUM1,
DOTS1, { '.' }, ACT(ELLIPS, S_SELF),
{ DOTS1, { C_XX }, ACT(UNCLASS, S_SELFB) },
{ DOTS1, { C_NUM }, NUM1 },
{ DOTS1, { '.' }, ACT(ELLIPS, S_SELF) },
/* saw a letter or _ */
ID1, { C_XX }, ACT(NAME,S_NAME),
ID1, { C_ALPH, C_NUM }, ID1,
{ ID1, { C_XX }, ACT(NAME,S_NAME) },
{ ID1, { C_ALPH, C_NUM }, ID1 },
/* saw L (start of wide string?) */
ST1, { C_XX }, ACT(NAME,S_NAME),
ST1, { C_ALPH, C_NUM }, ID1,
ST1, { '"' }, ST2,
ST1, { '\'' }, CC1,
{ ST1, { C_XX }, ACT(NAME,S_NAME) },
{ ST1, { C_ALPH, C_NUM }, ID1 },
{ ST1, { '"' }, ST2 },
{ ST1, { '\'' }, CC1 },
/* saw " beginning string */
ST2, { C_XX }, ST2,
ST2, { '"' }, ACT(STRING, S_SELF),
ST2, { '\\' }, ST3,
ST2, { '\n' }, S_STNL,
ST2, { EOFC }, S_EOFSTR,
{ ST2, { C_XX }, ST2 },
{ ST2, { '"' }, ACT(STRING, S_SELF) },
{ ST2, { '\\' }, ST3 },
{ ST2, { '\n' }, S_STNL },
{ ST2, { EOFC }, S_EOFSTR },
/* saw \ in string */
ST3, { C_XX }, ST2,
ST3, { '\n' }, S_STNL,
ST3, { EOFC }, S_EOFSTR,
{ ST3, { C_XX }, ST2 },
{ ST3, { '\n' }, S_STNL },
{ ST3, { EOFC }, S_EOFSTR },
/* saw ' beginning character const */
CC1, { C_XX }, CC1,
CC1, { '\'' }, ACT(CCON, S_SELF),
CC1, { '\\' }, CC2,
CC1, { '\n' }, S_STNL,
CC1, { EOFC }, S_EOFSTR,
{ CC1, { C_XX }, CC1 },
{ CC1, { '\'' }, ACT(CCON, S_SELF) },
{ CC1, { '\\' }, CC2 },
{ CC1, { '\n' }, S_STNL },
{ CC1, { EOFC }, S_EOFSTR },
/* saw \ in ccon */
CC2, { C_XX }, CC1,
CC2, { '\n' }, S_STNL,
CC2, { EOFC }, S_EOFSTR,
{ CC2, { C_XX }, CC1 },
{ CC2, { '\n' }, S_STNL },
{ CC2, { EOFC }, S_EOFSTR },
/* saw /, perhaps start of comment */
COM1, { C_XX }, ACT(SLASH, S_SELFB),
COM1, { '=' }, ACT(ASSLASH, S_SELF),
COM1, { '*' }, COM2,
COM1, { '/' }, COM4,
{ COM1, { C_XX }, ACT(SLASH, S_SELFB) },
{ COM1, { '=' }, ACT(ASSLASH, S_SELF) },
{ COM1, { '*' }, COM2 },
{ COM1, { '/' }, COM4 },
/* saw "/*", start of comment */
COM2, { C_XX }, COM2,
COM2, { '\n' }, S_COMNL,
COM2, { '*' }, COM3,
COM2, { EOFC }, S_EOFCOM,
{ COM2, { C_XX }, COM2 },
{ COM2, { '\n' }, S_COMNL },
{ COM2, { '*' }, COM3 },
{ COM2, { EOFC }, S_EOFCOM },
/* saw the * possibly ending a comment */
COM3, { C_XX }, COM2,
COM3, { '\n' }, S_COMNL,
COM3, { '*' }, COM3,
COM3, { '/' }, S_COMMENT,
{ COM3, { C_XX }, COM2 },
{ COM3, { '\n' }, S_COMNL },
{ COM3, { '*' }, COM3 },
{ COM3, { '/' }, S_COMMENT },
/* // comment */
COM4, { C_XX }, COM4,
COM4, { '\n' }, S_NL,
COM4, { EOFC }, S_EOFCOM,
{ COM4, { C_XX }, COM4 },
{ COM4, { '\n' }, S_NL },
{ COM4, { EOFC }, S_EOFCOM },
/* saw white space, eat it up */
WS1, { C_XX }, S_WS,
WS1, { ' ', '\t', '\v' }, WS1,
{ WS1, { C_XX }, S_WS },
{ WS1, { ' ', '\t', '\v' }, WS1 },
/* saw -, check --, -=, -> */
MINUS1, { C_XX }, ACT(MINUS, S_SELFB),
MINUS1, { '-' }, ACT(MMINUS, S_SELF),
MINUS1, { '=' }, ACT(ASMINUS,S_SELF),
MINUS1, { '>' }, ACT(ARROW,S_SELF),
{ MINUS1, { C_XX }, ACT(MINUS, S_SELFB) },
{ MINUS1, { '-' }, ACT(MMINUS, S_SELF) },
{ MINUS1, { '=' }, ACT(ASMINUS,S_SELF) },
{ MINUS1, { '>' }, ACT(ARROW,S_SELF) },
/* saw +, check ++, += */
PLUS1, { C_XX }, ACT(PLUS, S_SELFB),
PLUS1, { '+' }, ACT(PPLUS, S_SELF),
PLUS1, { '=' }, ACT(ASPLUS, S_SELF),
{ PLUS1, { C_XX }, ACT(PLUS, S_SELFB) },
{ PLUS1, { '+' }, ACT(PPLUS, S_SELF) },
{ PLUS1, { '=' }, ACT(ASPLUS, S_SELF) },
/* saw <, check <<, <<=, <= */
LT1, { C_XX }, ACT(LT, S_SELFB),
LT1, { '<' }, LT2,
LT1, { '=' }, ACT(LEQ, S_SELF),
LT2, { C_XX }, ACT(LSH, S_SELFB),
LT2, { '=' }, ACT(ASLSH, S_SELF),
{ LT1, { C_XX }, ACT(LT, S_SELFB) },
{ LT1, { '<' }, LT2 },
{ LT1, { '=' }, ACT(LEQ, S_SELF) },
{ LT2, { C_XX }, ACT(LSH, S_SELFB) },
{ LT2, { '=' }, ACT(ASLSH, S_SELF) },
/* saw >, check >>, >>=, >= */
GT1, { C_XX }, ACT(GT, S_SELFB),
GT1, { '>' }, GT2,
GT1, { '=' }, ACT(GEQ, S_SELF),
GT2, { C_XX }, ACT(RSH, S_SELFB),
GT2, { '=' }, ACT(ASRSH, S_SELF),
{ GT1, { C_XX }, ACT(GT, S_SELFB) },
{ GT1, { '>' }, GT2 },
{ GT1, { '=' }, ACT(GEQ, S_SELF) },
{ GT2, { C_XX }, ACT(RSH, S_SELFB) },
{ GT2, { '=' }, ACT(ASRSH, S_SELF) },
/* = */
ASG1, { C_XX }, ACT(ASGN, S_SELFB),
ASG1, { '=' }, ACT(EQ, S_SELF),
{ ASG1, { C_XX }, ACT(ASGN, S_SELFB) },
{ ASG1, { '=' }, ACT(EQ, S_SELF) },
/* ! */
NOT1, { C_XX }, ACT(NOT, S_SELFB),
NOT1, { '=' }, ACT(NEQ, S_SELF),
{ NOT1, { C_XX }, ACT(NOT, S_SELFB) },
{ NOT1, { '=' }, ACT(NEQ, S_SELF) },
/* & */
AND1, { C_XX }, ACT(AND, S_SELFB),
AND1, { '&' }, ACT(LAND, S_SELF),
AND1, { '=' }, ACT(ASAND, S_SELF),
{ AND1, { C_XX }, ACT(AND, S_SELFB) },
{ AND1, { '&' }, ACT(LAND, S_SELF) },
{ AND1, { '=' }, ACT(ASAND, S_SELF) },
/* | */
OR1, { C_XX }, ACT(OR, S_SELFB),
OR1, { '|' }, ACT(LOR, S_SELF),
OR1, { '=' }, ACT(ASOR, S_SELF),
{ OR1, { C_XX }, ACT(OR, S_SELFB) },
{ OR1, { '|' }, ACT(LOR, S_SELF) },
{ OR1, { '=' }, ACT(ASOR, S_SELF) },
/* # */
SHARP1, { C_XX }, ACT(SHARP, S_SELFB),
SHARP1, { '#' }, ACT(DSHARP, S_SELF),
{ SHARP1, { C_XX }, ACT(SHARP, S_SELFB) },
{ SHARP1, { '#' }, ACT(DSHARP, S_SELF) },
/* % */
PCT1, { C_XX }, ACT(PCT, S_SELFB),
PCT1, { '=' }, ACT(ASPCT, S_SELF),
{ PCT1, { C_XX }, ACT(PCT, S_SELFB) },
{ PCT1, { '=' }, ACT(ASPCT, S_SELF) },
/* * */
STAR1, { C_XX }, ACT(STAR, S_SELFB),
STAR1, { '=' }, ACT(ASSTAR, S_SELF),
{ STAR1, { C_XX }, ACT(STAR, S_SELFB) },
{ STAR1, { '=' }, ACT(ASSTAR, S_SELF) },
/* ^ */
CIRC1, { C_XX }, ACT(CIRC, S_SELFB),
CIRC1, { '=' }, ACT(ASCIRC, S_SELF),
{ CIRC1, { C_XX }, ACT(CIRC, S_SELFB) },
{ CIRC1, { '=' }, ACT(ASCIRC, S_SELF) },
-1
{ -1, { '\0', '\0', '\0', '\0' }, 0 }
};
/* first index is char, second is state */
@ -257,10 +257,13 @@ expandlex(void)
bigfsm[j][fp->state] = nstate;
continue;
case C_ALPH:
for (j=0; j<=256; j++)
if ('a'<=j&&j<='z' || 'A'<=j&&j<='Z'
|| j=='_')
bigfsm[j][fp->state] = nstate;
for (j=0; j<=256; j++) {
if (('a'<=j && j<='z') ||
('A'<=j && j<='Z') || j=='_')
{
bigfsm[j][fp->state] = nstate;
}
}
continue;
case C_NUM:
for (j='0'; j<='9'; j++)
@ -309,7 +312,6 @@ gettokens(Tokenrow *trp, int reset)
int runelen;
Source *s = cursource;
int nmac = 0;
extern char outbuf[];
tp = trp->lp;
ip = s->inp;

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_2_____";
#endif
#include <stdio.h>
@ -77,7 +77,7 @@ dodefine(Tokenrow *trp)
if (np->flag&ISDEFINED) {
if (comparetokens(def, np->vp)
|| (np->ap==NULL) != (args==NULL)
|| np->ap && comparetokens(args, np->ap))
|| (np->ap && comparetokens(args, np->ap)))
error(ERROR, "Macro redefinition of %t", trp->bp+2);
}
if (args) {
@ -147,7 +147,7 @@ expandrow(Tokenrow *trp, char *flag)
|| quicklook(tp->t[0], tp->len>1?tp->t[1]:0)==0
|| (np = lookup(tp, 0))==NULL
|| (np->flag&(ISDEFINED|ISMAC))==0
|| tp->hideset && checkhideset(tp->hideset, np)) {
|| (tp->hideset && checkhideset(tp->hideset, np))) {
tp++;
continue;
}
@ -315,7 +315,8 @@ gatherargs(Tokenrow *trp, Tokenrow **atr, int *narg)
parens--;
if (lp->type==DSHARP)
lp->type = DSHARP1; /* ## not special in arg */
if (lp->type==COMMA && parens==0 || parens<0 && (lp-1)->type!=LP) {
if ((lp->type==COMMA && parens==0) ||
(parens<0 && (lp-1)->type!=LP)) {
if (*narg>=NARG-1)
error(FATAL, "Sorry, too many macro arguments");
ttr.bp = ttr.tp = bp;
@ -354,7 +355,7 @@ substargs(Nlist *np, Tokenrow *rtr, Tokenrow **atr)
if (rtr->tp->type==NAME
&& (argno = lookuparg(np, rtr->tp)) >= 0) {
if ((rtr->tp+1)->type==DSHARP
|| rtr->tp!=rtr->bp && (rtr->tp-1)->type==DSHARP)
|| (rtr->tp!=rtr->bp && (rtr->tp-1)->type==DSHARP))
insertrow(rtr, 1, atr[argno]);
else {
copytokenrow(&tatr, atr[argno]);

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdio.h>
@ -23,26 +23,26 @@ struct kwtab {
int val;
int flag;
} kwtab[] = {
"if", KIF, ISKW,
"ifdef", KIFDEF, ISKW,
"ifndef", KIFNDEF, ISKW,
"elif", KELIF, ISKW,
"else", KELSE, ISKW,
"endif", KENDIF, ISKW,
"include", KINCLUDE, ISKW,
"define", KDEFINE, ISKW,
"undef", KUNDEF, ISKW,
"line", KLINE, ISKW,
"error", KERROR, ISKW,
"pragma", KPRAGMA, ISKW,
"eval", KEVAL, ISKW,
"defined", KDEFINED, ISDEFINED+ISUNCHANGE,
"__LINE__", KLINENO, ISMAC+ISUNCHANGE,
"__FILE__", KFILE, ISMAC+ISUNCHANGE,
"__DATE__", KDATE, ISMAC+ISUNCHANGE,
"__TIME__", KTIME, ISMAC+ISUNCHANGE,
"__STDC__", KSTDC, ISUNCHANGE,
NULL
{ "if", KIF, ISKW },
{ "ifdef", KIFDEF, ISKW },
{ "ifndef", KIFNDEF, ISKW },
{ "elif", KELIF, ISKW },
{ "else", KELSE, ISKW },
{ "endif", KENDIF, ISKW },
{ "include", KINCLUDE, ISKW },
{ "define", KDEFINE, ISKW },
{ "undef", KUNDEF, ISKW },
{ "line", KLINE, ISKW },
{ "error", KERROR, ISKW },
{ "pragma", KPRAGMA, ISKW },
{ "eval", KEVAL, ISKW },
{ "defined", KDEFINED, ISDEFINED+ISUNCHANGE },
{ "__LINE__", KLINENO, ISMAC+ISUNCHANGE },
{ "__FILE__", KFILE, ISMAC+ISUNCHANGE },
{ "__DATE__", KDATE, ISMAC+ISUNCHANGE },
{ "__TIME__", KTIME, ISMAC+ISUNCHANGE },
{ "__STDC__", KSTDC, ISUNCHANGE },
{ NULL, 0, 0 }
};
unsigned long namebit[077+1];

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdio.h>
@ -159,14 +159,15 @@ makespace(Tokenrow *trp)
return;
if (tp->wslen) {
if (tp->flag&XPWS
&& (wstab[tp->type] || trp->tp>trp->bp && wstab[(tp-1)->type])) {
&& (wstab[tp->type] ||
(trp->tp>trp->bp && wstab[(tp-1)->type]))) {
tp->wslen = 0;
return;
}
tp->t[-1] = ' ';
return;
}
if (wstab[tp->type] || trp->tp>trp->bp && wstab[(tp-1)->type])
if (wstab[tp->type] || (trp->tp>trp->bp && wstab[(tp-1)->type]))
return;
tt = newstring(tp->t, tp->len, 1);
*tt++ = ' ';

View File

@ -1,4 +1,4 @@
#ifdef __ORCAC__
#if defined(__ORCAC__) && defined(DO_SEGMENTS)
segment "cpp_3_____";
#endif
#include <stdio.h>
@ -23,7 +23,6 @@ setup(int argc, char **argv)
int c, fd, i;
char *fp, *dp;
Tokenrow tr;
extern void setup_kwtab(void);
setup_kwtab();
while ((c = getopt(argc, argv, "MNOVv+I:D:U:F:lg")) != -1)