Commit Graph

51 Commits

Author SHA1 Message Date
greg aa40b985f3 Experiment to automatically generate parser
Gonna give this a shot, automatically generate a recursive-descent
parser from BNF
2018-03-10 14:04:10 -08:00
greg 2e80045750 Rename ReplOutput -> LanguageOutput 2018-03-07 22:07:13 -08:00
greg a0bea0d55a Kill comments 2018-03-02 23:33:01 -08:00
greg 1056be12e7 Include line count in token debug 2018-03-02 15:21:48 -08:00
greg c50626241e Continuing work 2018-02-27 03:01:05 -08:00
greg 232bec97a7 Re-added symbol table infra 2018-02-26 21:43:53 -08:00
greg c285ee182e Temporarily disable type-erroring
and tighten some code
2018-02-26 19:16:49 -08:00
greg 5da7c809b2 Give State a pointer to its parent
For function call lookups
2018-02-24 13:56:04 -08:00
greg 0dd8861f83 Starting to munge BinOp types
Incomplete, doesn't yet compile
2018-02-23 04:10:00 -08:00
greg 4ab900d601 ReplState -> State
Not everythign is a repl
2018-02-23 03:07:58 -08:00
greg 501b975fb6 Move bx! macro up to mod.rs
And make use of it in parser
2018-02-23 03:04:19 -08:00
greg 0c69476fd0 Separate tokenizing module
Parsing was getting too long
2018-02-23 01:58:06 -08:00
greg c674148772 Starting over with types 2018-02-21 02:35:09 -08:00
greg bec8aedc22 Simplify some code 2018-01-08 05:21:04 -08:00
greg 93d0cfe5b8 Make schala-lib::language private and reexport 2017-11-02 02:45:26 -07:00
greg 69d5f38ea1 Refactor into libs part II
woo it compiles
2017-10-30 22:18:02 -07:00
greg e054c4b27f Revert "Starting to split project into multiple crates"
This reverts commit e3b0f4a51e.
Bah, this was a bad idea, wrong way to do it
2017-10-23 00:45:01 -07:00
greg e3b0f4a51e Starting to split project into multiple crates 2017-10-23 00:43:43 -07:00
greg 8fe535597e Starting to actually do Hindley-Milner!! 2017-10-08 22:48:10 -07:00
greg c4f0331d1a Symbol table addition should be separate stage 2017-10-08 16:24:44 -07:00
greg 74d3828c71 Symbol table debug needs to happen before type check 2017-10-08 13:59:55 -07:00
greg bb57da564d Infrastructure to debug symbol table 2017-10-08 13:57:43 -07:00
greg e412fb9a89 Convert type-checking function type 2017-10-07 22:08:48 -07:00
greg 50ceb92d6b Move type-checking into a module 2017-10-04 02:07:30 -07:00
greg 65f64ebcc2 Add source file suffix to trait 2017-10-02 23:07:05 -07:00
greg 6435d5e958 Make eval output nicer 2017-10-01 19:29:05 -07:00
greg f825c87397 Type checking beginnings 2017-10-01 00:48:08 -07:00
greg 8d2a65b44e Starting eval framework 2017-09-30 23:30:02 -07:00
greg 68bbd62ab6 Make token debug nicer 2017-09-19 22:11:04 -07:00
greg 89cf101362 Refactoring prace trace infra 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 7831cb8d8a Start parsing 2017-09-19 22:11:02 -07:00
greg 88d1896281 Identifiers and keywords 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 f15427e5d9 A bunch of token stuff 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 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 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 8fd5fb5a0b Added language name functionality 2017-09-19 22:11:00 -07:00
greg 6dec35d460 Think I've nearly gotten it traitified correctly... 2017-09-19 22:11:00 -07:00
greg 421a9a7e9b Abstract evaluation into EvaluationMachine trait 2017-09-19 22:11:00 -07:00
greg 178434171e Cleaning up some types 2017-09-19 22:11:00 -07:00
greg fd4610e175 Make newtype for LLVM code strings 2017-09-19 22:11:00 -07:00