| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Use slang- prefix on slang compiler and core source (#973) | jsmall-nvidia | 2019-05-31 |
| | | | | | | | | | | | | | * Prefixing source files in source/slang with slang- * Prefix source in source/slang with slang- prefix. * Rename core source files with slang- prefix. * Update project files. * Fix problems from automatic merge. | ||
| * | Add an explicit `Name` type | Tim Foley | 2017-08-14 |
| | | | | | | | | | | | | | | Fixes #23 Up to this point, the compiler has used the ordinary `String` type to represent declaration names, which means a bunch of lookup structures throughout the compiler were string-to-whatever maps, which can reduce efficiency. It also means that things like the `Token` type end up carying a `String` by value and paying for things like reference-counting. This change adds a `Name` type that is used to represent names of variables, types, macros, etc. Names are cached and unique'd globally for a session, and the string-to-name mapping gets done during lexing. From that point on, most mapping is from pointers, which should make all the various table lookups faster. More importantly (possibly), this brings us one step closer to being able to pool-allocate the AST nodes. | ||
| * | Try to improve handling of failures during compilation | Tim Foley | 2017-07-19 |
| | | | | | | | | The change is mostly about trying to make sure the compiler "fails safe" when it encounters an internal assumption that isn't met. Most internal errors will now throw exceptions (yes, exceptions are evil, but this will work for now), and these get caught in `spCompile` so that they don't propagate to the user (they just see a message that compilation aborted due to an internal error). Subsequent changes are going to need to work on diagnosing as many of these situations as possible, so that users can at least know what construct in their code was unexpected or unhandled by the compiler. | ||
| * | Rename `Slang::Compiler` -> `Slang` | Tim Foley | 2017-06-15 |
| | | | | | This gets rid of one unecessary namespace. | ||
| * | Initial import of code. | Tim Foley | 2017-06-09 |
