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 seemed like a good idea at the time but using the raw flags
directly is quite ok too, no ne...
Add some basic examples and bring some high level order to a document
that's grown organically.
f6c8905458998035cfc58ba407c5e68d5656b81b authored almost 3 years ago by Chris Foster <[email protected]>
da5fe4e5e45d697b30e170150edb6ed9aa0bdffe authored almost 3 years ago by Chris Foster <[email protected]>
4f788f6fc599832661e7beac51586905f2ef90e6 authored almost 3 years ago by Chris Foster <[email protected]>
5fa9d64f9eb7519ff310d66212b94aa8bbe29c24 authored almost 3 years ago by Chris Foster <[email protected]>
06e07c78ef70a29a1376da4dc5292fe3c3aae867 authored almost 3 years ago by Chris Foster <[email protected]>
2946ff372bde213af41c235996077a4dd9ee1d67 authored almost 3 years ago by Chris Foster <[email protected]>
766f93bf7067795e56cff6b776b28be0d36cce6b authored almost 3 years ago by Chris Foster <[email protected]>
The Julia flisp parser disallows things like `+₁ x` to mean
`(call +₁ x)`, so we probably should...
It seems we need to use peek_behind here, as a full expression of
arbitrary length (parsed by pa...
6bf1c53deaa49cda4d44c0028d50434e1911a248 authored almost 3 years ago by Chris Foster <[email protected]>
When reducing syntax disagreements, search for all failing subtrees
rather than the first one. A...
bbbf2d567f0c7a03922d63a98f1bebc65db823d1 authored almost 3 years ago by Chris Foster <[email protected]>
372b010f664b53d9c1ca58b4d9c793ca480d3ac5 authored almost 3 years ago by Chris Foster <[email protected]>
Also some tweaks to SourceFile pretty printing
e655c1f805c4c8dd130a677a02ac096a73eaa2c6 authored almost 3 years ago by Chris Foster <[email protected]>33d02797c6fcc9da176f74e2d7ab216dd566a966 authored almost 3 years ago by Chris Foster <[email protected]>
Make peek() a method of Base.peek, as it's semantically similar.
9e66a47740d48e363a90c6b4e96fb85cb49d0543 authored almost 3 years ago by Chris Foster <[email protected]>09957f4c2bb979c4bd8760cfda92acb9a5abe8c3 authored almost 3 years ago by Chris Foster <[email protected]>
Internally in the parser we'd like to work with a string of UTF-8
encoded source code, as we'd l...
7cfb8bf1ffc35d26a1a1958bbef72f1637e7dc75 authored almost 3 years ago by Chris Foster <[email protected]>
0856e16f9052c191ef0a1d4c8fdcd6fc2f9c4ce1 authored almost 3 years ago by Chris Foster <[email protected]>
Also replace the julia_version keyword with simply `version` in various
places and simplify the ...
In https://github.com/JuliaLang/julia/pull/39594 it was considered
non-breaking enough to change...
Work on defining a more useful public parser API in the combination of
- parse() and build_tre...
Also add a bunch of test cases for numeric literal parsing and fix the
types which arise from pa...
d753fddb88bd1354c9c7cce9278f271514a44817 authored almost 3 years ago by Chris Foster <[email protected]>
5ba2d24bbbf134f25c8e16930682a20ca5ad6467 authored almost 3 years ago by Chris Foster <[email protected]>
9308b0d17f61aace1502ef12e58e66b535427332 authored almost 3 years ago by Chris Foster <[email protected]>
* Fix parsing of dotted short circuiting operators .&& and .||
* Fix parsing of dotted type comp...
Our parse_factor / parse_factor_with_initial_ex is a bit different from
the flisp parser so type...
* Add Unicode NFC normalization of all identifiers
* Add Julia-specific normalizations of lookal...
fc5fc1b92d51eab68ff4749da2ba6278d6b8d1b8 authored almost 3 years ago by Chris Foster <[email protected]>
7446eda2c1428f2d2252c5020547a62dae67590b authored almost 3 years ago by Chris Foster <[email protected]>
Introduce a category for contextural keywords. Use that to ensure that
strings are parsed as raw...
Removing this allows us to remove the VAR_IDENTIFIER/VarIdentifier token
kind, the VAR_EOF token...
It turns out that having this special token type in the lexer isn't
actually very natural. Inste...
This includes some simple tooling for test case reduction. This isn't
very precise yet and in va...
8a28b9ef912137e8a98c488ac22930709d38d83f authored almost 3 years ago by Chris Foster <[email protected]>
7cf8552db09dfe26b19659d9b99c7646666df81a authored almost 3 years ago by Chris Foster <[email protected]>
Split parse_assignment up so that we can reuse the second part -
parse_assignment_with_initial_e...
It turns out that the flisp parser does allow this, so we should too.
98453b3255554a2ead77d2490df07f1c92c4c957 authored almost 3 years ago by Chris Foster <[email protected]>bc3ddd8a19451d6b439ec109711c74f4b46d45e6 authored almost 3 years ago by Chris Foster <[email protected]>
In `import A.==` the `.` is a separator, not part of a dotted operator
`.==`. Fix this. Also fix...
16ebf702c33b79b2471be0b08013d28cb610aeae authored almost 3 years ago by Chris Foster <[email protected]>
45cf77854cf0eb2975d1f9b34efea45983bd497f authored almost 3 years ago by Chris Foster <[email protected]>
Now that we have a real parser, we can just use this parser for the
syntax interpolation prototy...
This seems to be strange syntax, and I guess unintentional that this was
allowed by the flisp pa...
4e511921b2bf06ce74572e6cc26e617161131e68 authored almost 3 years ago by Chris Foster <[email protected]>
f9b2634336482902a82f7322d28fe980c30fcb84 authored almost 3 years ago by Chris Foster <[email protected]>
4bd0b50c82ac664a464d158657e0adcf23856bc8 authored almost 3 years ago by Chris Foster <[email protected]>
Many small fixes to correctly parse Base (some failures remain in the
stdlib and Base tests).
*...
4d368e074a13ae66c58d4a980563482994b54bc7 authored almost 3 years ago by Chris Foster <[email protected]>
There's quite a wide variety of syntax allowed in the function "name"
component which makes dist...
ParseState is very specific to Julia parsing, whereas the ParseStream is
somewhat less so and mi...
This allows the bit size to be interpolated.
08817475b5c6e98fd0de5cfb5bc178b0d9542da5 authored almost 3 years ago by Chris Foster <[email protected]>ab2391975c225906c64baf00efcfde5026fba326 authored almost 3 years ago by Chris Foster <[email protected]>
4cf9e049b560e989ed31cbc2d3392d452ee5f615 authored almost 3 years ago by Chris Foster <[email protected]>
Not yet connected, as it causes a few failures still.
4165d80af3dd518639e8c5491827cb0c6333d389 authored almost 3 years ago by Chris Foster <[email protected]>
The previous version turned out to be quite broken - initial whitespace
is never regarded as ind...
It turns out that things like K"Keyword" are very easy to accidentally
misuse.
def1fde896dfc46058239f84484d8087c29f3dc3 authored almost 3 years ago by Chris Foster <[email protected]>
e0cee22df882348152983801a36f5ee43d2f07f7 authored almost 3 years ago by Chris Foster <[email protected]>
ef0fe1539b9a1ce96e28ddad36c70d36dea71fd9 authored almost 3 years ago by Chris Foster <[email protected]>
c0471fbfcf111ed0f74d938ce5d48bb2116dcc09 authored almost 3 years ago by Chris Foster <[email protected]>
4c2ef0e67403c3b667983354eb169620775dba53 authored almost 3 years ago by Chris Foster <[email protected]>
da02805ae0f1955b3717cb93fa6a4694e41268d2 authored almost 3 years ago by Chris Foster <[email protected]>
f6dd127bf7286e2e94008b1b04d5e4ce7d6e1b4d authored almost 3 years ago by Chris Foster <[email protected]>
bbedbd8f0ab3f14ef373e634827c3e8893a1af0a authored almost 3 years ago by Chris Foster <[email protected]>
For example `@eval (x,y)`
9c5d4891f1df6d455768b467ff15b1d69cc22362 authored almost 3 years ago by Chris Foster <[email protected]>
It seems that SyntaxNode shouldn't simply be a proxy for Expr, but
rather a more convenient inte...
ad94efd345308e92624deb281805ae30af45c6cb authored almost 3 years ago by Chris Foster <[email protected]>
a9a9f89341a070cbe57aa7659e839fea46dceb4c authored almost 3 years ago by Chris Foster <[email protected]>
35c9c51356d3dafbe5ac43a3de5897ba703c120d authored almost 3 years ago by Chris Foster <[email protected]>
Start to clean things up to give a better overview.
0e701f6eee7eaf11424bf33030ceac7d884b6fa8 authored almost 3 years ago by Chris Foster <[email protected]>Probably no point keeping this working at this early stage.
bb73c4a8d4d72eee7da20e820c95e4d51f854b39 authored almost 3 years ago by Chris Foster <[email protected]>392961fb498d2a25dc6221498657b1f7833f2fc5 authored almost 3 years ago by Chris Foster <[email protected]>
* String unescaping
* Raw string unescaping
* De-indentation of triple quoted strings
This allows any of the tree types to be conveniently produced using the
parse_all interface.
Emit strings as either STRING or CMD. This distinction is required
downstream from the lexer whe...
This macro makes sets of kinds easier to read. We could also consider
optimizing the set members...
66bfdbb97d3f8a868dda0b96f9aba31024283d6c authored almost 3 years ago by Chris Foster <[email protected]>
b375578978b46d24169f510dbfe05d7f23dbd2d2 authored almost 3 years ago by Chris Foster <[email protected]>
* Fix parsing of where with curlies; add test cases.
* Don't emit blocks for right hand side of ...
2c9e5ac92ec827f192150b3e9d42bc2274d0643c authored almost 3 years ago by Chris Foster <[email protected]>
7b5fc2d1bf4d9957a4ff68ac4ffaf11f7ad83240 authored almost 3 years ago by Chris Foster <[email protected]>
db201f6afefbf78f9f3eaec335c80c7c81f547f3 authored almost 3 years ago by Chris Foster <[email protected]>
9d2392f7a164a865fde9b672426ab6858950f493 authored almost 3 years ago by Chris Foster <[email protected]>
This is done in the lexer rather than the parser as the next character
is readily available.
af3e8d548a108a652ab59acd6bd2a363c6ab8062 authored almost 3 years ago by Chris Foster <[email protected]>
This change completely reworks how tokenization of strings happens so
that expressions within st...
426f6bd5df04436b6230369470d1180cb3cc5af6 authored almost 3 years ago by Chris Foster <[email protected]>
57107b28411fd218b3e4bffcce95a05ad9e0fe39 authored almost 3 years ago by Chris Foster <[email protected]>
This bug caused the output stream to get out of sync with the text, with
all sorts of messy cons...
9e65d67cd2db938f8c8a11052ea1d8c9d8c6803a authored almost 3 years ago by Chris Foster <[email protected]>
b33962e8ef6a6bf3189a80288b8c1937bdc5d94a authored almost 3 years ago by Chris Foster <[email protected]>
2665427d224d892783b2db1f3fa9306492ce0e33 authored almost 3 years ago by Chris Foster <[email protected]>
* Make short-form SyntaxNode printing use bare Symbols so that tests are
much nicer to look at...
ffa0d6aa101386826ef4516b7ac3af48d82ba357 authored almost 3 years ago by Chris Foster <[email protected]>
a87ded231ed175950640f50e0af3bfb7cf9e5645 authored almost 3 years ago by Chris Foster <[email protected]>
We need several significant changes to Tokenize, so bringing that
library in here for now.