2
(c) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved.
3
Copying of this file is authorized to users who have executed the true and
4
proper "License Agreement for Kyoto Common LISP" with SIGLISP.
15
EXTER object *lex_env;
23
lex_env ------> | lex-var | : lex_env[0]
25
| lex-fd | : lex_env[1]
27
| lex-tag | : lex_env[2]
33
lex-var: (symbol value) ; for local binding
35
(symbol) ; for special binding
37
lex-fd: (fun-name 'FUNCTION' function)
39
(macro-name 'MACRO' expansion-function)
41
lex-tag: (tag 'TAG' frame-id)
43
(block-name 'BLOCK' frame-id)
45
where 'FUN' is the LISP object with pname FUN, etc.
50
#define lex_copy() ihs_top->ihs_base = vs_top; \
51
vs_push(lex_env[0]); \
52
vs_push(lex_env[1]); \
53
vs_push(lex_env[2]); \
56
#define lex_new() ihs_top->ihs_base = vs_top; \
58
vs_top[0] = vs_top[1] = vs_top[2] = Cnil; \
61
#define lex_var_sch(name) assoc_eq((name),lex_env[0])
63
#define lex_fd_sch(name) assoc_eq((name),lex_env[1])