Commit Graph

9 Commits

Author SHA1 Message Date
325498ac8b ast: Add metadata attributes on Items
TODO: decide what other places attributes belong
2024-02-27 23:31:49 -06:00
9806e95247 ast_impl: Forgot to impl From<Expr> for StmtKind (whoops!) 2024-02-27 22:49:14 -06:00
5484d96e7d ast: Add the "Self" type in preparation for cl-typeck 2024-02-27 22:48:24 -06:00
978f5e40c1 conlang: Introduce type-alias/typedef syntax
`type T;` | `type T = U;`
2024-02-27 20:49:02 -06:00
9bde97942c ast: Enum variants can have no data, or have an associated integer. 2024-02-26 15:59:15 -06:00
ffa313eea8 ast: Allow type specifier in let statement 2024-02-26 15:49:55 -06:00
59b73f314a ast: Remove unary hash operator to reserve the symbol for use in attribute parsing 2024-02-26 15:30:50 -06:00
b8d70d3393 Cleanup: Break Loc out into a common module, rename WhileParsing => Parsing 2024-01-23 01:51:00 -06:00
c4a32895df conlang 0.3.0: Total grammar overhaul
- Rewrote the grammar
- Rewrote the AST
- Rewrote the Parser
- Removed pretty printer (now handled by ast::ast_impl::Pretty, a Writer wrapper)
- Added items, and new keywords to go with them
  - Syntax is ~maybe temporary, based on Rust syntax
2024-01-21 05:32:18 -06:00