+/*#endif*/
+
+#ifndef __P
+#ifdef __STDC__
+#define __P(args) args
+#else
+#define __P(args) ()
+#endif
+#endif
+
+/* cgram.c */
+NODE *mkty __P((unsigned t, int d, int s));
+NODE *bdty __P((int op, NODE *p, int v));
+int dstash __P((int n));
+int savebc __P((void));
+int resetbc __P((int mask));
+int addcase __P((NODE *p));
+int adddef __P((void));
+int swstart __P((void));
+int swend __P((void));
+int yyparse __P((void));
+
+/* code.c */
+int branch __P((int n));
+int defalign __P((int n));
+int locctr __P((int l));
+int deflab __P((int n));
+int getlab __P((void));
+int efcode __P((void));
+int bfcode __P((int a[], int n));
+int bccode __P((void));
+int ejobcode __P((int flag));
+int aobeg __P((void));
+int aocode __P((struct symtab *p));
+int aoend __P((void));
+int defnam __P((register struct symtab *p));
+int bycode __P((int t, int i));
+int zecode __P((int n));
+int fldal __P((unsigned t));
+int fldty __P((struct symtab *p));
+int where __P((int c));
+char *toreg __P((TWORD type));
+int main __P((int argc, char *argv[]));
+int genswitch __P((register struct sw *p, int n));
+int makeheap __P((register struct sw *p, int m, int n));
+int select __P((int m));
+int walkheap __P((int start, int limit));
+
+/* local.c */
+NODE *cast __P((register NODE *p, TWORD t));
+NODE *clocal __P((NODE *p));
+int andable __P((NODE *p));
+int cendarg __P((void));
+int cisreg __P((TWORD t));
+NODE *offcon __P((OFFSZ off, TWORD t, int d, int s));
+int incode __P((register NODE *p, int sz));
+int fincode __P((double d, int sz));
+int cinit __P((NODE *p, int sz));
+int vfdzero __P((int n));
+char *exname __P((char *p));
+int ctype __P((TWORD type));
+int noinit __P((void));
+int commdec __P((int id));
+int isitlong __P((int cb, int ce));
+int isitfloat __P((char *s));
+int ecode __P((NODE *p));
+int tlen __P((NODE *p));
+
+/* optim.c */
+NODE *fortarg __P((NODE *p));
+NODE *optim __P((register NODE *p));
+int ispow2 __P((CONSZ c));
+
+/* pftn.c */
+int defid __P((register NODE *q, register int class));
+int psave __P((int i));
+int ftnend __P((void));
+int dclargs __P((void));
+NODE *rstruct __P((int idn, int soru));
+int moedef __P((int idn));
+int bstruct __P((int idn, int soru));
+NODE *dclstruct __P((int oparam));
+int yyerror __P((char *s));
+int yyaccpt __P((void));
+int ftnarg __P((int idn));
+int talign __P((register unsigned ty, register s));
+OFFSZ tsize __P((TWORD ty, int d, int s));
+int inforce __P((OFFSZ n));
+int vfdalign __P((int n));
+int beginit __P((int curid));
+int instk __P((int id, TWORD t, int d, int s, OFFSZ off));
+NODE *getstr __P((void));
+int putbyte __P((int v));
+int endinit __P((void));
+int doinit __P((register NODE *p));
+int gotscal __P((void));
+int ilbrace __P((void));
+int irbrace __P((void));
+int upoff __P((int size, register alignment, register *poff));
+int oalloc __P((register struct symtab *p, register *poff));
+int falloc __P((register struct symtab *p, int w, int new, NODE *pty));
+int nidcl __P((NODE *p));
+TWORD types __P((TWORD t1, TWORD t2, TWORD t3));
+NODE *tymerge __P((NODE *typ, NODE *idp));
+int tyreduce __P((register NODE *p));
+int fixtype __P((register NODE *p, int class));
+int uclass __P((register class));
+int fixclass __P((int class, TWORD type));
+struct symtab *mknonuniq __P((int *idindex));
+int lookup __P((char *name, int s));
+int XXXcheckst __P((int lev));
+struct symtab *relook __P((register struct symtab *p));
+int clearst __P((register int lev));
+int hide __P((register struct symtab *p));
+int unhide __P((register struct symtab *p));
+
+/* scan.c */
+int mainp1 __P((int argc, char *argv[]));
+int lxenter __P((register char *s, int m));
+int lxmore __P((register c, register m));
+int lxinit __P((void));
+int lxstr __P((int ct));
+int lxcom __P((void));
+int yylex __P((void));
+int lxres __P((void));
+int lxtitle __P((void));
+char *savestr __P((register char *cp));
+char *hash __P((char *s));
+
+/* stab.c */
+int fixarg __P((struct symtab *p));
+int outstab __P((struct symtab *sym));
+int outstruct __P((int szindex, int paramindex));
+int pstab __P((char *name, int type));
+int pstabdot __P((int type, int value));
+int psline __P((void));
+int plcstab __P((int level));
+int prcstab __P((int level));
+int pfstab __P((char *sname));
+
+/* trees.c */
+int printact __P((NODE *t, int acts));
+NODE *buildtree __P((int o, register NODE *l, register NODE *r));
+int fpe __P((void));
+NODE *fixargs __P((register NODE *p));
+int chkstr __P((int i, int j, TWORD type));
+int conval __P((register NODE *p, int o, register NODE *q));
+int chkpun __P((register NODE *p));
+NODE *stref __P((register NODE *p));
+int notlval __P((register NODE *p));
+NODE *bcon __P((int i));
+NODE *bpsize __P((register NODE *p));
+OFFSZ psize __P((NODE *p));
+NODE *convert __P((register NODE *p, int f));
+int econvert __P((register NODE *p));
+NODE *pconvert __P((register NODE *p));
+NODE *oconvert __P((register NODE *p));
+NODE *ptmatch __P((register NODE *p));
+NODE *tymatch __P((register NODE *p));
+NODE *makety __P((register NODE *p, TWORD t, int d, int s));
+NODE *block __P((int o, register NODE *l, register NODE *r, TWORD t, int d, int s));
+int icons __P((register NODE *p));
+int opact __P((NODE *p));
+int moditype __P((TWORD ty));
+NODE *doszof __P((register NODE *p));
+int eprint __P((register NODE *p, int down, int *a, int *b));
+int prtdcon __P((register NODE *p));
+int ecomp __P((register NODE *p));
+int prtree __P((register NODE *p));
+int p2tree __P((register NODE *p));
+
+/* xdefs.c */
+char *scnames __P((register c));
+