feat: Allow expressions to be terminated/sequenced by ;
Note that ultimately a terminated sequence may have a slightly different semantics (applying streams to `_|_`, most likely) but for now they don't.
This commit is contained in:
parent
991976d3a8
commit
b9c8532899
10 changed files with 156 additions and 65 deletions
|
@ -9,6 +9,7 @@ imports
|
|||
injections/-
|
||||
|
||||
libspoofax/term/origin
|
||||
desugar
|
||||
|
||||
rules // Analysis
|
||||
|
||||
|
@ -19,7 +20,8 @@ rules // Analysis
|
|||
// multi-file analysis
|
||||
// editor-analyze = stx-editor-analyze(pre-analyze, post-analyze|"statics", "projectOk", "fileOk")
|
||||
|
||||
pre-analyze = origin-track-forced(explicate-injections-fostr-Start)
|
||||
pre-analyze = desugar-fostr
|
||||
; origin-track-forced(explicate-injections-fostr-Start)
|
||||
post-analyze = origin-track-forced(implicate-injections-fostr-Start)
|
||||
|
||||
rules // Editor Services
|
||||
|
@ -31,16 +33,21 @@ rules // Editor Services
|
|||
rules // Debugging
|
||||
|
||||
// Prints the abstract syntax ATerm of a selection.
|
||||
debug-show-aterm: (selected, _, _, path, project-path) -> (filename, result)
|
||||
debug-show-aterm: (sel, _, _, path, projp) -> (filename, result)
|
||||
with filename := <guarantee-extension(|"aterm")> path
|
||||
; result := selected
|
||||
; result := sel
|
||||
|
||||
// Prints the desugared abstract syntax ATerm of a selection.
|
||||
debug-desugar-fostr: (sel, _, _, path, projp) -> (filename, result)
|
||||
with filename := <guarantee-extension(|"desugared.aterm")> path
|
||||
; result := <desugar-fostr> sel
|
||||
|
||||
// Prints the pre-analyzed abstract syntax ATerm of a selection.
|
||||
debug-show-pre-analyzed: (selected, _, _, path, project-path) -> (filename, result)
|
||||
debug-show-pre-analyzed: (sel, _, _, path, projp) -> (filename, result)
|
||||
with filename := <guarantee-extension(|"pre-analyzed.aterm")> path
|
||||
; result := <pre-analyze> selected
|
||||
; result := <pre-analyze> sel
|
||||
|
||||
// Prints the analyzed annotated abstract syntax ATerm of a selection.
|
||||
debug-show-analyzed: (selected, _, _, path, project-path) -> (filename, result)
|
||||
debug-show-analyzed: (sel, _, _, path, projp) -> (filename, result)
|
||||
with filename := <guarantee-extension(|"analyzed.aterm")> path
|
||||
; result := selected
|
||||
; result := sel
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue