diff options
| author | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-08-16 23:26:10 +0530 |
|---|---|---|
| committer | Shagun Agrawal <agrawalshagun07@gmail.com> | 2024-08-16 23:26:10 +0530 |
| commit | 05611820413a6f691da269e631f4359185416155 (patch) | |
| tree | a9dda185ad32cf192866a83befe6843856ae63ad /src/cljcc/driver.clj | |
| parent | ca4892ea62cfaca99f9174f58500457ea4a87354 (diff) | |
Switch to hand made parser, refactor asts to adjust change
Switch to hand made recursive descent parser.
Remove instaparse from dependencies.
Diffstat (limited to 'src/cljcc/driver.clj')
| -rw-r--r-- | src/cljcc/driver.clj | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cljcc/driver.clj b/src/cljcc/driver.clj index 780bd8d..65bc96a 100644 --- a/src/cljcc/driver.clj +++ b/src/cljcc/driver.clj @@ -52,10 +52,10 @@ (defn parser-step [directory filename] (let [preprocessed-file-path (make-file-name directory (remove-extension filename) "i") file (io/file preprocessed-file-path) - source (slurp file)] - (if (p/parseable? (p/parse source)) - (log/info "Input file is succesfully parsed.") - (throw (Exception. "Failed during parsing"))))) + source (slurp file) + ast (p/parse (l/lex source))] + (log/info "Input file is succesfully parsed.") + (pp/pprint ast))) (defn lexer-step [directory filename] (let [preprocessed-file-path (make-file-name directory (remove-extension filename) "i") @@ -69,7 +69,7 @@ (let [preprocessed-file-path (make-file-name directory (remove-extension filename) "i") file (io/file preprocessed-file-path) source (slurp file) - output (t/tacky-generate (p/parse source))] + output (t/tacky-generate (p/parse (l/lex source)))] (log/info (str "Successfully generated Tacky IR.\n" (with-out-str (pp/pprint output)))))) |
