Commit Graph

10 Commits

Author SHA1 Message Date
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
15d7565703 token: Add new keywords in preparation for grammar update 2024-01-06 14:32:56 -06:00
79fda16788 cl 0.0.2: MAJOR ERGONOMIC BOOST
Broke frontend into its own library, "cl-frontend"
- Frontend is pretty :D
- Included sample fibonacci implementation

Deprecated conlang::ast::Visitor in favor of bespoke traits
- Rust traits are super cool.
- The Interpreter is currently undergoing a major rewrite

Added preliminary type-path support to the parser
- Currently incomplete: type paths must end in Never..?

Pretty printer is now even prettier
- conlang::ast now exports all relevant AST nodes, since there are no namespace collisions any more
2024-01-04 02:18:09 -06:00
9b7cf9c017 lexer: Add :: and #! tokens 2023-10-30 19:17:03 -05:00
ac540ebd22 parser: parse let statements
- TODO: Type expressions
token: Add `mut` keyword
2023-10-27 00:18:02 -05:00
c43ecf00d1 token::token_data::Data: Renamed from token::TokenData
& Moved into its own module
+ Added token::preamble; common imports when working with Token
2023-10-23 19:43:16 -05:00
1e5f7149d9 Token: Add range operators, rename for consistency 2023-10-20 17:09:14 -05:00
5d9c45c26a token: Move module into file 2023-10-17 13:23:34 -05:00
50bb03ae18 token/lexer: Keywords are identifiers. Add missing operators. Fix <<=/>>=. 2023-10-16 22:25:48 -05:00
545483dae6 token: Add Display impl for Type
This improves readability in identify_tokens
2023-09-28 01:34:56 -05:00