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

Move all Expr conversion tests to test/expr.jl (#253)

7c16f1bddf64d27d77366a1f7c68bf3c76d3b6cd authored over 1 year ago by c42f <[email protected]>
Avoid crashing on ambiguous tokenization of char vs adjoint (#251)

The tokenizer can't really solve this case, it needs help from the
parser. ie, tighter coupling...

ec705edbb25766d0f0cf47bb5950be2e5ec0e7bf authored over 1 year ago by c42f <[email protected]>
Minor doc addition for `K"juxtapose"` and `return`

8fb13c66e9ed26ffcebf0165a10d4197370f8f15 authored over 1 year ago by c42f <[email protected]>
Fix parsing of chained unary and unary type operators (#249)

* Parsing `* <: A` doesn't crash the parser
* `+ <: A` now parses correctly as `(call-pre + (<:...

ea8668fcd2230bd11a99c9f2d177dbd600ef4fc0 authored over 1 year ago by c42f <[email protected]>
Big cleanup of test case reduction utilities (#250)

* Text-based test reduction moved into test_utils
* Remove some obsolete utils
* Rename reduct...

e1d750f1d02b96c9553d0bc0894583c9529174c8 authored over 1 year ago by c42f <[email protected]>
Fix for detecting call heads in function signatures (#247)

Discovered parsing packages in General

1515d8f9b01a18573df860bb5c4e0c50fa7bc5dd authored over 1 year ago by c42f <[email protected]>
Big list of AST difference between Expr & GreenNode (#246)

Copy this list from issue #88 to the docs.

e55e238e0e1d36a3691f97e57cd7ef8d9faff1ba authored over 1 year ago by c42f <[email protected]>
Always parse standalone dotted operators as `(. op)` (#240)

Change the parsing of standalone dotted operators such as `.+` to always
parse as `(. +)`, rega...

bc8bd7852047d383cb368635623bee026b9cc99f authored over 1 year ago by c42f <[email protected]>
Distinguish `:x` from `quote x end` with a flag (#245)

This is also distinguishable based on the presence of a child `block`
as the only argument, but...

a00d5bd838a5b85dae3990f6dec1405273993bc6 authored over 1 year ago by c42f <[email protected]>
Use importpath kind rather than K"." (#244)

In `Expr` trees, the internal structure of children of `Expr(:.)` is
different within an import...

bd4ae55eceec4fc8bb0bbebf1f95c1b34d57797b authored over 1 year ago by c42f <[email protected]>
API updates: `parse()` -> `parsestmt()` + exports + `parse!(rule=:all)`

`JuliaSyntax.parse()` clashes with `Base.parse()` and it's really not clear
whether `parse()` s...

73766d745e2b640eecc5b09b0f76031150d973ff authored over 1 year ago by c42f <[email protected]>
Add note on getting involved to the README

People keep asking me about this 😅

419d173ed9c7d146f3305204bad1881ae17fe47f authored over 1 year ago by c42f <[email protected]>
Simplify child layout for `try` (#234)

The child layout of try-catch-else-finally is awkward because several of
the subclauses are opt...

3dcc960139ea792d4436e1eaad18c05b03bf652f authored over 1 year ago by c42f <[email protected]>
Add parens node in special cases `:(=)` and `:(::)` (#237)

f762e7669e8d03d6dc4694850b406c3018fdf07d authored over 1 year ago by c42f <[email protected]>
fix parsing `'\\` to not error in the validate token step (#233)

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

c808a70754e9f7cf287102b0017bfa3413ea3c88 authored over 1 year ago by Kristoffer Carlsson <[email protected]>
Fix highlighting of empty source ranges (#231)

Highlighting of empty ranges needs special handling at the ends of lines
as the source line of ...

1ab2af26bf3ff5abf3a6d1724846af75f0378d36 authored over 1 year ago by c42f <[email protected]>
Add isascii to normalize_identifier for 25% reduction in parse time (#228)

6b947dbc2b23f464fa763cd847c66e4ddb5871bf authored over 1 year ago by ndinsmore <[email protected]>
Automatically reduce test failures General registry (#229)

bd19475bb616c8344d5212a64cc434ecdd1fb5e4 authored almost 2 years ago by c42f <[email protected]>
Various fixes for `K"parens"` nodes (#227)

* Fix `:kw` conversion in dubious constructs like `f(((a=1)))`
* Fix Expr conversion for parens...

56c33b2437e92660925557177212b2b2efc8c695 authored almost 2 years ago by c42f <[email protected]>
Fix highlight() use in registry testing tool

7482d9c77cea8b559a3b76d47bb7924bfe191147 authored almost 2 years ago by c42f <[email protected]>
Merge pull request #226 from JuliaLang/c42f/various-fixes

Allow parentheses in import paths and macro names

8cad384ceb622d178c7c75c4fbb587f638cdbedd authored almost 2 years ago by c42f <[email protected]>
Allow parens in import paths like `import A.(:+)`

Some packages use this syntax, even though it's apparently pointless!

45860e0990b2074547a2b4a91f5ff7c71f94e509 authored almost 2 years ago by c42f <[email protected]>
Fix parsing of parenthesized macro names

7a5de3a2e629a42e5d83496acd4e19d3a76251fc authored almost 2 years ago by c42f <[email protected]>
Merge pull request #225 from JuliaLang/c42f/emit-diagnostic-cleanup

Clean up emit_diagnostic stream position handling

92eac55a3ab87a4b4ad1da39fae7d57c258dda3c authored almost 2 years ago by c42f <[email protected]>
Clean up emit_diagnostic stream position handling

`emit_diagnostic(ps, mark, ...)` now behaves like `emit(ps, mark, ...)`
in terms of the source r...

9c26a47eee433b322ba286ea440e5a5b85cd7d18 authored almost 2 years ago by c42f <[email protected]>
Better conversion to `Expr` with `parse(..., ignore_errors=true)` (#224)

This isn't a complete solution, but it improves the situation somewhat.
(It's unclear whether w...

a78aa6e80ac8c6267392cbd2042e51cb0ba9dd38 authored almost 2 years ago by c42f <[email protected]>
Use === for symbol comparisons

2becf30217702dc4db17ac2860eec25372e36672 authored almost 2 years ago by c42f <[email protected]>
Enclose grouping parentheses with `parens` node (#222)

Introduce a new kind `K"parens"` to represent grouping parentheses with
a tree node of their ow...

70c908f0e5c3140039aaa4ec873e64c86c350fa9 authored almost 2 years ago by c42f <[email protected]>
bump version to 0.3.3

d192ceae95f8de9fd3e7e412e909eedee0cc3cd9 authored almost 2 years ago by c42f <[email protected]>
Make CI run on release-* branches

381e9f2ddc845a0ec02f318d6f716615e5572c12 authored almost 2 years ago by c42f <[email protected]>
Basic after-parse tokenization interface (#221)

Implement a `tokenize()` function which retreives the tokens *after*
parsing.

Going through ...

36909cd6fd31b0b8331aed4c05d339f84f9cd6e6 authored almost 2 years ago by c42f <[email protected]>
Merge pull request #220 from JuliaLang/c42f/bump-invisible-cleanup

Various AST cleanups related to removing invisible tokens

2720980503b1e7b66e59205a0e236e18d0d67be9 authored almost 2 years ago by c42f <[email protected]>
Use flags for struct/module variants and allow empty return nodes

Various AST cleanups:

* `struct` and `mutable struct` are distinguished with flags not children...

9eb28b238a185332a1e2b4350c65340741e9ae10 authored almost 2 years ago by c42f <[email protected]>
Use distinct kind for juxtaposition

This allows us to easily distinguish juxtaposition syntax from explicit
multiplication.

f6c66cbf71161f58365751cc1ed8dbcc93741103 authored almost 2 years ago by c42f <[email protected]>
Remove premature lowering of `return` without arguments

`return` can have zero arguments - indicate this with empty children,
rather than with an invisi...

cb907f3f6bc84e6b7467ef4999ab12601c77ddc4 authored almost 2 years ago by c42f <[email protected]>
Minor cleanup of parser code for let block bindings

f7c74881361b146da7191e0a9a489b49fb9e31c2 authored almost 2 years ago by c42f <[email protected]>
Add PARENS_FLAG to tuple, block and macrocall (#218)

Several syntactic constructs can occur either with or without
parentheses and it can be useful ...

e4f08c46fbc7c4cb1ba88cb24cf5b8f0364e03b7 authored almost 2 years ago by c42f <[email protected]>
Parse docstring attachment as `K"doc"` kind (#217)

With this change `"str" f` now parses as

(doc (string "str") f)

This better represents...

917e87ff1c339c02351ab1e6dad3196e2f1988c1 authored almost 2 years ago by c42f <[email protected]>
Improve syntax diffing in General registry checker (#216)

c4f1f6a858f2e17fd17070a46ed1ec1a102936f8 authored almost 2 years ago by c42f <[email protected]>
Rewrite source range `highlight()` (#215)

`highlight()` now always prints whole lines of source code, and can
highlight arbitrary ranges ...

442f3e44b214f3d8ae1ed0865550d31957b57062 authored almost 2 years ago by c42f <[email protected]>
add a very basic precompile workload (#213)

* add a very basic precompile workload

Before:

```
julia> @time @eval collect(JuliaSyntax...

fec6f3fd27f463c64d5ab7b4f6a4c52a7e3fe8f4 authored almost 2 years ago by Kristoffer Carlsson <[email protected]>
Merge pull request #214 from JuliaLang/c42f/various-fixes

Add basic benchmark script + other rearrangments

32336762349fdeb5a0c99d2ecc2e17d90160036e authored almost 2 years ago by c42f <[email protected]>
Move some utility/hook functions to more consistent locations

841ed02314016cc2de8add3ed5bb6af4f179be99 authored almost 2 years ago by c42f <[email protected]>
Add some basic benchmarks

59e917602a4a120d05637968071500116a5a9599 authored almost 2 years ago by c42f <[email protected]>
Add docs for the ignore_errors flag

2f72b12fc50bc6173db2ffab7ff179a3cfe1683a authored almost 2 years ago by c42f <[email protected]>
Version 0.3.2 (#211)

97e2825c68e770a3f56f0ec247deda1a8588070c authored almost 2 years ago by Tim Holy <[email protected]>
Support `copy` for TreeNodes (#210)

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

b693c90f74930909331237fd6efe3cfb135ee960 authored almost 2 years ago by Tim Holy <[email protected]>
Bump to 0.3.1 and remove old Printf dependency (#209)

9a038af82c250de0139975f2ec5ede56b5f02d8c authored almost 2 years ago by c42f <[email protected]>
AbstractSyntaxNode generalization & convenience (#208)

These add a couple more convenience methods useful for TypedSyntax.

aaaae29a09738f115e8153cb08c39c757e14926a authored almost 2 years ago by Tim Holy <[email protected]>
Remove byte_range from default printing of SyntaxNode (#207)

The byte range is probably most useful for debugging JuliaSyntax than
general use. So disable t...

20b3b3e88841e3de0309e9a0531de0ca906b6c2e authored almost 2 years ago by c42f <[email protected]>
Move value_parsing.jl to literal_parsing.jl (#206)

9ce4c2e4450d7cca87cd3f526d9f28e04060b818 authored almost 2 years ago by c42f <[email protected]>
Split SyntaxNode into TreeNode & SyntaxData (#193)

Closes #192

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

0b1aa971e38a363866aee61a40e37688e3cd2bb1 authored almost 2 years ago by Tim Holy <[email protected]>
Improve test coverge of source_files, syntax_tree (#204)

These two files are particularly affected by recent and upcoming
changes (e.g., #193). This add...

9fa566128d84532d24b08e4fcda0012407475d28 authored almost 2 years ago by Tim Holy <[email protected]>
Enable parsing of Base tests (#205)

The only weird case here is Base's test/syntax.jl which contains some
pretty weird syntax cases...

f1440dcc5c0f94c96c43686c6f409c94a5217178 authored almost 2 years ago by c42f <[email protected]>
Submit coverage reports to codecov and add badge (#203)

142984134136f1637d80f59971bd2801bdf6be40 authored almost 2 years ago by Tim Holy <[email protected]>
Support `begin/end` indexing of `SourceFile` (#201)

a94191988dde0ddc761e2668d0fc17e76c132429 authored almost 2 years ago by Tim Holy <[email protected]>
`first_line` support in `parse` (#200)

c58ea423c664d7437d2b0e4436a46f0754e200b2 authored almost 2 years ago by Tim Holy <[email protected]>
Fix `try catch else` Expr conversion (#198)

This was incorrect when not including a finally clause.

764597acc87265c9c96bc5fe52a0ce11a94c6d4a authored almost 2 years ago by c42f <[email protected]>
Various improvements to the README (#195)

- Slightly reword some passages for clarity
- Use punctuation to help reveal sentence structure...

5e46a0d833ecc90b07ec1599d7d9c5e28234c71e authored almost 2 years ago by Waldir Pimenta <[email protected]>
Fix for operator-named macros: parse `@+x` as `@+ x` (#197)

Allow operator-named macros to be used without spaces.

947359ca0707f7d1c4a716743ac01468b69ffd7f authored almost 2 years ago by c42f <[email protected]>
Add lineno to SourceFile (#191)

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

0747ea011a978cd69200f9ecaf8ed1fb10eebf09 authored almost 2 years ago by Tim Holy <[email protected]>
Fix various numeric literal token errors (#196)

A fairly big refactor of numeric literal tokenization error cases and a
couple of other tokeniz...

dae2d23afcd4f49ad52efac9d24a3c98e9ab81d0 authored almost 2 years ago by c42f <[email protected]>
Allow SyntaxNode `node[end]` to get the last child (#189)

Also add start of more targeted tests for SyntaxNode.

0b2c422d15ad67d38e3c6c3c63220546838451c0 authored almost 2 years ago by c42f <[email protected]>
More fuzz testing tools and fixes (#188)

* Line-deletion based fuzzer
* Token-deletion based fuzzer

* Fixes for two crashing bugs fou...

e57b80044e3a863924909ef51e1370c381109e58 authored almost 2 years ago by c42f <[email protected]>
A few fixes for ranges of diagnostic messages (#187)

f2452c493ee3f8e4c553a61e4781d3283ce037ba authored almost 2 years ago by c42f <[email protected]>
Parser fuzz testing tools and fixes (#185)

Some fuzz testing tooling to check that the parser doesn't crash on
randomly generated source s...

1e12afeaabf98549caaabfe58f2fa4391cd17c6c authored almost 2 years ago by c42f <[email protected]>
Allow different parsings of `(a; b,)` to compare equal (#184)

The reference parser sees `(a; b,)` as a block, but the trailing comma
implies this should be a...

1988ddbee57da9431c01e66ce0c9523c691841ec authored almost 2 years ago by c42f <[email protected]>
Bump version to 0.3

2470b289fdae75d11872307ccc81c9d7db0a8f08 authored almost 2 years ago by c42f <[email protected]>
Minor fix to package check tool

9507f9b83a6b568081ffd57f7bdb3e335c5639af authored almost 2 years ago by c42f <[email protected]>
Merge pull request #182 from JuliaLang/c42f/julia-1.0-support

Support for running JuliaSyntax on Julia 1.0

f4db9ce550154c3cf1f27a8f70d4a8e8b7d74951 authored almost 2 years ago by c42f <[email protected]>
Minor clarifying rename

50f4e6ae2ee274040dd08cae03765c3b887a7700 authored almost 2 years ago by c42f <[email protected]>
Test the test_utils from runtests.jl

e8264728c7669136f3defe539068a490f5673d34 authored almost 2 years ago by c42f <[email protected]>
Support for running JuliaSyntax on Julia 1.0

Mostly just compat changes here, adding a bunch of Base utility
functions we use which don't exi...

70ed1cb424ac2d60473874d5507d78b13534087a authored almost 2 years ago by c42f <[email protected]>
Merge pull request #181 from JuliaLang/c42f/token-error-fixes

Fixes for General registry testing

bb1265eb16ab8f3af1239653922a3b37143162d5 authored almost 2 years ago by c42f <[email protected]>
Use specific error token kinds, not K"error"

37ec22b207645cc3ed04e8f3c4abd53c4b2ae81e authored almost 2 years ago by c42f <[email protected]>
Ignore compiler warnings when parsing General registry

These aren't failures so just ignore them for the purposes of
comparison.

38f396e3badc6f99cda16ff7d190ce92b84c32cb authored almost 2 years ago by c42f <[email protected]>
Improve logging for registry test tool

f9f06fcc79d3665b8f1f179daea7003d012a690b authored almost 2 years ago by c42f <[email protected]>
Fix deindentation with triple strings like `"""\n$x a"""` (#179)

When an interpolation occurs at the beginning of a line without any
preceding whitespace this c...

45d843186a335c63c9b13993e5352ae17d6382ec authored almost 2 years ago by c42f <[email protected]>
Fix lowering of `@.` to `@__dot__` in `using A: @.` (#178)

6a113fcfc9f9b31e45eb8bf4d1887e4c806503bb authored almost 2 years ago by c42f <[email protected]>
Allow the syntax `import A.:x` for `import A.x` (#177)

This syntax is unnecessary but does occur ~10 times in the General
registry so we should suppor...

7c29bc27cc5d318df6e25333b039047ac934f6ee authored almost 2 years ago by c42f <[email protected]>
Emit sensible errors for invalid operator tokens (#176)

Here we emit invalid token errors during the token validation pass. This
ensures any invalid to...

eb9fd054b454b158aa17c6ebe3f9d5fd584faf47 authored almost 2 years ago by c42f <[email protected]>
Improve Expr comparison code for registry testing (#175)

Add special cases to explicitly allow a few incompatibilities for cases
where the reference par...

5ee03f2474e54e9fb1b110def8d8b387acfee3b7 authored about 2 years ago by c42f <[email protected]>
Fixes for parameters blocks in Expr(:curly) (#174)

Fix Expr conversion for expressions like `x{a, b; i=j}`

f7ad15faaf4b749bdb7875875ff87881a4f20adf authored about 2 years ago by c42f <[email protected]>
Fix = to kw conversion in `x[a, b; i=j]` (#173)

a80b038d8dfbc336ed0e27caf2a9c01010a5edeb authored about 2 years ago by c42f <[email protected]>
Fix for tokenization of consecutive nested multiline comments (#171)

55e84b703aa52eff0a220eefaebf30c1ebb0f217 authored about 2 years ago by c42f <[email protected]>
Trailing linebreak is not significant in hcat (#169)

In the reference parser, `[a b\n\n]` parses as `(hcat a b)`, not vcat
with a single row.

56aa403397d5a1450a51130d66f6322167b6ce72 authored about 2 years ago by c42f <[email protected]>
Fixes for obscure function definition forms (#168)

Fixes for `is_eventuall_call` so that the following parse correctly

function (::g(x))() e...

d09245bb29390794115503a7d55a738ea0d6437b authored about 2 years ago by c42f <[email protected]>
Fix an obscure form of function definition (#166)

Fix cases where parens are used around module name such as

function (A).f()
end

S...

d6f05cab9be486709c8af506aae95db0b8728856 authored about 2 years ago by c42f <[email protected]>
Improve registry testing tools (#158)

* Compare Expr in detail against reference parser
* Hack for visual expression diffing
* Cache...

da2464829bd51f61b73b502e33cbe438e8a6f15f authored about 2 years ago by c42f <[email protected]>
Avoid use of GlobalRef in SyntaxNode trees (#165)

This makes the tree more symbolic, by using unique SyntaxNode head types
to refer to core macro...

a6d66bdc49b92c45adbf67221f6c47a43ffba16b authored about 2 years ago by c42f <[email protected]>
Fix Expr parameters in parenthesized macro calls (#164)

0e8c12d9b2ed321efeeed17abc9f059c55968e27 authored about 2 years ago by c42f <[email protected]>
Fix where parameter conversion as in `A where {X, Y; Z}` (#163)

This "frankenwhere" syntax is used by the SimpleTraits.jl `@traitfn`
macro.

909415555a10a1a24e68dc974f8027b07434c48d authored about 2 years ago by c42f <[email protected]>
Fix dotcall tests (#162)

7c737710edd7a3a9f0b9d1db15b225b37da4d290 authored about 2 years ago by c42f <[email protected]>
Allow + prefix to be part of unsigned numeric literals (#160)

So +0xff is a numeric literal, not `(call-pre + 0xff)`

059867a5b533e3dc7ab40a48e280979b0264ef01 authored about 2 years ago by c42f <[email protected]>
Make try without catch/finally an error (#161)

1be2e7a3229bd22db6289293be362b9b921cebe2 authored about 2 years ago by c42f <[email protected]>
Fix operator category/precedence for ≔ ⩴ ≕ ≂ (#159)

Several unicode operators were in the wrong precedence category; fix
this:
* Assignment, not c...

b0a570bb2bf779dc3c4c4f3d312f4223139d6c8d authored about 2 years ago by c42f <[email protected]>
Fix parsing of `.&(x,y)` (#157)

6f84a9c2321d233a9da2647f9ed65d86368b0685 authored about 2 years ago by c42f <[email protected]>
Fix source line reporting at EOF (#156)

618e2850a57bae809edae872b7261f2b4592031d authored about 2 years ago by c42f <[email protected]>
Only warn when float literals underflow to zero (#154)

jl_strtod_c can return "underflow" even for valid cases such as `5e-324`
where the source strin...

b2b2441aa806b8868e6d12519548919e54407fb8 authored about 2 years ago by c42f <[email protected]>
Fixes for tokenization of invalid UTF-8 strings (#155)

f270a56e57988d22b051725e0e3c5aa1ce0ca1c5 authored about 2 years ago by c42f <[email protected]>