Commit Graph

496 Commits

Author SHA1 Message Date
greg
a8b77848b4 kill old EBNF in comments 2017-09-19 22:11:04 -07:00
greg
839731f2d1 Make op! macro part of binexp!/prefexp! macros
For tests
2017-09-19 22:11:04 -07:00
greg
f51e1a3c47 make Operation a tuple-style struct 2017-09-19 22:11:04 -07:00
greg
fc350cd03e Prefix operators 2017-09-19 22:11:04 -07:00
greg
8fe7c85b00 return keyword + idea for how to use it in for 2017-09-19 22:11:04 -07:00
greg
b920fae93b variable bindings 2017-09-19 22:11:04 -07:00
greg
1981b74d89 Nicen up precedence-testing 2017-09-19 22:11:04 -07:00
greg
077ab8ddb8 Add trace to binexp parser 2017-09-19 22:11:04 -07:00
greg
9775bfc342 bool literals 2017-09-19 22:11:04 -07:00
greg
505d23a327 Parse . operator 2017-09-19 22:11:04 -07:00
greg
81c4566c2b Improved operator parsing 2017-09-19 22:11:04 -07:00
greg
8be757beca Some changes to EBNF grammar 2017-09-19 22:11:04 -07:00
greg
20c74953b5 Get rid of unimplemented! and panic! 2017-09-19 22:11:04 -07:00
greg
d5c3227966 Parse string literals 2017-09-19 22:11:04 -07:00
greg
fbeb101e7f make parse trace have newlines 2017-09-19 22:11:04 -07:00
greg
18c761a5b5 Wrap all parse methods in record-printing macro 2017-09-19 22:11:04 -07:00
greg
89cf101362 Refactoring prace trace infra 2017-09-19 22:11:04 -07:00
greg
66d10604ba make parse_method! macro more naturalistic 2017-09-19 22:11:04 -07:00
greg
565461e1db Show more useful information in parse tracing 2017-09-19 22:11:04 -07:00
greg
5ecd28d057 Print parse record in REPL as TraceArtifact 2017-09-19 22:11:04 -07:00
greg
6c5dbac406 Starting to add logic to track recursive descent calls 2017-09-19 22:11:04 -07:00
greg
5dd1cd79ff Parsing call expressions 2017-09-19 22:11:03 -07:00
greg
dfc89e5060 Index expressions
This only partially works
2017-09-19 22:11:03 -07:00
greg
5871bf68de test for function parsing 2017-09-19 22:11:03 -07:00
greg
34b569eb5f Starting to parse formal params 2017-09-19 22:11:03 -07:00
greg
5810fb7961 type alias test 2017-09-19 22:11:03 -07:00
greg
1a3076a949 Change syntax of rc macro 2017-09-19 22:11:03 -07:00
greg
1d9e5edfba Rudimentary type stuff 2017-09-19 22:11:03 -07:00
greg
555d2a7ba5 Identifier tests 2017-09-19 22:11:03 -07:00
greg
291fb61c8d Parse identifiers
Some more complicted types of expression
2017-09-19 22:11:03 -07:00
greg
685b579fdd paren exprs 2017-09-19 22:11:03 -07:00
greg
f72e77cbb6 Remove printlns 2017-09-19 22:11:03 -07:00
greg
4b5afef17e Added one more test 2017-09-19 22:11:03 -07:00
greg
5889998126 Precedence parsing
Using the Pratt parser algorithm (probably with some bugs as of yet).
Need to clean up the code some as well
2017-09-19 22:11:03 -07:00
greg
c19946bb6d Additional test 2017-09-19 22:11:03 -07:00
greg
d1301b30e6 Added infra for operators 2017-09-19 22:11:03 -07:00
greg
f8287e42ce Binary literal test case 2017-09-19 22:11:03 -07:00
greg
bd6bf2f4bb Parse binary literal 2017-09-19 22:11:03 -07:00
greg
a6b336d84c type anno EBNF 2017-09-19 22:11:03 -07:00
greg
deab74b992 Kill extraneous lines 2017-09-19 22:11:03 -07:00
greg
0755d42112 More parsing work 2017-09-19 22:11:03 -07:00
greg
117e0e38a8 Starting types 2017-09-19 22:11:03 -07:00
greg
3f1de5f60d Kill unused struct 2017-09-19 22:11:03 -07:00
greg
c52fd4c73d Parse test 2017-09-19 22:11:03 -07:00
greg
cac3ea86cf Import TokenType and Kw everywhere 2017-09-19 22:11:03 -07:00
greg
92ece39d5e Only IntLiteral
Signed/unsigned is via - operator
2017-09-19 22:11:03 -07:00
greg
14c09bb40c Float literals too 2017-09-19 22:11:03 -07:00
greg
0dabbc700b Concise-ify code 2017-09-19 22:11:03 -07:00
greg
741e5f7f9b Parsing basic numbers! 2017-09-19 22:11:03 -07:00
greg
cfefceabf9 More infra
Don't want EOF after all
2017-09-19 22:11:02 -07:00
greg
ea08f8cab8 More parse infra 2017-09-19 22:11:02 -07:00
greg
7d1c07c481 Parsing infrastructure 2017-09-19 22:11:02 -07:00
greg
7831cb8d8a Start parsing 2017-09-19 22:11:02 -07:00
greg
16d9e3eb60 Colored text for artifacts 2017-09-19 22:11:02 -07:00
greg
737dad6438 Added some tests
And commented out old tests for Maaru that don't compile
2017-09-19 22:11:02 -07:00
greg
74f8c16599 Fix bug with _ 2017-09-19 22:11:02 -07:00
greg
a82f24a158 Kill import 2017-09-19 22:11:02 -07:00
greg
6459ad28e8 A few more keywords 2017-09-19 22:11:02 -07:00
greg
57d4222746 Operators, keywords largely working 2017-09-19 22:11:02 -07:00
greg
88d1896281 Identifiers and keywords 2017-09-19 22:11:02 -07:00
greg
7fe0a6589e Unclosed string 2017-09-19 22:11:02 -07:00
greg
ac5bdd7bcb Change some func signatures around tokenizing and errors 2017-09-19 22:11:02 -07:00
greg
8bf5f40a2a Some string tokenizing - not done 2017-09-19 22:11:02 -07:00
greg
7e505dd88e Stuff 2017-09-19 22:11:02 -07:00
greg
f15427e5d9 A bunch of token stuff 2017-09-19 22:11:02 -07:00
greg
a53135a897 More elaborate tokens 2017-09-19 22:11:02 -07:00
greg
f3c8474c93 Add help entry
Would like to make this generalizeable
2017-09-19 22:11:02 -07:00
greg
8dc8d15437 Cleaned up Repl struct 2017-09-19 22:11:02 -07:00
greg
b5a6c5903e Switch to contentful output types 2017-09-19 22:11:02 -07:00
greg
c97e58c2aa Cleared out all remaining linter warnings 2017-09-19 22:11:02 -07:00
greg
cb9b56f000 Added back compilation 2017-09-19 22:11:02 -07:00
greg
55e1600b97 Kill old trait 2017-09-19 22:11:02 -07:00
greg
fb009497a4 Still more cleanup 2017-09-19 22:11:02 -07:00
greg
4b13fef734 More cleanup 2017-09-19 22:11:02 -07:00
greg
14ccf9f1be Converted Robo to new style trait 2017-09-19 22:11:02 -07:00
greg
7a6dfbbd0e Deleting old code 2017-09-19 22:11:02 -07:00
greg
bb3f85dd16 Getting rid of old code for maaru 2017-09-19 22:11:02 -07:00
greg
3e66568ddd Converted over Maaru to new schema
-partially...
2017-09-19 22:11:02 -07:00
greg
3abe299361 More work on new trait structure 2017-09-19 22:11:02 -07:00
greg
626b17cbd2 Idea for trait redesign 2017-09-19 22:11:02 -07:00
greg
192a7e611f Parsing BNF 2017-09-19 22:11:01 -07:00
greg
d3febb201b More parsing 2017-09-19 22:11:01 -07:00
greg
f9fe81993f Beginning parsing code 2017-09-19 22:11:01 -07:00
greg
ff01d4b798 Initial Schala (for real) commit 2017-09-19 22:11:01 -07:00
greg
dd22ca0291 Grand renaming of things 2017-09-19 22:11:01 -07:00
greg
801896bcc6 Starting to add code for vm 2017-09-19 22:11:01 -07:00
greg
5d15d60ab6 Structs implemented
albeit very inefficiently
2017-09-19 22:11:01 -07:00
greg
9dd8f90e3c Only print last evaluated result 2017-09-19 22:11:01 -07:00
greg
e0f5f01e69 Kill error messges for not using Result 2017-09-19 22:11:01 -07:00
greg
424998c128 Lists work! 2017-09-19 22:11:01 -07:00
greg
b93625819c Update ReducedValue to handle lists 2017-09-19 22:11:01 -07:00
greg
f90bfb88ca Fix display of list 2017-09-19 22:11:01 -07:00
greg
850b77541b Display of lists sorta works 2017-09-19 22:11:01 -07:00
greg
dbf5886aad List evaluation technically working 2017-09-19 22:11:01 -07:00
greg
dd93adf5b7 try!() -> ? 2017-09-19 22:11:01 -07:00
greg
d8df98ba01 Beginnings of list literals 2017-09-19 22:11:01 -07:00
greg
4da771036a Part of evaluation path for indexing done 2017-09-19 22:11:01 -07:00
greg
3911c45dde Introduced index notation 2017-09-19 22:11:01 -07:00
greg
f3c3d4595e Immediate lambda call 2017-09-19 22:11:01 -07:00
greg
e4a42e7691 Add back eval printing 2017-09-19 22:11:01 -07:00