home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
vol_300
/
355_02
/
slk2.exe
/
SPP
/
TMP.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-06-09
|
5KB
|
214 lines
/*
New Sherlock preprocessor -- function templates
Source: tmp.h
Started: September 28, 1987
Version:
April 1, 1988
February 16, 1989:
eliminate entries for so_dump, so_lws, so_hws.
add entry for so_disable.
PUBLIC DOMAIN SOFTWARE
Sherlock, including the SPP, SDEL and SDIF programs, was placed in
the public domain on June 15, 1991, by its author,
Edward K. Ream
166 North Prospect Ave.
Madison, WI 53705.
(608) 257-0802
Sherlock may be used for any commercial or non-commercial purpose.
DISCLAIMER OF WARRANTIES
Edward K. Ream (Ream) specifically disclaims all warranties,
expressed or implied, with respect to this computer software,
including but not limited to implied warranties of merchantability
and fitness for a particular purpose. In no event shall Ream be
liable for any loss of profit or any commercial damage, including
but not limited to special, incidental consequential or other damages.
*/
/* dcl.c */
void allow_mkeys (void);
void block_dcls (void);
void dcl (en_scope scope);
void type_name (void);
void program (void);
/* def.c */
void pp_def (void);
bool outer_expand (char *name, bool old_mflag);
/* dir.c */
void do_pp (void);
/* exp.c */
void con_expr (en_tokens delim);
void expr (en_tokens delim);
void expr1 (en_tokens delim);
bool is_expr_tok (void);
/* mem.c */
void * m_alloc (int n);
void m_begin (void);
void m_end (void);
void m_free (void * mem);
void m_stat (void);
/* mst.c */
void mst_init (void);
void mst2_init (void);
void mst_delete (char *name);
void mst_enter (char *name, char *text, int nargs);
bool mst_lookup (char *name, char **text, int *nargs);
void mst_unarg (char *s);
/* pr.c */
char * pr_bool (bool flag);
char * pr_ch (int c);
char * pr_op (en_tokens tok);
char * pr_scope (en_scope scope);
char * pr_str (char *s);
char * pr_tok (void);
/* par.c */
void block (void);
void must (en_tokens token);
void need (en_tokens token);
bool needend (en_tokens token);
/* res.c */
en_tokens is_reserved (char *name, int length);
/* sem.c */
bool is_type (void);
bool is_typedef (char * id);
void sd_dcl (en_scope scope);
void sd_end (en_scope scope, en_tokens end_tok);
void sd_func (void);
void sd_htype (en_scope scope, en_tokens token);
void sd_id (en_scope scope, char * id);
void sd_type (en_scope scope, en_tokens token);
void sd_typedef (en_scope scope);
void sf_1body (void);
void sf_2body (void);
void sf_break (void);
void sf_default (void);
void sf_1do (void);
void sf_2do (void);
void sf_expr (void);
void sf_1for (bool empty_control);
void sf_2for (void);
void sf_goto (void);
void sf_1if (void);
void sf_2if (void);
void sf_3if (void);
void sf_label (void);
void sf_return (void);
void sf_1switch (void);
void sf_2switch (void);
void sf_1while (void);
void sf_2while (void);
void so_disable (void); /* 2/16/89 */
void so_entry (void);
void so_1exit (void);
void so_2exit (bool flag);
void so_3exit (void);
void so_leave (void);
/* spp.c */
void begin_line (bool flag);
void bump_line (void);
void get_token (void);
void get_xtoken (void);
void get_t1 (bool expand_flag);
int con_token (void);
void synonyms (void);
bool is_sherlock (char * id);
/* st.c */
void st_dump (void);
void st_begin (void);
void st_end (void);
void st_enter (char * symbol, en_tokens type, bool td_flag);
void st_init (void);
bool st_lookup (char * symbol, en_tokens * type, bool * td_flag);
/* str.c */
char * str_alloc (char *s);
void str_cat (char *s1, char *s2);
char * str_mcat (char *s1, char *s2);
void str_cpy (char *s1, char *s2);
bool str_eq (char *s1, char *s2);
int str_len (char *s);
void str_lower (char *s);
void str_upper (char *s);
/* sys.c */
void sysabort (void);
void syspushback (int c);
void sysnext (void);
void syspremac (char old_ch);
void sysnext (void);
void syshdump (void);
void syshflush (void);
void syshkill (void);
char * syshnldel (void);
void sysiclose (void);
int sysopen (char *file_name);
int syscreat (char *file_name);
void sysoclose (void);
void sysnlput (void);
void syscput (char c);
void syssput (char *s);
void sysend (void);
void sysinit (void);
bool sysargeq (char *s1, char *s2);
void syscsts (void);
char * systime (void);
char * sysdate (void);
/* tok.c */
void t_comment (void);
void skip_comment (void);
void t_id (char *buffer, int max_length);
en_tokens
t_number (bool dot_flag);
void t_string (char *out, int max_out, bool copy_flag);
int in_string (char *in, char *out, int max_out);
/* utl.c */
int char_val (char *s);
unsigned int
str_val (unsigned char *s);
int conv2i (char *string, int radix);
void conv2s (int a, char *s);
void convl2s (long a, char *s);
void conul2sc (unsigned long a, char *s, int count);
void conl2h (unsigned long a, char *s, int count);
void skip_bl (void);
void skip_1line (void);
void skip_past (void);
void skip_ws (bool nl_flag);
void fatal (char *message);
void err_cont (void);
void error (char *message);
void err2 (char *mess1, char *mess2);
void err3 (char *mess1, char *mess2, char *mess3);
void warning (char *message);
void warn2 (char *mess1, char *mess2);
void warn3 (char *mess1, char *mess2, char *mess3);
void syserr (char *message);