28 lines
1 KiB
C
28 lines
1 KiB
C
/* syntax.h syntax header file for vasm */
|
|
/* (c) in 2002-2005,2015,2017 by Volker Barthelmann and Frank Wille */
|
|
|
|
/* macros to recognize identifiers */
|
|
#define ISIDSTART(x) ((x)=='.'||(x)=='_'||(x)=='$'||(x)=='@'||isalpha((unsigned char)(x)))
|
|
#define ISIDCHAR(x) ((x)=='.'||(x)=='_'||(x)=='$'||isalnum((unsigned char)(x)))
|
|
#define ISBADID(p,l) ((l)==1&&(*(p)=='.'||*(p)=='_'||*(p)=='$'||*(p)=='@'))
|
|
#define ISEOL(p) (*(p)=='\0'||*(p)==commentchar)
|
|
#if defined(VASM_CPU_M68K)
|
|
char *chkidend(char *,char *);
|
|
#define CHKIDEND(s,e) chkidend((s),(e))
|
|
#endif
|
|
|
|
/* result of a boolean operation */
|
|
#define BOOLEAN(x) -(x)
|
|
|
|
#ifndef CPU_DEF_ALIGN
|
|
#define CPU_DEF_ALIGN 2 /* power2-alignment is default for .align */
|
|
#endif
|
|
|
|
/* overwrite macro defaults */
|
|
#define MAXMACPARAMS 64
|
|
char *macro_arg_opts(macro *,int,char *,char *);
|
|
#define MACRO_ARG_OPTS(m,n,a,p) macro_arg_opts(m,n,a,p)
|
|
#define MACRO_ARG_SEP(p) (*p==',' ? skip(p+1) : p)
|
|
#define MACRO_PARAM_SEP(p) (*p==',' ? skip(p+1) : p)
|
|
void my_exec_macro(source *);
|
|
#define EXEC_MACRO(s) my_exec_macro(s)
|