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

Add ignore_errors keyword to main parser API (#152)

This allows extracting the recovered tree (containing error nodes)
without using the low-level ...

6aa3fa3e02747a1b647a59d5c37dee77f66e8d42 authored about 2 years ago by c42f <[email protected]>
Parse dotted calls with `dotcall` head (#151)

Dotted call syntax parses into various forms which aren't really
consistent. Especially, Expr i...

70977a68ade8d55659124ba8a187fc158cf4d79c authored about 2 years ago by c42f <[email protected]>
Validate literals at parse time (#149)

Here we unconditionally validate all literals after `parse!()` - ie
processing String and Char ...

6ab0603e353da93ef62035f6d9365db7cfd97119 authored about 2 years ago by c42f <[email protected]>
Report bad macro names more clearly (#147)

This change prevents a crash for various cases of bad syntax involving
macro names. In particul...

6a12fffb172a8a57a067b9ac897f49fe609e5305 authored about 2 years ago by c42f <[email protected]>
Lower `@ .` to `@ __dot__` not in parser but in Expr conversion (#146)

The reason to use `__dot__` is to allow `macro __dot__` to be defined in
normal Julia source. B...

6d92ef3b0389415fdfec6490bac2d8266a325c8f authored about 2 years ago by c42f <[email protected]>
Fixes for macro paths and call chain parsing (#144)

Correctly parse dots and other same-precedence chaining after macro
calls:

@A().x
@...

eb3259fded86f38e2abb08423ff89314b53701de authored about 2 years ago by c42f <[email protected]>
Fix tokenization of numbers followed by `..` (#143)

* `.1..` is `.1` followed by `..`
* `0x01..` is `0x01` followed by `..`

Also fixes these cas...

b1f16e2a6d3edb98aed180b3b11d90bd2f010c89 authored about 2 years ago by c42f <[email protected]>
Fix tokenization of `1.#` (#142)

7dfd7c2ee3d63e41eda3091d32a11c60b4c16bad authored about 2 years ago by c42f <[email protected]>
Fix for function signatures with grouping parens (#140)

Cater for cases where some parts of the signature are inside and some
outside of the parenthese...

06801f259708eef7be15b5a12af8fcb4284c7dad authored about 2 years ago by c42f <[email protected]>
Fix parsing of `[a~b]` (#137)

In space sensitive contexts, `~` is parsed as unary or binary depending
on whitespace to the le...

108b6c9c0562dad1d2ffb5dd8acd1a32cbfcda1e authored about 2 years ago by c42f <[email protected]>
Fix for parsing `end` in `A[x ? y : end]` (#136)

Failure due to overeager error detection of `end` keyword.

772c28898027508690359b683a31f27155c8a447 authored about 2 years ago by c42f <[email protected]>
Fixes for parse check of General registry (#135)

* Fix for new `parseall()` API
* Reduce false positives by not reporting cases where reference ...

997d964aa676c4ac57853cbfd1abff284579e634 authored about 2 years ago by c42f <[email protected]>
More flattened form for multiple frakentuple parameters (#133)

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]>
Add docs on how to use JuliaSyntax inside VSCode (#132)

15b4eb8a2aa0d5cb2553b93d866adf64726181cd authored about 2 years ago by c42f <[email protected]>
Wrap var"" nonstandard identifiers in var nodes (#127)

Useful to hold associated trivia (delimiter and var prefix) and indicate
in a clean way that va...

1bf1787c7a41dc5a09348bb37a7a1f776c313d7e authored about 2 years ago by c42f <[email protected]>
Permit parens in function call signatures (#131)

This permits the extra parentheses in things like

function (funcname(some, long, argument...

ff21c47d4593088df9b035ec0585c2699f0afc1c authored about 2 years ago by c42f <[email protected]>
Fix const struct field errors + cleanup `global const` AST (#130)

Here I've replicated the fix from JuliaLang/julia#45024 so that
`const x` (ie, without an assig...

86d7f9062e1285057faf40e4481ce1b28a569424 authored about 2 years ago by c42f <[email protected]>
Always emit a block for `let` binding lists (#126)

This moves the unnecessary special cases for lists of bindings in `let`
out of the parser and i...

fd9e981ce618941465b0c95520147a46655ee9a8 authored about 2 years ago by c42f <[email protected]>
Bug fix for macro call square bracket whitespace (#125)

Ensure things like `@S[a,b]` where there's no whitespace between the
`@S` and opening `[` are p...

d81eafb36759cecf54717b55a30e10bd7c4d3529 authored about 2 years ago by c42f <[email protected]>
Record fixity of call type in flags (#124)

We now record which precise call syntax was used out of the four
options:
* Prefix calls with ...

700101e3bcd6561af0c19637c5e1760352deacf3 authored about 2 years ago by c42f <[email protected]>
Remove TRY_CATCH_FINALLY_FLAG (#123)

A flag is a waste for this; we can just use a different kind for this
horrible edge case.

384f74545d8d2a530ba3ec4a3a82469c34ed597d authored about 2 years ago by c42f <[email protected]>
Fix incomplete detection for tree with no parents (#122)

5f158b153ec75f7ff3c9ea738b1dcd328bc564e3 authored about 2 years ago by c42f <[email protected]>
Split char delimiters early and emit K"char" node (#121)

Here we split off char delimiters in the tokenizer rather than
re-parsing them later during val...

4132d75831901ed947a7f4912fb95c5ab25a3fea authored about 2 years ago by c42f <[email protected]>
Tweaks to allow vendoring into Base (#119)

* Simplify `@doc` usage for use in Base bootstrap.
* Separate sysimage precompile into part whi...

7b2353280f480ba199e056bba4f3385d218b6fe8 authored about 2 years ago by c42f <[email protected]>
Rework JuliaSyntax.parse() public API

Rework JuliaSyntax.parse() public API

`parse()` and `parseall()` were generally pretty inconv...

6465cceaf4b3766e66e4338c15a38e6c7281b1e3 authored about 2 years ago by c42f <[email protected]>
Stricter parsing of exception names in `catch $excname` (#106)

e5c7603d6a618a2494d90028d5670b97ffcd7f34 authored about 2 years ago by c42f <[email protected]>
Parse keyword args with `=` head rather than `kw` (#103)

For Expr there's various cases where = is parsed into a kw head, but
this is inconsistent espec...

3906436557880d85f06d1a9464f63a5a1d8764c8 authored about 2 years ago by c42f <[email protected]>
Fix project status in README + bump to 0.2 (#104)

9f416bd973bf41bedc9bd2fdb7ff08abf8f0eb17 authored over 2 years ago by c42f <[email protected]>
Generate Expr(:incomplete) for errors which hit EOF (#102)

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]>
Merge pull request #101 from JuliaLang/c42f/minor-bugfixes

Some minor fixes

b2372b755d194d198c31cc9fb31cb63f8938fa46 authored over 2 years ago by c42f <[email protected]>
Fix lineno type in calling Core.Compiler.fl_parse

07b97cc293c70ce423c537226a691c3d2c3dd0b1 authored over 2 years ago by c42f <[email protected]>
Fix initialization of character byte offsets in lexer

5a8671312524b4d767d462fb7525477fde0049fc authored over 2 years ago by c42f <[email protected]>
Remove Mmap as a dependency (#100)

We can use Mmap for mapping IOStream but
* It's not clear that this is necessary
* Removing it...

72fee061af8e331803d66b51488d331eb378d133 authored over 2 years ago by c42f <[email protected]>
Parse `do` blocks without desugaring the closure (#98)

The reference parser represents `do` syntax with a closure for the second
argument. However, th...

74f713777ce7a933ee7b52ce6be14a4b93a78c32 authored over 2 years ago by c42f <[email protected]>
Merge pull request #77 from JuliaLang/sp/ternary-unexpected-kw

Better "unexpected kw" handling in ternary parsing

4818362bb6f4ebd5055ec468646889788b683997 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge branch 'main' into sp/ternary-unexpected-kw

c606e9d796a975258ee15f719ec2a7235211fa46 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
rename parseall to parseall_throws

c67f95c58fa30611a6cd9ded8b114572df14b53d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Remove many unnecessary allocations (#96)

* Eliminate the use of Ref to communicate values out of the anonymous
function passed to pars...

82b970552a9fcfc7cd6a615ba19fcea3d0cd2ddd authored over 2 years ago by c42f <[email protected]>
Update link to last known work on the lowerer (#97)

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]>
Always encapsulate strings in a string node (#94)

This change ensures that strings are always encapsulated within a
`K"string"` internal node of ...

b08eee2fffa55b450def885567962ad47ec1c3b4 authored over 2 years ago by c42f <[email protected]>
Merge pull request #81 from JuliaLang/sp/typed-comprehension-begin-handling

Correctly handle begin as kw in typed comprehension

47c3e2bf3d47b0206528b8e5a37bd46d70b4e120 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #89 from JuliaLang/cjf/README-ast

Add notes about AST differences + minor recovery fix

db88a356b6261e1ffc00e7322f42c2fed4cbf538 authored over 2 years ago by c42f <[email protected]>
Add note about weird refparser behaviour

08d69c8d9fd12efa9cd748180ed22dabaef97d64 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Minor fix to test case comment + unify recovery for parsing :

d00a04ac689c978d41abd626aed3d304d9e7ceaa authored over 2 years ago by c42f <[email protected]>
More notes about where AST forms differ

3e6c07f6386706fdc1bc17bc2311a55f5f36efbd authored over 2 years ago by c42f <[email protected]>
Merge pull request #84 from JuliaLang/sp/is_identifier_start_char-nothrow

Non-throwing is_identifier_[start_]char

660ed65db37212d5aa397fd0c23a7e4e6985400e authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Use K"?" for head of ternary conditional (#85)

This allows `a ? b : c` syntax to be clearly distinguished from normal
`if a b else c end` with...

70cb0573933ca34729e3158d9b9066345dce921c authored over 2 years ago by c42f <[email protected]>
Update src/parser.jl

Co-authored-by: Kristoffer Carlsson <[email protected]>

dafe88b85ea693be02bcf6c0b11c5141d7aa2f5c authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Check Base.ismalformed instead

and add a test

48520d3ee9c3baecda57d452a6b9a368c2618728 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Add FIXME

d8cd0659dbd8af5f8fb6aa9dc9503d809fc0f8b1 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #80 from JuliaLang/sp/range-newline-parsing-in-parens

Allow newline in range expr after : in parens

9cc6bfe421427a53b705ae19d192c326089be25f authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #83 from JuliaLang/sp/unescape_julia_string-nothrow

Never throw in unescape_julia_string

75782b108a2fad0ae65cc7b01ce844cd7d017ee3 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Remove skip_newlines instead

89170ebcb98245437caedced02a5823a9f054b6c authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Fix typo

e866eeea2df983047fa98035c4566765ca5ac915 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Apply suggestions from code review

Co-authored-by: c42f <[email protected]>

3f3e365728147b1fc299a3d577c46b6532359d86 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
non-throwing is_identifier_char

614bfaf5e8d5edd568dbcc172bba9c7577095b3b authored over 2 years ago by Sebastian Pfitzner <[email protected]>
non-throwing is_identifier_start_char

96a301095f8230cb0b492b81010f0fdf4be8ff54 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
never throw in unescape_julia_string

d1b6278daac5825f110d30ff8a51cc665d1246fa authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Correctly handle begin as kw in typed comprehension

54587ccb2ea1d4c1badf4fa4cfcdc8f90fbbda58 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Allow newline in range expr after : in parens

9c3947f2faa79684008d565061f3c078efd452c9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
improve diagnostics script

7b6ad2787389b2e0c762ee04de83d477fa19600d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Also handle newline ws

62d6226854d1a264456c2c0e5b8b050bc7913f17 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge branch 'main' into sp/ternary-unexpected-kw

f9b857e3262524625500b47b8e2a9a13231d12a7 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #78 from JuliaLang/cjf/parse-float-erange

Fix over/underflow in parsing float literals

7951c0e81af4581d6a4c2ab91f90006291712766 authored over 2 years ago by c42f <[email protected]>
Work around strtof bug on windows

a1b9780cdf8f10fd5ce1f51463920dd0889e7a0d authored over 2 years ago by c42f <[email protected]>
Use Vector{UInt8} as allocated buffer in slow path

We probably shoudln't be modifying the memory in a String on the slow
path here, so use a Vector...

fa7273602cd793fe506f7a010f08d4315fe9fbfc authored over 2 years ago by c42f <[email protected]>
Fix over/underflow in parsing float literals

It seems we can't use Base.parse for floats because this disallows
underflow. So replicate the l...

aaefdff088b5972d56cb1a6bc91a594967fd3bbe authored over 2 years ago by c42f <[email protected]>
Better "unexpected kw" handling in ternary parsing

15c028cb7a0ab9761155c3d977b7727c4c29f404 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #72 from JuliaLang/sp/array_parse-early-abort

Fix early-abort handling in array_parse

291da24d41df6ef882b4b37ba57b53a3c25b703d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Update src/parser.jl

Co-authored-by: c42f <[email protected]>

f13e94a10943517738e20464ad157691ece903a9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Fix parser crash for empty tuple parsing in parse_function (#75)

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]>
Bump ]

53502ec65d283267c62832914b21e53bb9343086 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Fix: .- and .+ before numeric literals (#76)

-2 is numeric literal -2, but ensure .-2 is (call .- 2)

6a3a6f4b07af1640b883d86f739c0d96078bf3e2 authored over 2 years ago by c42f <[email protected]>
Fix tests

0f5460c126e3d9b64bd83318f583ead1e2af7e68 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
fix parsing hex floats containing 'f' (#73)

e2863731e7abc0cc596623f8f9a7f2134f30cfa4 authored over 2 years ago by Kristoffer Carlsson <[email protected]>
Fix early-abort handling in array_parse

2bdac10ade35cdfdbb347de5f573f8ab1cbce5e9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #68 from JuliaLang/sp/tools/check_all_packages

Add check_all_packages script

98640131e0de3d4435f8f4a73315aad7953c3f7d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Merge pull request #60 from JuliaLang/sp/fix-vect-newline

Fix vect parsing with newline before comma

66acd8638d83cb114437d9d00d589837ee250b8d authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Add fl_parse() test tool to call flisp parser directly (#70)

This allows us to call the flisp parser directly instead of using
Meta.parse which may have bee...

80d439928d88397a49252484dee354de6629612a authored over 2 years ago by c42f <[email protected]>
Add check_all_packages script

bcc9ce754aba7f4525d50d6e4c407f60288c73a9 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
"Improve" error handling in SyntaxNode conversion

a7b26680d11919bc7b7a653752447f8f8db48500 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
update the `Core._parse` hook (#62)

6897a179990dce0aeb89de01462c6b5a21bb66cd authored over 2 years ago by Shuhei Kadowaki <[email protected]>
fix and optimize erroneous code paths (#58)

Co-authored-by: Sebastian Pfitzner <[email protected]>

7cfb056b66d1e0016dda7d1291bbb885ccecaaed authored over 2 years ago by Shuhei Kadowaki <[email protected]>
Correct fix

cf22788995a9869fb967da2d53aae2a6546e48ae authored over 2 years ago by Sebastian Pfitzner <[email protected]>
Fix vect parsing with newline before comma

a401f0fd665a848b3e1196c399a48808829cc570 authored over 2 years ago by Sebastian Pfitzner <[email protected]>
get rid of unused fields and functions in the lexer (#56)

2e1e8e7a1ee44cc6a0ac57bbcaee8d7c536f4709 authored over 2 years ago by Kristoffer Carlsson <[email protected]>
Merge pull request #54 from JuliaLang/cjf/core-set-parser

Minor cleanups to core parser hook

d3d8fdeaea37bcae05191cad50a326e608035d97 authored over 2 years ago by c42f <[email protected]>
Minor cleanup to inference barrier in core_parser_hook

8fd5728d4e1949b119558443fcd7b844c3adfa4e authored over 2 years ago by c42f <[email protected]>
Use Core.set_parser rather than eval if it's available

3601357905275f8a5bf41b1d9e933c9622ac5f5f authored over 2 years ago by c42f <[email protected]>
require a number after 'p' for hex floats to lex as a float (#52)

0dbff5336cec5f7ddde0290f964db31746668d38 authored over 2 years ago by Kristoffer Carlsson <[email protected]>
Make enable_in_core! safe for use in precompilation (#50)

Move the hacky code for overriding Core._parse from the sysimage
init module into JuliaSyntax.j...

8516156375e18a9f94af9faa7ff214f0e68b7532 authored over 2 years ago by c42f <[email protected]>
Merge pull request #46 from JuliaLang/c42f/core-hook-fixes

Reduce invalidation/recompliation for parser usage in sysimage

b1fa39e4b521d7f4fd1e61932f8b9fcfb6baf8ad authored over 2 years ago by c42f <[email protected]>
Prevent more compile latency in Core parser hooks

04a3dfdc158a0331ac3be1b07aa735d7b39e2509 authored over 2 years ago by c42f <[email protected]>
Freeze world age by default in enable_in_core!()

A fixed world age for the parser prevents the need for recompilation of
the parser due to any us...

d1057247d650342496b6470d212d5613b622056b authored over 2 years ago by c42f <[email protected]>
Fix hooks: whitespace parsing with Meta.parseatom() (#48)

Previously, `Meta.parseatom()` would consume trailing whitespace which breaks usages like in `Ba...

ffd3e473e02ad5e3bd5f5b88d5665f9cdd5ad62a authored over 2 years ago by c42f <[email protected]>
Bugfix: Always emit a token from parse_atom (#47)

If a closing token is found in parse_atom, we still need to emit a
nontrivia token to make the ...

253d8790e37770c571d7a53ec18f3d0e92fda3ad authored over 2 years ago by c42f <[email protected]>
Fix core hook when parsing only whitespace. (#45)

core_parser_hook() should return `nothing` when attempting to parse
statements or atoms, but wh...

a6ccaee9400c8cb96a16f5abd8d5d9bafb97fce9 authored over 2 years ago by c42f <[email protected]>
Merge pull request #44 from JuliaLang/c42f/sysimage-fixes

Sysimage / precompile fixes

70fec80a82a99d74d3561b22ffcdb16b83cee482 authored over 2 years ago by c42f <[email protected]>
Fix accidental piracy of Base.eof

As part of rearranging modules in #40, Base.eof(::Char) was accidentally
defined. It seems clear...

bc1d8f2055ba4280503ef1538de555a84e1b1074 authored over 2 years ago by c42f <[email protected]>
Add macos and windows to tests

f30d4ef3053d4144ef7d274d1fadd66cb396971a authored over 2 years ago by c42f <[email protected]>