Commit Graph

210 Commits

Author SHA1 Message Date
greg 1e7f5bbd25 WIP 2018-08-05 13:37:49 -07:00
greg bc6d4d19b5 reduced ast match 2018-07-26 00:52:46 -07:00
greg a2b1b0f953 Pattern-matching in reduced AST 2018-07-26 00:52:46 -07:00
greg 75bf4b5697 Fill out variants to be reduced 2018-07-26 00:52:46 -07:00
greg 98e812968b Fix parsing additional options 2018-07-26 00:52:46 -07:00
greg 250c486143 Fix derive code 2018-07-26 00:52:46 -07:00
greg 38eb065511 Broken proc macro custom derive code 2018-07-26 00:52:46 -07:00
greg 4ca57e4aea Change name of debug options struct 2018-07-26 00:52:46 -07:00
greg 82502ad0ad Move some parsing code around 2018-07-26 00:52:46 -07:00
greg 7d68b2a05a Get rid of code related to old match stuff 2018-07-26 00:52:46 -07:00
greg c2db212c78 Some more guard arm stuff + dealing with split binexp
... in if-blocks. Need to do some re-architecture I think
2018-07-26 00:52:46 -07:00
greg 837a180b09 Starting work on guard arms 2018-07-26 00:52:46 -07:00
greg 5ecd298e6a Record Pattern 2018-07-26 00:52:46 -07:00
greg 8aa33d0872 Starting on guards 2018-07-26 00:52:46 -07:00
greg 21a8868bcf Fixed test 2018-07-26 00:52:46 -07:00
greg 5a91957fa1 Some incomplete parse work 2018-07-26 00:52:46 -07:00
greg 176d43e56f Remove old comment 2018-07-26 00:52:46 -07:00
greg 90ecde89c9 Mutable types 2018-07-26 00:52:46 -07:00
greg 65c2cd521b Mutable types
This bit of syntax is meant for extendable enum types
2018-07-26 00:52:46 -07:00
greg f7dbbddad1 Let and let mut syntax 2018-07-26 00:52:46 -07:00
greg 43ff08b04c Add some debugging info around parse error 2018-07-26 00:52:46 -07:00
greg 00692aa89e Support for underscores 2018-07-26 00:52:46 -07:00
greg 5e48eb2dee Broken - some pass abstraction work 2018-07-26 00:52:46 -07:00
greg 3597ad4eef Compact parsing 2018-07-26 00:52:46 -07:00
greg 072eab1a80 Thread debug opts around where they need to be 2018-07-26 00:52:46 -07:00
greg 55a8cabd7c Some basic pattern stuff 2018-07-26 00:52:46 -07:00
greg 3c022fc4ef Clarified BNF 2018-07-26 00:52:46 -07:00
greg 0a02c21e70 Some more Patterns work
-at first brush, a pattern is like a single Variant with a list of free
vars
2018-07-26 00:52:46 -07:00
greg 927f427a86 Starting work on patterns 2018-07-26 00:52:46 -07:00
greg 005aba7a10 Test alt form 2018-07-26 00:52:46 -07:00
greg 7882e92ab5 Fix old style if 2018-07-26 00:52:46 -07:00
greg f582ab4eaa Test for new style parsing 2018-07-26 00:52:46 -07:00
greg f2dce38647 Broken, but compiling, move to new if paradigm 2018-07-26 00:52:46 -07:00
greg ba4cd9da39 Kill match keyword + data structures
And add new unified keywords
2018-07-26 00:52:46 -07:00
greg 654eeef428 Clarified grammar BNF some 2018-07-26 00:52:46 -07:00
greg a96fbc9592 Fix match expression parsing 2018-07-26 00:52:46 -07:00
greg 196954326e Print bare data constructor 2018-07-26 00:52:46 -07:00
greg 3f2fff276c Constructor eval 2018-07-26 00:52:46 -07:00
greg ebcea685f3 Fix looking up functions 2018-07-26 00:52:46 -07:00
greg 3b9084810e Add constructor reduced ast node; fix test 2018-07-26 00:52:46 -07:00
greg 7809cda240 Pass symbol_table to ast reduce
To distinguish between values and data constructors
2018-07-26 00:52:46 -07:00
greg f1679e83b7 Start trying to fix tests 2018-07-26 00:52:46 -07:00
greg f98d8e2bb0 Move AST into its own module 2018-07-26 00:52:46 -07:00
greg d0a0cc8209 Rename ast_reducing -> reduced_ast 2018-07-26 00:52:46 -07:00
greg 5aa0e10e7a Some ADT work 2018-07-26 00:52:46 -07:00
greg 27729cefdf Some improvements to the thing 2018-07-26 00:52:46 -07:00
greg df76e7c120 Pretty-print type table 2018-07-26 00:52:46 -07:00
greg 889610f0b0 Pretty-print Symbol Table 2018-07-26 00:52:46 -07:00
greg 3beabf4678 Start eval-ing data constructors 2018-07-26 00:52:46 -07:00
greg 25790f8643 Added super-janky prelude capability 2018-07-26 00:52:46 -07:00