use relative imports
This commit is contained in:
parent
7e42abb239
commit
f17f098d20
11
compile.phi
11
compile.phi
@ -1,6 +1,6 @@
|
||||
(import "stdlib.phi" (slice contains indent))
|
||||
(import "compiler/parse.phi" (Parser tokenize))
|
||||
(import "compiler/emit_js.phi" (JsEmitter))
|
||||
(import "./stdlib.phi" (slice contains indent))
|
||||
(import "./compiler/parse.phi" (Parser tokenize))
|
||||
(import "./compiler/emit_js.phi" (JsEmitter))
|
||||
|
||||
(fn print_expr (expr depth) (do
|
||||
(let (ty line value) expr)
|
||||
@ -15,7 +15,10 @@
|
||||
))
|
||||
))
|
||||
|
||||
(let (input_filename output_filename) (get_args))
|
||||
(let (input_filename_rel output_filename_rel) (get_args))
|
||||
|
||||
(let input_filename (fs_resolve (fs_cwd) input_filename_rel))
|
||||
(let output_filename (fs_resolve (fs_cwd) output_filename_rel))
|
||||
|
||||
(println "compiling '%'..." input_filename)
|
||||
(let text (read_text_file input_filename))
|
||||
|
@ -1,10 +1,10 @@
|
||||
(import "stdlib.phi" (
|
||||
(import "../stdlib.phi" (
|
||||
slice contains
|
||||
list_push list_pop list_contains
|
||||
map map_has map_get map_set
|
||||
))
|
||||
(import "compiler/parse.phi" (Parser tokenize))
|
||||
(import "compiler/syms.phi" (Syms))
|
||||
(import "./parse.phi" (Parser tokenize))
|
||||
(import "./syms.phi" (Syms))
|
||||
|
||||
(fn JsEmitter (ast initial_filename) (do
|
||||
(let output (list))
|
||||
@ -139,7 +139,9 @@
|
||||
(panic "illegal function on line %" line)
|
||||
))
|
||||
(if (== id "import") (do
|
||||
(let (_ (_ _ inner_filename) (_ _ idents)) s)
|
||||
(let (_ (_ _ inner_filename_rel) (_ _ idents)) s)
|
||||
|
||||
(let inner_filename (fs_resolve (fs_dirname filename) inner_filename_rel))
|
||||
|
||||
(if (list_contains import_stack inner_filename) (do
|
||||
(panic "circular dependendy: '%' imports '%'" filename inner_filename)
|
||||
|
@ -1,4 +1,4 @@
|
||||
(import "stdlib.phi" (slice slice_eq contains))
|
||||
(import "../stdlib.phi" (slice slice_eq contains))
|
||||
|
||||
(fn Parser (tokens) (do
|
||||
(let i 0)
|
||||
|
@ -1,4 +1,4 @@
|
||||
(import "stdlib.phi" (indent map map_has map_get map_set))
|
||||
(import "../stdlib.phi" (indent map map_has map_get map_set))
|
||||
|
||||
(fn Syms () (do
|
||||
(let syms (list null (map)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user