1 /* syntax.h  syntax header file for vasm */
2 /* (c) in 2002,2005,2009-2015,2017
3    by Volker Barthelmann and Frank Wille */
4 
5 /* macros to recognize identifiers */
6 int isidchar(char);
7 int iscomment(char *);
8 #define ISIDSTART(x) ((x)=='.'||(x)=='@'||(x)=='_'||isalpha((unsigned char)(x)))
9 #define ISIDCHAR(x) isidchar(x)
10 #define ISBADID(p,l) ((l)==1&&(*(p)=='.'||*(p)=='@'||*(p)=='_'))
11 #define ISEOL(p) (*(p)=='\0'||iscomment(p))
12 #ifdef VASM_CPU_M68K
13 char *chkidend(char *,char *);
14 #define CHKIDEND(s,e) chkidend((s),(e))
15 #endif
16 
17 /* result of a boolean operation */
18 #define BOOLEAN(x) -(x)
19 
20 /* we have a special skip() function for expressions, called exp_skip() */
21 char *exp_skip(char *);
22 #define EXPSKIP() s=exp_skip(s)
23 
24 /* ignore operand field, when the instruction has no operands */
25 #define IGNORE_FIRST_EXTRA_OP 1
26 
27 /* symbol which contains the number of macro arguments */
28 #define NARGSYM "NARG"
29 
30 /* symbol which contains the number of the current macro argument */
31 #define CARGSYM "CARG"
32 
33 /* symbol which contains the current rept-endr iteration count */
34 #define REPTNSYM "REPTN"
35 
36 /* overwrite macro defaults */
37 #define MAXMACPARAMS 35
38 #define SKIP_MACRO_ARGNAME(p) (NULL)
39 void my_exec_macro(source *);
40 #define EXEC_MACRO(s) my_exec_macro(s)
41