Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/JuliaLang/JuliaSyntax.jl
The Julia compiler frontend
https://github.com/JuliaLang/JuliaSyntax.jl
This allows extracting the recovered tree (containing error nodes)
without using the low-level ...
Dotted call syntax parses into various forms which aren't really
consistent. Especially, Expr i...
Here we unconditionally validate all literals after `parse!()` - ie
processing String and Char ...
This change prevents a crash for various cases of bad syntax involving
macro names. In particul...
The reason to use `__dot__` is to allow `macro __dot__` to be defined in
normal Julia source. B...
Correctly parse dots and other same-precedence chaining after macro
calls:
@A().x
@...
* `.1..` is `.1` followed by `..`
* `0x01..` is `0x01` followed by `..`
Also fixes these cas...
b1f16e2a6d3edb98aed180b3b11d90bd2f010c89 authored about 2 years ago by c42f <[email protected]>7dfd7c2ee3d63e41eda3091d32a11c60b4c16bad authored about 2 years ago by c42f <[email protected]>
Cater for cases where some parts of the signature are inside and some
outside of the parenthese...
In space sensitive contexts, `~` is parsed as unary or binary depending
on whitespace to the le...
Failure due to overeager error detection of `end` keyword.
772c28898027508690359b683a31f27155c8a447 authored about 2 years ago by c42f <[email protected]>
* Fix for new `parseall()` API
* Reduce false positives by not reporting cases where reference ...
Here we emit `(a, b; c, d; e, f)` as
(tuple a b (parameters c d) (parameters e f))
whi...
9f5c89266a6066f0a8189cd0decbecc752943219 authored about 2 years ago by c42f <[email protected]>15b4eb8a2aa0d5cb2553b93d866adf64726181cd authored about 2 years ago by c42f <[email protected]>
Useful to hold associated trivia (delimiter and var prefix) and indicate
in a clean way that va...
This permits the extra parentheses in things like
function (funcname(some, long, argument...
ff21c47d4593088df9b035ec0585c2699f0afc1c authored about 2 years ago by c42f <[email protected]>
Here I've replicated the fix from JuliaLang/julia#45024 so that
`const x` (ie, without an assig...
This moves the unnecessary special cases for lists of bindings in `let`
out of the parser and i...
Ensure things like `@S[a,b]` where there's no whitespace between the
`@S` and opening `[` are p...
We now record which precise call syntax was used out of the four
options:
* Prefix calls with ...
A flag is a waste for this; we can just use a different kind for this
horrible edge case.
5f158b153ec75f7ff3c9ea738b1dcd328bc564e3 authored about 2 years ago by c42f <[email protected]>
Here we split off char delimiters in the tokenizer rather than
re-parsing them later during val...
* Simplify `@doc` usage for use in Base bootstrap.
* Separate sysimage precompile into part whi...
Rework JuliaSyntax.parse() public API
`parse()` and `parseall()` were generally pretty inconv...
6465cceaf4b3766e66e4338c15a38e6c7281b1e3 authored about 2 years ago by c42f <[email protected]>e5c7603d6a618a2494d90028d5670b97ffcd7f34 authored about 2 years ago by c42f <[email protected]>
For Expr there's various cases where = is parsed into a kw head, but
this is inconsistent espec...
9f416bd973bf41bedc9bd2fdb7ff08abf8f0eb17 authored over 2 years ago by c42f <[email protected]>
This allows REPL completion to work correctly. It works by pattern matching the parse tree, rath...
9e6392e8ddb53979c7131de4b7dd05b00a9a5c89 authored over 2 years ago by c42f <[email protected]>Some minor fixes
b2372b755d194d198c31cc9fb31cb63f8938fa46 authored over 2 years ago by c42f <[email protected]>07b97cc293c70ce423c537226a691c3d2c3dd0b1 authored over 2 years ago by c42f <[email protected]>
5a8671312524b4d767d462fb7525477fde0049fc authored over 2 years ago by c42f <[email protected]>
We can use Mmap for mapping IOStream but
* It's not clear that this is necessary
* Removing it...
The reference parser represents `do` syntax with a closure for the second
argument. However, th...
Better "unexpected kw" handling in ternary parsing
4818362bb6f4ebd5055ec468646889788b683997 authored over 2 years ago by Sebastian Pfitzner <[email protected]>c606e9d796a975258ee15f719ec2a7235211fa46 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
c67f95c58fa30611a6cd9ded8b114572df14b53d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
* Eliminate the use of Ref to communicate values out of the anonymous
function passed to pars...
Updates README with a link to last lowerer proto (circa 2019), since the branch has been deleted...
b15e0797c2fe224fa77a4b6080b6a6d4ce0c9363 authored over 2 years ago by Olivier MATHIEU <[email protected]>
This change ensures that strings are always encapsulated within a
`K"string"` internal node of ...
Correctly handle begin as kw in typed comprehension
47c3e2bf3d47b0206528b8e5a37bd46d70b4e120 authored over 2 years ago by Sebastian Pfitzner <[email protected]>Add notes about AST differences + minor recovery fix
db88a356b6261e1ffc00e7322f42c2fed4cbf538 authored over 2 years ago by c42f <[email protected]>08d69c8d9fd12efa9cd748180ed22dabaef97d64 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
d00a04ac689c978d41abd626aed3d304d9e7ceaa authored over 2 years ago by c42f <[email protected]>
3e6c07f6386706fdc1bc17bc2311a55f5f36efbd authored over 2 years ago by c42f <[email protected]>
Non-throwing is_identifier_[start_]char
660ed65db37212d5aa397fd0c23a7e4e6985400e authored over 2 years ago by Sebastian Pfitzner <[email protected]>
This allows `a ? b : c` syntax to be clearly distinguished from normal
`if a b else c end` with...
Co-authored-by: Kristoffer Carlsson <[email protected]>
dafe88b85ea693be02bcf6c0b11c5141d7aa2f5c authored over 2 years ago by Sebastian Pfitzner <[email protected]>and add a test
48520d3ee9c3baecda57d452a6b9a368c2618728 authored over 2 years ago by Sebastian Pfitzner <[email protected]>d8cd0659dbd8af5f8fb6aa9dc9503d809fc0f8b1 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Allow newline in range expr after : in parens
9cc6bfe421427a53b705ae19d192c326089be25f authored over 2 years ago by Sebastian Pfitzner <[email protected]>Never throw in unescape_julia_string
75782b108a2fad0ae65cc7b01ce844cd7d017ee3 authored over 2 years ago by Sebastian Pfitzner <[email protected]>89170ebcb98245437caedced02a5823a9f054b6c authored over 2 years ago by Sebastian Pfitzner <[email protected]>
e866eeea2df983047fa98035c4566765ca5ac915 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Co-authored-by: c42f <[email protected]>
3f3e365728147b1fc299a3d577c46b6532359d86 authored over 2 years ago by Sebastian Pfitzner <[email protected]>614bfaf5e8d5edd568dbcc172bba9c7577095b3b authored over 2 years ago by Sebastian Pfitzner <[email protected]>
96a301095f8230cb0b492b81010f0fdf4be8ff54 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
d1b6278daac5825f110d30ff8a51cc665d1246fa authored over 2 years ago by Sebastian Pfitzner <[email protected]>
54587ccb2ea1d4c1badf4fa4cfcdc8f90fbbda58 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
9c3947f2faa79684008d565061f3c078efd452c9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
7b6ad2787389b2e0c762ee04de83d477fa19600d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
62d6226854d1a264456c2c0e5b8b050bc7913f17 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
f9b857e3262524625500b47b8e2a9a13231d12a7 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Fix over/underflow in parsing float literals
7951c0e81af4581d6a4c2ab91f90006291712766 authored over 2 years ago by c42f <[email protected]>a1b9780cdf8f10fd5ce1f51463920dd0889e7a0d authored over 2 years ago by c42f <[email protected]>
We probably shoudln't be modifying the memory in a String on the slow
path here, so use a Vector...
It seems we can't use Base.parse for floats because this disallows
underflow. So replicate the l...
15c028cb7a0ab9761155c3d977b7727c4c29f404 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Fix early-abort handling in array_parse
291da24d41df6ef882b4b37ba57b53a3c25b703d authored over 2 years ago by Sebastian Pfitzner <[email protected]>Co-authored-by: c42f <[email protected]>
f13e94a10943517738e20464ad157691ece903a9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
This won't be valid syntax during lowering, but the parser shouldn't
throw.
Also a little cl...
c61a638f70aa092638abec8cef0ed3a81cda5845 authored over 2 years ago by c42f <[email protected]>53502ec65d283267c62832914b21e53bb9343086 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
-2 is numeric literal -2, but ensure .-2 is (call .- 2)
6a3a6f4b07af1640b883d86f739c0d96078bf3e2 authored over 2 years ago by c42f <[email protected]>0f5460c126e3d9b64bd83318f583ead1e2af7e68 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
e2863731e7abc0cc596623f8f9a7f2134f30cfa4 authored over 2 years ago by Kristoffer Carlsson <[email protected]>
2bdac10ade35cdfdbb347de5f573f8ab1cbce5e9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Add check_all_packages script
98640131e0de3d4435f8f4a73315aad7953c3f7d authored over 2 years ago by Sebastian Pfitzner <[email protected]>Fix vect parsing with newline before comma
66acd8638d83cb114437d9d00d589837ee250b8d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
This allows us to call the flisp parser directly instead of using
Meta.parse which may have bee...
bcc9ce754aba7f4525d50d6e4c407f60288c73a9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
a7b26680d11919bc7b7a653752447f8f8db48500 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
6897a179990dce0aeb89de01462c6b5a21bb66cd authored over 2 years ago by Shuhei Kadowaki <[email protected]>
Co-authored-by: Sebastian Pfitzner <[email protected]>
7cfb056b66d1e0016dda7d1291bbb885ccecaaed authored over 2 years ago by Shuhei Kadowaki <[email protected]>cf22788995a9869fb967da2d53aae2a6546e48ae authored over 2 years ago by Sebastian Pfitzner <[email protected]>
a401f0fd665a848b3e1196c399a48808829cc570 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
2e1e8e7a1ee44cc6a0ac57bbcaee8d7c536f4709 authored over 2 years ago by Kristoffer Carlsson <[email protected]>
Minor cleanups to core parser hook
d3d8fdeaea37bcae05191cad50a326e608035d97 authored over 2 years ago by c42f <[email protected]>8fd5728d4e1949b119558443fcd7b844c3adfa4e authored over 2 years ago by c42f <[email protected]>
3601357905275f8a5bf41b1d9e933c9622ac5f5f authored over 2 years ago by c42f <[email protected]>
0dbff5336cec5f7ddde0290f964db31746668d38 authored over 2 years ago by Kristoffer Carlsson <[email protected]>
Move the hacky code for overriding Core._parse from the sysimage
init module into JuliaSyntax.j...
Reduce invalidation/recompliation for parser usage in sysimage
b1fa39e4b521d7f4fd1e61932f8b9fcfb6baf8ad authored over 2 years ago by c42f <[email protected]>04a3dfdc158a0331ac3be1b07aa735d7b39e2509 authored over 2 years ago by c42f <[email protected]>
A fixed world age for the parser prevents the need for recompilation of
the parser due to any us...
Previously, `Meta.parseatom()` would consume trailing whitespace which breaks usages like in `Ba...
ffd3e473e02ad5e3bd5f5b88d5665f9cdd5ad62a authored over 2 years ago by c42f <[email protected]>
If a closing token is found in parse_atom, we still need to emit a
nontrivia token to make the ...
core_parser_hook() should return `nothing` when attempting to parse
statements or atoms, but wh...
Sysimage / precompile fixes
70fec80a82a99d74d3561b22ffcdb16b83cee482 authored over 2 years ago by c42f <[email protected]>
As part of rearranging modules in #40, Base.eof(::Char) was accidentally
defined. It seems clear...
f30d4ef3053d4144ef7d274d1fadd66cb396971a authored over 2 years ago by c42f <[email protected]>