Commit Graph

1336 Commits

Author SHA1 Message Date
Julia Longtin
a1dbb9610f handle multiple negation. (!!) 2019-07-17 21:44:58 +01:00
Julia Longtin
a4005223c6 use surroundBy to clean up syntax, add a filter to drop doNothing operations, and slightly optimize if parsing. 2019-07-17 20:29:59 +01:00
Julia Longtin
3afc32ccef add a function to match a pattern surrounded by two end markers, and add comments. 2019-07-17 20:29:04 +01:00
Julia Longtin
18aeca5f57 remove unneeded lexer configuration. 2019-07-17 18:33:50 +01:00
Julia Longtin
ee2bacc56a use lexer better. 2019-07-17 11:04:24 +01:00
Julia Longtin
7684a4588a consume following whitespace. 2019-07-17 10:51:30 +01:00
Julia Longtin
bbbe161452 add more matchers. 2019-07-17 10:49:38 +01:00
Julia Longtin
d427e48c42 match let with the parsec lexer. 2019-07-16 21:25:46 +01:00
Julia Longtin
f4c3993217 use parsec to lex more heavily. 2019-07-16 20:59:25 +01:00
Julia Longtin
4ced76226a comments. 2019-07-16 19:42:07 +01:00
Julia Longtin
de7cc91c52 support uppercase E notation, and merge list and vector parsers. 2019-07-16 13:32:55 +01:00
Julia Longtin
0d9f72b51c attempt to test undef. fails. 2019-07-16 09:13:06 +01:00
Julia Longtin
63b70e0ade remove unused functions, use whiteSpace from the lexer, and add a tailing whitespace to patternMatcher. 2019-07-16 09:12:25 +01:00
Julia Longtin
eeaa5f5d5e factor out stringGS. 2019-07-16 09:10:18 +01:00
Julia Longtin
03c50d0955 factor out padString, padChar, and stringGS, use the parser more, and support undefined values. 2019-07-16 08:44:15 +01:00
Julia Longtin
94f72ad668 move away from padChar and padString, explicitly consuming trailing whitespace. 2019-07-16 06:58:18 +01:00
Julia Longtin
0e518a69ec add more examples. 2019-07-15 22:59:55 +01:00
Julia Longtin
fd1ccd17d1 do not try to match spaces before a pattern. 2019-07-15 22:55:48 +01:00
Julia Longtin
c2c5a7428c rewrite patterns with whiteSpace such that they do not try to match whitespace before the patern. 2019-07-15 22:52:23 +01:00
Julia Longtin
cea00ae9e1 add comments to the statement parser tester. 2019-07-15 21:30:36 +01:00
Julia Longtin
1d8559560e switch from genScace to whiteSpace, and some minor speedups. 2019-07-15 21:29:21 +01:00
Julia Longtin
b9ab29a5e7 whoops. actually upload the lexer. 2019-07-15 19:18:40 +01:00
Julia Longtin
4ec2277903 Add a lexer, and use it to parse whitespace before the first statement. 2019-07-15 19:13:11 +01:00
Julia Longtin
79c20d1193 fix a trivial bug. allow for empty programs. 2019-07-14 21:48:57 +01:00
Julia Longtin
21baad7c47 merge E notation, float, and integer into one higher performing parser. 2019-07-14 19:00:55 +01:00
Julia Longtin
5b54ddd788 use padChar to shorten code a bit. 2019-07-14 12:20:27 +01:00
Julia Longtin
03c71e8e35 separate floating E notation from integer E notation in tests, increasing parser coverage. 2019-07-14 11:05:09 +01:00
Julia Longtin
f1df7db64d use option to merge branches of the parser. 2019-07-14 11:04:23 +01:00
Julia Longtin
8f000779a4 do not bother finding the file or reading it if we are not going to interpret it. 2019-07-13 23:29:39 +01:00
Julia Longtin
10fc12cb3d Disable file include/use. 2019-07-13 23:05:22 +01:00
Julia Longtin
445f7d9fb4 add a command line option enabling/disabling file import. 2019-07-13 23:03:08 +01:00
Julia Longtin
15e715ee81 Add an option to disable file include/use, and instead generate a warning. 2019-07-13 23:01:09 +01:00
Julia Longtin
97764a6054 split boolean off into a seperate parser. 2019-07-13 15:36:10 +01:00
Julia Longtin
fe73ca36a2 add tests for E notation. 2019-07-13 14:54:33 +01:00
Julia Longtin
df68cb8295 fix 10e+1 parsing, and optimize parsing e+ by use of optional. 2019-07-13 14:53:34 +01:00
Julia Longtin
5ad66c095c use parsec V3 style of imports instead of parsec v2. 2019-07-13 14:52:52 +01:00
Julia Longtin
282abc4647 add FIXME. 2019-07-12 12:06:32 +01:00
Julia Longtin
69124330a6 use Symbol and VarLookup better, and clean up comments. 2019-07-11 22:39:39 +01:00
Julia Longtin
22be802ed4 be a little more specific. 2019-07-11 22:29:27 +01:00
Julia Longtin
28519cf014 fix english. 2019-07-11 22:29:00 +01:00
Julia Longtin
f60e18aa61 Use explicit forall more effectively, only when we need it. 2019-07-11 22:26:09 +01:00
Julia Longtin
27ed46b273
Merge pull request #229 from colah/implicitsnap
Implicitsnap
2019-07-08 00:43:38 +00:00
Julia Longtin
93c962c620 use intercalate and scadMessages more consistently. 2019-07-08 01:40:16 +01:00
Julia Longtin
c4dd9fa9e7 add clarifying parenthesis. 2019-07-08 01:35:10 +01:00
Julia Longtin
e8d64954bc display errors before program output, and spacing changes. 2019-07-08 00:22:12 +01:00
Julia Longtin
728482c222 make jsTHREE the default. 2019-07-07 23:38:11 +01:00
Julia Longtin
8e18a355cb rewrite the logic in implicitsnap to be more like extopenscad. 2019-07-07 23:27:46 +01:00
Julia Longtin
019a7dc4b4 clarify some comments, and add paranthesis around min, for clarity. 2019-07-07 23:23:36 +01:00
Julia Longtin
8a62c61960 Merge branch 'master' of github.com:/colah/ImplicitCAD 2019-07-07 12:17:20 +01:00
Julia Longtin
914b44139b handle multiple objects in a scad file as a warning, change the standard processing notices, and output warnings and errors onto stderr. 2019-07-07 12:16:41 +01:00