diff options
author | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2018-03-22 10:40:03 +0100 |
---|---|---|
committer | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2018-03-22 10:40:03 +0100 |
commit | 1f86ca7767d661a42b3e66f667bb044f9c861346 (patch) | |
tree | 9940eb76056c652ad79834b7f567d9383e49c810 /modules/language/python/compile.scm | |
parent | dc9f37567dae95b4eedcb967fa1b2add3fad86c2 (diff) |
bisect module
Diffstat (limited to 'modules/language/python/compile.scm')
-rw-r--r-- | modules/language/python/compile.scm | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/modules/language/python/compile.scm b/modules/language/python/compile.scm index b00f304..f97597c 100644 --- a/modules/language/python/compile.scm +++ b/modules/language/python/compile.scm @@ -181,7 +181,16 @@ ((#:global . _) vs) - + + ((#:import (#:name ((ids ...) . as)) ...) + (let lp ((ids ids) (as as) (vs vs)) + (if (pair? as) + (lp (cdr ids) (cdr as) + (let ((as (car as)) + (ids (car ids))) + (union vs (list (exp '() (if as as (car ids))))))) + vs))) + ((#:expr-stmt l (#:assign u)) (union (fold (lambda (x s) (match x @@ -209,8 +218,16 @@ vs) ((#:class . _) vs) - ((#:global . _) + ((#:global . _) vs) + ((#:import (#:name ((ids ...) . as)) ...) + (let lp ((ids ids) (as as) (vs vs)) + (if (pair? as) + (lp (cdr ids) (cdr as) + (let ((as (car as)) + (ids (car ids))) + (union vs (list (exp '() (if as as (car ids))))))) + vs))) ((x . y) (defs y (defs x vs))) (_ vs))) |