diff options
| author | Keith Packard <keithp@keithp.com> | 2017-12-12 15:25:51 -0800 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-12-12 15:25:51 -0800 | 
| commit | d8c9024f3829dc3f241b16869f165f3ee01764f3 (patch) | |
| tree | ee3038984838551412feeeee5e56c22afe83a99b /src/scheme/ao_scheme_read.h | |
| parent | a15166c435f65cb36f487ec8e5a4ff558a7e0502 (diff) | |
altos/scheme: Support scheme subsetting via feature settings
This provides for the creation of smaller versions of the interpreter,
leaving out options like floating point numbers and vectors.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_read.h')
| -rw-r--r-- | src/scheme/ao_scheme_read.h | 15 | 
1 files changed, 15 insertions, 0 deletions
diff --git a/src/scheme/ao_scheme_read.h b/src/scheme/ao_scheme_read.h index e10a7d05..1aa11a3a 100644 --- a/src/scheme/ao_scheme_read.h +++ b/src/scheme/ao_scheme_read.h @@ -24,15 +24,21 @@  # define OPEN  			2  # define CLOSE			3  # define QUOTE			4 +#ifdef AO_SCHEME_FEATURE_QUASI  # define QUASIQUOTE		5  # define UNQUOTE		6  # define UNQUOTE_SPLICING	7 +#endif  # define STRING			8  # define NUM			9 +#ifdef AO_SCHEME_FEATURE_FLOAT  # define FLOAT			10 +#endif  # define DOT			11  # define BOOL			12 +#ifdef AO_SCHEME_FEATURE_VECTOR  # define OPEN_VECTOR		13 +#endif  /*   * character classes @@ -40,11 +46,20 @@  # define PRINTABLE	0x0001	/* \t \n ' ' - ~ */  # define SPECIAL	0x0002	/* ( [ { ) ] } ' ` , */ +#ifdef AO_SCHEME_FEATURE_QUASI +# define SPECIAL_QUASI	SPECIAL +#else +# define SPECIAL_QUASI	0 +#endif  # define DOTC		0x0004	/* . */  # define WHITE		0x0008	/* ' ' \t \n */  # define DIGIT		0x0010	/* [0-9] */  # define SIGN		0x0020	/* +- */ +#ifdef AO_SCHEME_FEATURE_FLOAT  # define FLOATC		0x0040	/* . e E */ +#else +# define FLOATC		0 +#endif  # define ENDOFFILE	0x0080	/* end of file */  # define COMMENT	0x0100	/* ; */  # define IGNORE		0x0200	/* \0 - ' ' */  | 
