23 Commits

Author SHA1 Message Date
Connor Skees
00a7659e69 refactor calculation of default variables 2020-08-18 00:17:12 -04:00
Connor Skees
fb785cf71c revert "make predicate optional for callers"
This reverts commit fda7f340cea60a90031aa8edffd8ab3a06d05992.

This commit made tests fail that it shouldn't have. The performance wins
from this change were negligible, so it is easiest to just revert it and
potentially come back to this change later
2020-08-08 14:36:59 -04:00
Connor Skees
fda7f340ce make predicate optional for callers 2020-08-08 02:27:54 -04:00
Connor Skees
36bdea138d refactor how the from value in @for is parsed 2020-08-07 17:33:30 -04:00
Connor Skees
fac8b86a6a resolve integer underflow in @for when both to and from and i32::MIN 2020-08-07 16:51:17 -04:00
Connor Skees
f33739aa0f add more tests for malformed @for
test for capitalization of keywords, error messages, and regression
tests for integer overflows resulting when `from` or `to` ==
`std::i32::MAX`
2020-08-07 16:21:15 -04:00
Connor Skees
d5b2410a8c allow multiline comments in more contexts 2020-08-07 11:39:14 -04:00
Connor Skees
0254517095 refactor errors using Parser::expect_char 2020-08-06 21:36:11 -04:00
Connor Skees
074d679cbd support the @use ... with (...) syntax 2020-08-06 21:05:40 -04:00
Connor Skees
734e0875da resolve merge conflicts with master 2020-07-29 07:30:20 -04:00
Connor Skees
6631b8ae0e correctly parse the function filter syntax 2020-07-28 18:09:23 -04:00
Connor Skees
ace9757897 use a predicate to simplify and improve parsing of maps 2020-07-28 01:59:43 -04:00
Connor Skees
d6a1d64dcb implement @use ... as *; syntax 2020-07-27 18:55:38 -04:00
Connor Skees
53cf2816e0 use None to represent NaN 2020-07-26 19:38:41 -04:00
Connor Skees
3a7a3f508a initial parsing work for modules 2020-07-25 19:22:12 -04:00
Joe Ling - uni laptop
50d1987af2 Added grass::Options and implemented options.load_paths 2020-07-15 12:37:19 +01:00
Joe Ling - uni laptop
fe26350932 Added load_paths for @import 2020-07-13 14:52:52 +01:00
Connor Skees
830d56bd77 only evaluate division in certain cases 2020-07-09 23:52:35 -04:00
Connor Skees
cee16fece7 loop indexing vars do not affect outer scopes 2020-07-08 23:17:20 -04:00
Connor Skees
f9455caeea derive Copy for Identifier 2020-07-08 22:38:56 -04:00
Connor Skees
02efd09d80 avoid cloning the entire scope 2020-07-08 17:52:37 -04:00
Connor Skees
47902c077c refactor how scopes are calculated 2020-07-08 14:51:04 -04:00
Connor Skees
4b0b644264 refactor control flow parsing into separate module 2020-07-08 10:15:54 -04:00