4 * Revision 1.1 2001/04/04 05:43:37 wang
5 * First commit: compiles on Linux, Amiga, Windows, Windows CE, generic gcc
7 * Revision 1.2 1999/11/29 14:58:00 bnv
8 * Changed: Some defines
10 * Revision 1.1 1998/07/02 17:35:50 bnv
15 #ifndef __NEXTSYMBOL_H__
16 #define __NEXTSYMBOL_H__
23 # define EXTERN extern
28 ident_sy
/* identifier symbol */
29 ,function_sy
/* ident with a paren */
30 ,literal_sy
/* literal symbol */
31 ,le_parent
/* ( */ /* the order */
32 ,le_bracket
/* [ */ /* until */
33 ,le_curlbracket
/* { */ /* not_ty */
34 ,plus_sy
/* + */ /* is important */
35 ,inc_sy
/* ++ */ /* for expr.c */
38 ,not_sy
/* ^ or \ */ /* ------------ */
40 ,eq_sy
,deq_sy
/* = == */ /* eq_sy - first */
41 ,ne_sy
,dne_sy
/* ^= ^== */
42 ,le_sy
,ge_sy
/* <= => */
43 ,lt_sy
,gt_sy
/* < > */
44 ,dle_sy
,dge_sy
/* <<= =>> */
45 ,dlt_sy
,dgt_sy
/* << >> */
47 ,times_sy
/* * */ /* another group */
50 ,intdiv_sy
/* // */ /* --------------- */
54 ,ri_curlbracket
/* } */
71 ,then_sy
/* in_if_...*/
72 ,with_sy
/* in_parse */
76 /*---------------------------------------------------
78 ,times_assign_sy * *= *
80 ,power_assign_sy * **= *
81 ,intdiv_assign_sy * //= *
83 ,plus_assign_sy * += *
84 ,minus_assign_sy * -= *
85 ,concat_assign_sy * ||= *
87 ,xor_assign_sy * &&= *
88 ----------------------------------------------------*/
92 normal_st
/* normal statement */
100 EXTERN
enum symboltype symbol
; /* contains the symbol */
101 EXTERN Lstr symbolstr
; /* symbol identifier */
102 EXTERN
bool symbolisstr
; /* if litteral was inside quotes*/
103 EXTERN
bool symbolPrevBlank
; /* previous blank */
104 EXTERN
int symbolhasdot
; /* is symbol has a dot->stem */
105 EXTERN
char *symbolptr
; /* current symbol pointer */
106 EXTERN
char *symbolprevptr
; /* start of current symbol */
107 EXTERN
int symboline
; /* current line number */
108 EXTERN
enum stat_type symbolstat
; /* statement type */
110 /* -------- function prototypes ----------- */
111 void InitNextsymbol( PLstr str
);
112 void nextsymbol(void);