You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update the developer docs to reflect the use of JuliaSyntax.jl (#59300)
[The "parsing" section of the "eval" dev docs
page](https://docs.julialang.org/en/v1/devdocs/eval/#dev-parsing) was
not updated when JuliaSyntax.jl was adopted in 1.10. This updates the
text to reflect that it is the default parser and briefly mentions how
to switch back.
Copy file name to clipboardExpand all lines: doc/src/devdocs/eval.md
+5-19Lines changed: 5 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,25 +62,11 @@ The 10,000 foot view of the whole process is as follows:
62
62
63
63
## [Parsing](@id dev-parsing)
64
64
65
-
The Julia parser is a small lisp program written in femtolisp, the source-code for which is distributed
66
-
inside Julia in [src/flisp](https://github.com/JuliaLang/julia/tree/master/src/flisp).
67
-
68
-
The interface functions for this are primarily defined in [`jlfrontend.scm`](https://github.com/JuliaLang/julia/blob/master/src/jlfrontend.scm).
69
-
The code in [`ast.c`](https://github.com/JuliaLang/julia/blob/master/src/ast.c) handles this handoff
70
-
on the Julia side.
71
-
72
-
The other relevant files at this stage are [`julia-parser.scm`](https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm),
73
-
which handles tokenizing Julia code and turning it into an AST, and [`julia-syntax.scm`](https://github.com/JuliaLang/julia/blob/master/src/julia-syntax.scm),
74
-
which handles transforming complex AST representations into simpler, "lowered" AST representations
75
-
which are more suitable for analysis and execution.
76
-
77
-
If you want to test the parser without re-building Julia in its entirety, you can run the frontend
78
-
on its own as follows:
79
-
80
-
$ cd src
81
-
$ flisp/flisp
82
-
> (load "jlfrontend.scm")
83
-
> (jl-parse-file "<filename>")
65
+
By default, Julia uses [JuliaSyntax.jl](https://github.com/JuliaLang/JuliaSyntax.jl) to produce the
66
+
AST. Historically, it used a small lisp program written in femtolisp, the source-code for which is
67
+
distributed inside Julia in [src/flisp](https://github.com/JuliaLang/julia/tree/master/src/flisp).
68
+
If the `JULIA_USE_FLISP_PARSER` environment variable is set to `1`, the old parser will be used
0 commit comments