Commit graph

186 commits

Author SHA1 Message Date
Anton-4
eee85fa45d
moved all crates into seperate folder + related path fixes 2022-07-01 17:37:43 +02:00
ayazhafiz
d92a5b9424 Reporting for abilities parsing 2022-03-12 22:08:01 -06:00
ayazhafiz
d7abc3897b Parse abilities 2022-03-12 21:29:06 -06:00
Richard Feldman
887a07b455
Merge pull request #2596 from rtfeldman/joshuawarner32/listclosing-braces
Allow closing braces in collections to be at any indent level
2022-02-28 20:00:44 -05:00
Joshua Warner
ab563fc9a5 Remove dead code 2022-02-26 13:34:53 -08:00
Joshua Warner
0e3b9e5624 Allow incorrect indents for closing braces, to be fixed in the formatter 2022-02-26 13:31:45 -08:00
Joshua Warner
2682193b76 Fix compile error with --features=parse_debug_trace 2022-02-26 13:31:08 -08:00
Brendan Hansknecht
f7c0e2ef19 Merge remote-tracking branch 'origin/trunk' into single-quote-literal 2022-02-24 10:13:39 -08:00
Joshua Warner
f440d53e7b Refactor: introduce trait SpaceProblem to remove a bunch of redundant args in ::Space errors 2022-02-15 20:48:04 -08:00
Folkert
885500712c remove old Effect module things 2022-02-03 23:55:02 +01:00
Richard Feldman
c68dfdf61e
Drop some unused variants 2022-01-30 20:40:49 -05:00
Richard Feldman
484ce2fbc9
Parse hosted modules 2022-01-30 20:40:49 -05:00
Joshua Warner
f22f96843e Refactor ParseProblem
* Remove the `pos` field, which was always being assigned Position::default()
* Remove one use of this `pos`, by removing the never-used SyntaxError::ConditionFailed variant
* Adjust the other use to do what was probably intended - which is to say, pointing to the beginning of the def with the error
* Rename to FileError, reuse `SourceError` as an inner field, to avoid duplicating the `bytes`
2022-01-03 20:10:50 -08:00
Joshua Warner
650c29de3c Change LineColumn::column to u32 to avoid overflow, and remove LineTooLong error 2022-01-02 21:50:42 -08:00
Joshua Warner
8092f31a29 fmt 2022-01-01 18:20:05 -08:00
Joshua Warner
5c1084c453 Introduce SourceError to represent an error + original source 2022-01-01 18:20:05 -08:00
Joshua Warner
70156b0a90 Simplify advancing 2022-01-01 18:20:05 -08:00
Joshua Warner
721233f9c8 More incremental changes 2022-01-01 18:20:05 -08:00
Joshua Warner
1b257da356 Make State::xyzlcol a LineColumn, and change everything wanting a Position to use State::pos() instead 2022-01-01 18:20:05 -08:00
Joshua Warner
d2dcb462c7 Rename State::pos -> xyzlcol, temporarily 2022-01-01 18:20:05 -08:00
ayazhafiz
2cd5bf8c03 Parse "as" aliases into tag/args rather than arbitrary annotations 2021-12-26 08:44:09 -06:00
Joshua Warner
8b58d5cbc7 Switch to always encoding package names / paths as strings
This will simplify parsing and make it possible to have a uniform lexer for the language. Previously unquoted package names were allowed to include '-'s, which aren't valid identifiers.

In the future, we'll distinguish local paths from packages in the package-manager by looking for a ".roc" suffix, which should only be present in local paths.
2021-12-23 20:11:14 -08:00
Joshua Warner
22e2545fd6 format 2021-12-22 20:46:42 -08:00
Joshua Warner
f170509bf1 rename col -> column 2021-12-22 20:37:40 -08:00
Joshua Warner
4d7070ce3b Always combine line,column into Position 2021-12-22 20:32:46 -08:00
Joshua Warner
f19220473a Rename Located -> Loc 2021-12-22 19:18:22 -08:00
Richard Feldman
5aa67d4244
Merge pull request #2231 from rtfeldman/joshuawarner32/record_func_type_decl
Allow function types in records
2021-12-20 11:45:27 -05:00
Joshua Warner
96e8916594 Refactor BadOperator to take a &str rather than &[u8] 2021-12-18 14:42:48 -08:00
Joshua Warner
5a236899fa Add some optional debug tracing to the parser 2021-12-17 15:09:15 -08:00
Joshua Warner
2e85c19101 Require explicit cloning of State 2021-12-16 17:13:58 -08:00
Joshua Warner
49818343dd extract state 2021-12-16 17:13:53 -08:00
Chelsea Troy
6cf755ad8d Resolve a bunnnch of merge conflicts 2021-11-29 23:14:29 -06:00
Joshua Warner
7f5b873357 Parse _ in type annotations as an 'Inferred' type 2021-11-17 17:59:40 -08:00
Joshua Warner
fb960d98b8 Remove unused macros 2021-11-14 10:14:53 -08:00
Joshua Warner
6c82b1789a Convert effects to collection_trailing_sep_e 2021-11-14 10:14:53 -08:00
Joshua Warner
c4e70ca7aa Convert exposes_values to ccollection_trailing_sep_e 2021-11-14 10:14:53 -08:00
Joshua Warner
71cc8d4c4b Convert requires_rigids to collection_trailing_sep_e 2021-11-14 10:14:53 -08:00
Joshua Warner
d67b6c50b1 Allow trailing comments in provides decl 2021-11-14 10:14:53 -08:00
Joshua Warner
c10f403c94 Allow trailing comments in exposes decl 2021-11-14 10:14:52 -08:00
Joshua Warner
9bf1674946 Shrink Collection to make parse_expr_size test pass 2021-11-13 16:17:44 -08:00
Joshua Warner
9a74ca441d Name all "error" enums in the parser starting with E 2021-11-12 08:38:29 -08:00
Joshua Warner
04d4a8ca79 Introduce Collection as a general abstraction in the ast 2021-11-11 14:49:33 -08:00
Joshua Warner
6a694b7772 Use collection_trailing_sep_e for packages decl, to allow trailing commas there 2021-11-10 18:49:19 -08:00
Joshua Warner
6d4f3f4da7 Allow parsing a single newline/comment in empty list 2021-11-09 07:33:36 -08:00
Richard Feldman
71eb6132f4 Fix error type of EExpr::SingleQuote 2021-08-20 08:08:17 -04:00
Eric Correia
dc2016dc0d Start single-quote literal parser work 2021-08-15 11:08:05 -04:00
Richard Feldman
267836226c s/CodePoint/CodePt/g 2021-08-07 21:46:20 -04:00
Folkert
fecb83b9c2 fixes 2021-05-07 11:00:15 +02:00
Folkert
700e7d9686 parse expect 2021-04-22 23:00:44 +02:00
Folkert
64bc92c746 basic parsing 2021-04-14 13:03:31 +02:00