Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Jan 23:07
· 263 commits to main since this release

JuliaSyntax v0.3.0

Diff since v0.2.0

Closed issues:

  • .<: and .>: should not be parsed as unary operators (#38)
  • Failure to parse some octal escape sequences (#67)
  • Diagnostics for string->value conversion (#82)
  • Rework handling of . tokenization and dotted operator calls (#90)
  • AST inconsistency between parsing of = vs kw (#99)
  • Bug parsing exception spec in catch (#105)
  • no error for over-long character literal (#109)
  • missing error for ** (#112)
  • Incorrect parsing of -(a=2) (#113)
  • Incorrect precedence for indexing vs macros. (#115)
  • Incorrect parsing of function with parens. (#116)
  • Internal error parsing += (#117)
  • parsing error for comma after newline in between square brackets (#118)
  • Got ERROR: LoadError: MethodError: no method matching core_parser_hook(::String, ::String, ::Int64, ::Int64, ::Symbol) when using Visual Studio Code + Julia Language Support + Enable JuliaSyntax.jl at startup.jl (#128)
  • const without assignment should be an error except in struct (#129)
  • Could you do Julia 2.0 (parsing) as an option? (#141)
  • Wrong row reported for juxtaposed string error (#145)
  • Tokenizer shouldn't throw for invalid UTF-8 (#153)
  • Tokenization error with nested multiline comments (#170)
  • Runtime Julia 1.0 support (#180)

Merged pull requests:

  • Parse keyword args with = head rather than kw (#103) (@c42f)
  • Stricter parsing of exception names in catch $excname (#106) (@c42f)
  • Rework JuliaSyntax.parse() public API (#107) (@c42f)
  • Tweaks to allow vendoring into Base (#119) (@c42f)
  • Split char delimiters early and emit K"char" node (#121) (@c42f)
  • Fix incomplete detection for tree with no parents (#122) (@c42f)
  • Remove TRY_CATCH_FINALLY_FLAG (#123) (@c42f)
  • Record fixity of call type in flags (#124) (@c42f)
  • Bug fix for macro call square bracket whitespace (#125) (@c42f)
  • Always emit a block for let binding lists (#126) (@c42f)
  • Wrap var"" nonstandard identifiers in var nodes (#127) (@c42f)
  • Fix const struct field errors + cleanup global const AST (#130) (@c42f)
  • Permit parens in function call signatures (#131) (@c42f)
  • Add docs on how to use JuliaSyntax inside VSCode (#132) (@c42f)
  • More flattened form for multiple frakentuple parameters (#133) (@c42f)
  • Fixes for parse check of General registry (#135) (@c42f)
  • Fix for parsing end in A[x ? y : end] (#136) (@c42f)
  • Fix parsing of [a~b] (#137) (@c42f)
  • Fix for function signatures with grouping parens (#140) (@c42f)
  • Fix tokenization of 1.# (#142) (@c42f)
  • Fix tokenization of numbers followed by .. (#143) (@c42f)
  • Fixes for macro paths and call chain parsing (#144) (@c42f)
  • Lower @ . to @ __dot__ not in parser but in Expr conversion (#146) (@c42f)
  • Report bad macro names more clearly (#147) (@c42f)
  • Validate literals at parse time (#149) (@c42f)
  • Parse dotted calls with dotcall head (#151) (@c42f)
  • Add ignore_errors keyword to main parser API (#152) (@c42f)
  • Only warn when float literals underflow to zero (#154) (@c42f)
  • Fixes for tokenization of invalid UTF-8 strings (#155) (@c42f)
  • Fix source line reporting at EOF (#156) (@c42f)
  • Fix parsing of .&(x,y) (#157) (@c42f)
  • Improve registry testing tools (#158) (@c42f)
  • Fix operator category/precedence for ≔ ⩴ ≕ ≂ (#159) (@c42f)
  • Allow + prefix to be part of unsigned numeric literals (#160) (@c42f)
  • Make try without catch/finally an error (#161) (@c42f)
  • Fix dotcall tests (#162) (@c42f)
  • Fix where parameter conversion as in A where {X, Y; Z} (#163) (@c42f)
  • Fix Expr parameters in parenthesized macro calls (#164) (@c42f)
  • Avoid use of GlobalRef in SyntaxNode trees (#165) (@c42f)
  • Fix an obscure form of function definition (#166) (@c42f)
  • Fixes for obscure function definition forms (#168) (@c42f)
  • Trailing linebreak is not significant in hcat (#169) (@c42f)
  • Fix for tokenization of consecutive nested multiline comments (#171) (@c42f)
  • Fix = to kw conversion in x[a, b; i=j] (#173) (@c42f)
  • Fixes for parameters blocks in Expr(:curly) (#174) (@c42f)
  • Improve Expr comparison code for registry testing (#175) (@c42f)
  • Emit sensible errors for invalid operator tokens (#176) (@c42f)
  • Allow the syntax import A.:x for import A.x (#177) (@c42f)
  • Fix lowering of @. to @__dot__ in using A: @. (#178) (@c42f)
  • Fix deindentation with triple strings like """\n$x a""" (#179) (@c42f)
  • Fixes for General registry testing (#181) (@c42f)
  • Support for running JuliaSyntax on Julia 1.0 (#182) (@c42f)