-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Rust Parser from Java instead of AST.scala #3611
Merged
mergify
merged 325 commits into
develop
from
wip/jtulach/UseRustParserFromJava_182743471
Nov 13, 2022
Merged
Changes from 250 commits
Commits
Show all changes
325 commits
Select commit
Hold shift + click to select a range
e750fc7
Parser multiargument function signature and deferred argument
JaroslavTulach f7d7fdc
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach eae820f
Removing comment handling for now
JaroslavTulach a5df97d
Handle doc comments without failing
JaroslavTulach 3b93f7f
Parse case_of expressions
JaroslavTulach ca8f921
Support for _ in case_of
JaroslavTulach d977637
Merging with develop branch
JaroslavTulach 5a5fa7b
Wildcard can be also on field name identifier
JaroslavTulach 9ec0bdc
More complex type signatures
JaroslavTulach 620135c
Parsing vector literals
JaroslavTulach 72461d0
Parse named arguments
JaroslavTulach 7adc9a2
QualifiedName in case pattern match
JaroslavTulach 616772c
Lines may not represent expression
JaroslavTulach 5a46217
Suppress warnings
JaroslavTulach 4d8b1e2
Default arguments for max_rows parsed
JaroslavTulach 5b9bc50
Merge commit 'c460b7c4a4f19642a51442820b07f33658f783de' into wip/jtul…
JaroslavTulach 5ecbf92
Merge with recent Kaz's work
JaroslavTulach 9e8a59b
Uncurry multiple functions into one
JaroslavTulach 021ba11
Compatible with previously working tests
JaroslavTulach a50c69e
Whitespace trimming isn't needed for identifiers
JaroslavTulach cc6ef57
Compile without ParserSyntaxException
JaroslavTulach 4525b82
Merge branch 'develop' into wip/jtulach/UseRustParserFromJava_182743471
JaroslavTulach 5559bdc
Merge with origin/develop
JaroslavTulach 95ca7a0
Merge branch 'wip/jtulach/UseRustParserFromJava_182743471' of enso:en…
JaroslavTulach 7438633
Handle Tree.Function inside of another function
JaroslavTulach 7811dc7
Some support for operators that need to be translated to lambdas
JaroslavTulach b375152
If there is an Invalid entity, then the Rust parser failed
JaroslavTulach 283fea1
Missing pattern for Case signals unsupported case_type_of syntax
JaroslavTulach ca421ba
Annotations aren't supported so far
JaroslavTulach 2baff87
Support unary minus
JaroslavTulach d967307
Support for text literal in case_of statement
JaroslavTulach 748009f
Support for extension methods
JaroslavTulach 519594c
Inner function with type signature
JaroslavTulach a61ad40
Merging Kaz's PR-3773
JaroslavTulach df0999e
translateArgumentsDefinition takes no arguments any longer
JaroslavTulach 788e079
Some support for template functions
JaroslavTulach fbfa007
IR differs based on lowercase/uppercase of the identifier
JaroslavTulach b4d3caa
Compare old and new IR of all library files
JaroslavTulach 07dbb86
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 6a51a63
Merging support for @annotation on Rust side
JaroslavTulach ace5cd8
Basic support for converting @annotation to IR
JaroslavTulach 404527e
Support for @Builtin_Type
JaroslavTulach 156edae
Multi-parameter annotation and a block annotation
JaroslavTulach 7ce4808
Merge branch 'develop' into wip/jtulach/UseRustParserFromJava_182743471
JaroslavTulach b0520c4
Avoid NPE in LoadParser.java
JaroslavTulach 39b9266
Display failed, as well as irFailed errors
JaroslavTulach 3fd8a6d
Merging with annotations work from the develop branch
JaroslavTulach 9efc620
Removing unwanted differences with develop branch
JaroslavTulach 2909a51
Sanitize the self name
JaroslavTulach 3e03e7d
Support type methods
JaroslavTulach fda957a
Eliminate comments from bindings
JaroslavTulach 51efba9
Recognize operator by not having alphanumeric characters
JaroslavTulach fc04b32
Parses Boolean type
JaroslavTulach 535570f
Try harder to remove all documentation comments from comparations
JaroslavTulach 4cf7c78
Recognize eq_at function definition
JaroslavTulach 2384056
Text or Nothing type
JaroslavTulach 1d117dc
Parse inline type specification
JaroslavTulach a6b08f9
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 03b02c4
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach c20e0b5
Parsing qualified type signature
JaroslavTulach fd1ca6d
Support for nested blocks
JaroslavTulach f70ef15
Some support for types in case of
JaroslavTulach 0679754
Unified translateMethodReference
JaroslavTulach 6d68454
Properly represent method type
JaroslavTulach cdb0729
Merging with macros from develop branch
JaroslavTulach e7d4244
Support more compilicated case_of with types
JaroslavTulach 7def987
Support for ... auto scope construct
JaroslavTulach 967d370
Support [array type]
JaroslavTulach 1804bbf
Operator Section Right
JaroslavTulach b6a731b
Use the new parser to build the IR
JaroslavTulach d3a65d5
Patch list body block
JaroslavTulach 0d7e14a
Problems parsing lambda with a block
JaroslavTulach 6ee5a82
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 02b801f
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 743dd33
Expect doc comments
JaroslavTulach 9e67b53
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach dd53be4
_ : Filter fails right now
JaroslavTulach ee5f0d6
Documentation comment is represented in the IR
JaroslavTulach 1e99d50
Parse By_Index, By_Column
JaroslavTulach 77665ac
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach b77bfda
Parsing case_type_of with spaces works
JaroslavTulach 65c6b92
Compose text literal from its sections
JaroslavTulach 391431e
Parse escape sequences in text literals
JaroslavTulach eaf7815
Use default rather than case String x
JaroslavTulach 7a29b92
Process Tree.Documented as well as its getExpression() inside of type…
JaroslavTulach 0f59810
Removing the test - it is not a valid code in the old parser
JaroslavTulach 2dfa0dc
Merging with develop branch
JaroslavTulach fa0de9e
Handle comments in the case branches
JaroslavTulach 9fcd9bf
Parse the group type in the simple case
JaroslavTulach e64e40b
args.reverse() to get arguments in the right order
JaroslavTulach dc7b0b0
Support _ on LHS
JaroslavTulach 57255f0
More robust handling of comments
JaroslavTulach c6e8177
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 2bb0663
Five more working tests
JaroslavTulach 77b03e5
When RHS is null, construct some IR object
JaroslavTulach 6fd3104
Allow one to directly specify file to parse and compare
JaroslavTulach d991372
Handle ~_ annomally
JaroslavTulach dc8cf47
Defining function with spaces or without spaces makes a difference
JaroslavTulach 6290394
Merging 'origin/develop' back into wip/jtulach/UseRustParserFromJava_…
JaroslavTulach 4448c2e
Properly convert groups of patterns in case of
JaroslavTulach 452988c
Properly identify method. Even with spaces.
JaroslavTulach 0f63cb5
Can parse Data/Any.enso and next three files properly
JaroslavTulach 1bcf37a
Towards processing Network/Http.enso properly
JaroslavTulach 9629f44
Failing test for Text.*
JaroslavTulach 50c2120
Making Write_Flag parseable, just 71 to go
JaroslavTulach 9e34c09
Detect has defaults suspended
JaroslavTulach 8da3d55
Represent Vector.Vector properly
JaroslavTulach 0fe6c90
Merge IR.Application.Prefix with IR.Name.Literal
JaroslavTulach b1959ec
Handle documentation comment in a block
JaroslavTulach e46b50d
Merge branch 'develop' into wip/jtulach/UseRustParserFromJava_182743471
JaroslavTulach f15d83e
Merge branch 'wip/jtulach/UseRustParserFromJava_182743471' of enso:en…
JaroslavTulach 676bdb1
Few more passing tests
JaroslavTulach 03884ed
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 3c9d1c7
prevent merge conflict
kazcw 5d59cd2
fix bug translating multi-argument function types
kazcw 4c9d085
precedence of !=
kazcw fb2f2bf
improvements
kazcw f26d05b
dot operator precedence
kazcw f7def03
comma associativity
kazcw 61a38dd
handle assignment in type bodies
kazcw 17f8e5c
`default` is a legal argument name
kazcw a93edc1
constructors precede methods
kazcw 4890203
translateCall
kazcw aad1fa4
compatibility with old parser quirk
kazcw 36c2f8a
LoadParser
kazcw 82d3c24
translate documentation in body blocks
kazcw df56b4a
translateType
kazcw 9ab4cc7
fix translation of documented case branches
kazcw b32ddd8
support names in patterns
kazcw b758db2
fix unnecessarily-qualified names
kazcw 6c642c3
fix translation of nested patterns
kazcw 0bf77db
left-pipe is right-associative
kazcw 4fcbbb7
Fix whitespace. Old parser handles this case weirdly.
kazcw c3da2fa
ignore top-level docs the old parser ignored
kazcw b210754
fix bug translating named args
kazcw 486cd20
predence of !
kazcw 8ad76cc
translate unary minus
kazcw e37ccbf
fix another bug translating named args
kazcw 2df5841
fix translation of a function vs assignment case
kazcw 877876b
match old parser behavior
kazcw 129b9ac
fixup negate
kazcw 9054ec9
translate non-decimal literals
kazcw 5ba9d42
translate method-sections
kazcw 084d3fd
precedence of && and ||
kazcw 5d72908
translate operator sections
kazcw 4a5fbb5
compatibility
kazcw e56e6e5
check the tests
kazcw 33b1c9d
Try harder to remove all documentation comments from comparations
JaroslavTulach f194422
sync LoadParser
kazcw 10ec691
fix ~_ argument handling
kazcw 7a9182a
handle `Text.*` case
kazcw 1d700ce
cleanup
kazcw 1962a99
reject some bad import syntaxes
kazcw 1a733e3
translate onlyNames/hiddenNames in import
kazcw 50b5478
fix text-lexer bug
kazcw 8f28860
drop documentation at the end of a block, for compatibility
kazcw a9200f7
implement `foreign` keyword
kazcw 73faede
try to reproduce old parser's buggy doc-comment trim
kazcw fbd6543
fix syntax in tests
kazcw 514d998
Parse (+)
JaroslavTulach 5992b66
emulate AstToIr bug
kazcw bd2b6cc
translate groups in patterns
kazcw 466ab24
Test is the right directory
JaroslavTulach 590c016
update ParseStdLibTest
kazcw 7d1603f
handle text newlines according to the observed behavior of the old pa…
kazcw d91b32b
old-style non-decimal numbers as discovered to be in current use
kazcw a8fb209
text edge case
kazcw 93218a2
match another AstToIr quirk
kazcw 3d904a1
fix precedence bug
kazcw 674d6b3
translation: support currying of method sections
kazcw a6b5c10
translation: foreign functions can be TCO
kazcw 56aaa2f
Merge with Kaz's overnight changes
JaroslavTulach 37f2513
Reasonable Module.toString() helps debugging
JaroslavTulach 34f49f2
Print out the value of isAll when dumping the IR. Make sure it is tru…
JaroslavTulach bdd2671
Two currently failing tests related to text literals
JaroslavTulach e1ed61a
Define check function rather than using lambda
JaroslavTulach 7cd492e
Merging with develop branch to resolve conflict in ParseStdLibTest
JaroslavTulach 93ff443
Apply cargo fmt
JaroslavTulach 9c976d9
Merge remote-tracking branch 'origin/wip/kw/parser/parse-stdlib' into…
JaroslavTulach 99e8a35
TypeSignaturesTest.testResolveExecutionContext is failing
JaroslavTulach e95c543
Eliminating NPEs when traversing the IR produced from Tree
JaroslavTulach e0f3dba
Locate the enso_parser library in native-libraries directory
JaroslavTulach bed9e09
Search for the enso_parser library in component folder
JaroslavTulach 6d2f112
Iterate over root, not dir
JaroslavTulach 420112b
Spaces at the end of file are treated as another argument
JaroslavTulach 19d62ab
Support group lambda arguments
JaroslavTulach d76e74a
Always use the new parser
JaroslavTulach 3af5197
Application of autoscope parameters
JaroslavTulach 3f6545a
Implemented suspended argument in a grouping test
JaroslavTulach ef0d294
Merging with the magnificent work of Kaz in PR-3830
JaroslavTulach 3ce7899
Properly formatting Scala sources
JaroslavTulach aa0557f
sbt javafmtAll
JaroslavTulach f397662
Body of () cannot be empty that's a syntax error
JaroslavTulach b772608
@ isn't an operator
JaroslavTulach c1d52a0
Additional scala formatting
JaroslavTulach a10187d
Make StrictCompileDiagnosticsTest pass
JaroslavTulach c7d7c38
Optionally don't mangle IDs, locations and comments
JaroslavTulach 1eac92a
Adjusting locations the way CodeLocationsTest seems to expect them
JaroslavTulach 691cc77
Provide more information about 'close misses', allow certain differen…
JaroslavTulach cfade84
Make sure last line in tests has stripMargin
JaroslavTulach 03cdbd3
Negative literal group is now single LiteralNode
JaroslavTulach 4e5a283
Few more CodeLocationsTests that pass
JaroslavTulach 2777085
Another batch of end-of-file spaces stripping
JaroslavTulach afaf12c
Support sugared function definition
JaroslavTulach b2908b2
Tree.Function without getBody() problem
JaroslavTulach e6fbec5
Merging with develop branch that contains enso_parser library in engi…
JaroslavTulach ca71d9d
No need for these changes
JaroslavTulach b6f379f
Reformatting scala code
JaroslavTulach 87ed938
Better location for method reference
JaroslavTulach eaf824c
New parser often represents end of line as a start of the next line
JaroslavTulach d8cb4b4
Metadata parsing works
JaroslavTulach 3bb74e9
SuggestionsBuilderTest passes without errors
JaroslavTulach 29ac63e
Restrict the instrumentation only on the Test source
JaroslavTulach bdab992
Dump locations of instrumented nodes in Test source
JaroslavTulach 921b17b
Keep UUID when patching a location. Fixes ExpressionIdTest.
JaroslavTulach fd59b52
Easy way to switch between new and old parser by changing a single line
JaroslavTulach 2a0c07c
Dump values for all nodes, not just tagged ones
JaroslavTulach 582e113
Fixing another 'off by one' error
JaroslavTulach a4ea227
Preserving the ID when patching location fixes ExpressionIdTest
JaroslavTulach 8804db2
Re-merged with origin/develop
JaroslavTulach 4952e12
Make sure imported names have location
JaroslavTulach 3042275
Replace by just _
JaroslavTulach 3943e0d
Basic support for parsing in operator
JaroslavTulach ea010c1
Merging with origin/develop
JaroslavTulach 9b7852a
Less differences against develop branch
JaroslavTulach a631b0b
Attaching external IDs to more import/export elements
JaroslavTulach 694d301
test: annotate lambda body
4e6 2922b0f
Merge branch 'wip/jtulach/UseRustParserFromJava_182743471' of enso:en…
JaroslavTulach 1ff561b
Avoid patching locations for blocks. Adjust the locations in the tests
JaroslavTulach 7350b0d
test: fix suggestion updates
4e6 bc02106
Adjusting positions for the new parser
JaroslavTulach 1aa5b40
Disabling the test. It is tracked as EnsoCompiler.testInThePresenceOf…
JaroslavTulach 02b3506
Polishing before integration
JaroslavTulach cd0bba4
Disabling two Unicode whitespace tests for now
JaroslavTulach 4112368
Making up-to-date with develop branch
JaroslavTulach 91cafcc
Avoid NPE when running AtomBenchmarks
JaroslavTulach cc65c81
Adjusting the AtomBenchmarks to run
JaroslavTulach 6f8029f
Better (but not perfect) handling on raw blocks of text
JaroslavTulach bbb72d0
Use ENSO_PARSER=scala environment variable to request the old parser …
JaroslavTulach e84696f
Parse Json from Http_Spec.enso properly
JaroslavTulach 54857c1
Merge branch 'develop' into wip/jtulach/UseRustParserFromJava_182743471
JaroslavTulach 8f33e0a
Fallback to old parser when the .so file of the new one cannot be loaded
JaroslavTulach c6db855
Merge remote-tracking branch 'origin/develop' into wip/jtulach/UseRus…
JaroslavTulach 56f04d6
Syntax error for InvalidEscapeSequence
JaroslavTulach 010c6aa
Don't scare devs with too verbose messages
JaroslavTulach c0a12a9
To avoid long starvation limit the test to 5s
JaroslavTulach c44ff59
Accept changes from PR-3868
JaroslavTulach 7641db8
Eliminating differences between CRLF and LF positions by stripping of CR
JaroslavTulach 7d8137b
More CRLF -> LF conversions
JaroslavTulach 648dc63
Mitigating another set of CRLF vs. LF differences
JaroslavTulach File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a TODO to figure out why
self
parameter is needed?