2 * Copyright © 2016 Keith Packard <keithp@keithp.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
15 #ifndef _AO_LISP_READ_H_
16 #define _AO_LISP_READ_H_
30 # define PRINTABLE 0x00000001 /* \t \n ' ' - '~' */
31 # define QUOTED 0x00000002 /* \ anything */
32 # define BRA 0x00000004 /* ( [ { */
33 # define KET 0x00000008 /* ) ] } */
34 # define WHITE 0x00000010 /* ' ' \t \n */
35 # define DIGIT 0x00000020 /* [0-9] */
36 # define SIGN 0x00000040 /* +- */
37 # define ENDOFFILE 0x00000080 /* end of file */
38 # define COMMENT 0x00000100 /* ; # */
39 # define IGNORE 0x00000200 /* \0 - ' ' */
40 # define QUOTEC 0x00000400 /* ' */
41 # define BACKSLASH 0x00000800 /* \ */
42 # define VBAR 0x00001000 /* | */
43 # define TWIDDLE 0x00002000 /* ~ */
44 # define STRINGC 0x00004000 /* " */
46 # define NOTNAME (STRINGC|TWIDDLE|VBAR|QUOTEC|COMMENT|ENDOFFILE|WHITE|KET|BRA)
47 # define NUMBER (DIGIT|SIGN)
49 #endif /* _AO_LISP_READ_H_ */