]>
www.git.momoyon.org Git - lang.git/log
momoyon [Sun, 18 May 2025 12:26:27 +0000 (17:26 +0500)]
[main.c] WIP: last TODO
momoyon [Sat, 17 May 2025 07:21:37 +0000 (12:21 +0500)]
[main.c] Add TODO.
momoyon [Sat, 17 May 2025 07:14:54 +0000 (12:14 +0500)]
[main.c] Can parse_cast()...
- [main.c] Handle `();` and `type;`
- [tests] Add new test parse_cast.momo
momoyon [Sat, 17 May 2025 06:44:30 +0000 (11:44 +0500)]
[main.c] Introduce TK_TYPE and lex them...
- [tests] New test types.momo and update keywords.momo.
momoyon [Sat, 17 May 2025 06:13:40 +0000 (11:13 +0500)]
[main.c] Can parse_unary_not()...
- [tests] Add new test parse_unary_not.momo
momoyon [Sat, 17 May 2025 06:05:01 +0000 (11:05 +0500)]
[main.c] TODO: Actually... maybe reverse*
momoyon [Thu, 15 May 2025 06:28:46 +0000 (11:28 +0500)]
[main.c] Add TODO.
momoyon [Thu, 15 May 2025 06:26:53 +0000 (11:26 +0500)]
[main.c] Fix parse_unary_term to not pares +"string" or -true...
- [tests] Update parse_unary.momo
momoyon [Thu, 15 May 2025 06:14:46 +0000 (11:14 +0500)]
[main.c] parse_unary() -> parse_term()
- [tests] Update parse_unary.momo -> parse_unary_term.momo
momoyon [Thu, 15 May 2025 06:08:05 +0000 (11:08 +0500)]
[main.c] Use Prefix_AST instead of Unary_expr...
- [tests] Update both parse_suffix and parse_prefix output.
momoyon [Thu, 15 May 2025 06:00:08 +0000 (11:00 +0500)]
[main.c] Introduce Suffix_AST instead of using Unary_expr for suffixes.
momoyon [Thu, 15 May 2025 05:46:10 +0000 (10:46 +0500)]
[main.c] Can parse_prefix().
NOTE: Skipped Compound Literals.
- [tests] Add new test parse_prefix.momo
momoyon [Thu, 15 May 2025 05:31:07 +0000 (10:31 +0500)]
[main.c] Can parse_access()...
- [tests] Add new test parse_access.momo
- [main.c] Remove unneccesary TODO
momoyon [Thu, 15 May 2025 04:40:40 +0000 (09:40 +0500)]
Ignore vs folder and unwanted files
momoyon [Thu, 15 May 2025 04:39:33 +0000 (09:39 +0500)]
[commonlib.h] Update
momoyon [Tue, 13 May 2025 08:20:57 +0000 (13:20 +0500)]
[main.c] WIP: parse_access().
momoyon [Tue, 13 May 2025 07:53:34 +0000 (12:53 +0500)]
[main.c] Can parse_subscript!
- [tests] Add new test parse_subscript.momo;
momoyon [Tue, 13 May 2025 07:47:37 +0000 (12:47 +0500)]
[tests] Rename tests to have consistent naming
momoyon [Mon, 12 May 2025 19:28:53 +0000 (00:28 +0500)]
[main.c] WIP: parse_subscript()...
- [tests] Add expected output files of previous tests.
momoyon [Mon, 12 May 2025 19:27:40 +0000 (00:27 +0500)]
[main.c] Move Literal_kind inside Literal struct.
momoyon [Mon, 12 May 2025 18:52:05 +0000 (23:52 +0500)]
[main.c] Rename/Refactor somethings...
- [tests] Add new tests for parsing functions.
momoyon [Mon, 12 May 2025 13:18:31 +0000 (18:18 +0500)]
[tests] New test funcall_parsing.momo
momoyon [Mon, 12 May 2025 13:16:56 +0000 (18:16 +0500)]
[main.c] Update printing of identifiers...
- [tests/suffix_parsing] Update expected output.
momoyon [Mon, 12 May 2025 13:08:12 +0000 (18:08 +0500)]
[main.c] Can parse_funcall()...
- Compiler version bump.
momoyon [Sun, 11 May 2025 07:00:31 +0000 (12:00 +0500)]
[Makefile] Add `all` target.
momoyon [Sun, 11 May 2025 06:59:54 +0000 (11:59 +0500)]
[main.c] Change top-level expression -> AST in source code...
- [tests/suffix_parsing.momo] Update because `dump_expressions` ->
`dump_ast`
- [main.c] WIP: parse_funcall().
momoyon [Sun, 11 May 2025 06:26:31 +0000 (11:26 +0500)]
[main.c] Add new TODO
momoyon [Sun, 11 May 2025 06:20:18 +0000 (11:20 +0500)]
[main.c] Check and error out on empty file.
momoyon [Sun, 11 May 2025 06:12:36 +0000 (11:12 +0500)]
[main.c] Fix lexing of newlines (\r\n VS \n)...
- [tests/suffix_parsing] Update expected output.
momoyon [Sat, 10 May 2025 06:07:10 +0000 (11:07 +0500)]
[tests] Add new test `suffix_parsing.momo`.
momoyon [Sat, 10 May 2025 06:00:24 +0000 (11:00 +0500)]
[main.c] `dump_expressions` subcommand.
momoyon [Sat, 10 May 2025 05:55:45 +0000 (10:55 +0500)]
[main.c] Bump Compiler Version
momoyon [Sat, 10 May 2025 05:54:40 +0000 (10:54 +0500)]
[Makefile] Add debug target
momoyon [Sat, 10 May 2025 05:54:18 +0000 (10:54 +0500)]
[main.c] Actually implement parse_suffixes()!
momoyon [Sat, 10 May 2025 05:50:58 +0000 (10:50 +0500)]
[main.c] Remove non-ascii characters.
momoyon [Sat, 10 May 2025 05:33:24 +0000 (10:33 +0500)]
[main.c] Implement parser_peek_by(p, by);
momoyon [Mon, 28 Apr 2025 13:00:38 +0000 (18:00 +0500)]
[main.c] Early exit if failed to parse on all parse_<func>
momoyon [Sun, 27 Apr 2025 16:17:36 +0000 (21:17 +0500)]
[main.c] Implement parse_suffixes()...
- TODO: Does not early exit on error.
momoyon [Sun, 27 Apr 2025 16:02:43 +0000 (21:02 +0500)]
[main.c] Able to use identifiers before declaring them.
momoyon [Sun, 27 Apr 2025 15:09:14 +0000 (20:09 +0500)]
[main.c] prefix parsing functions with parse_
ahmedsamyh [Sun, 27 Apr 2025 13:57:29 +0000 (18:57 +0500)]
[main.c] Can parse multiple Statements*...
- Statement is not yet defined but its basically one or more expressions
ending in a semicolon.
momoyon [Fri, 25 Apr 2025 11:08:17 +0000 (16:08 +0500)]
[README.md] Decide on final name of language.
momoyon [Thu, 24 Apr 2025 12:04:02 +0000 (17:04 +0500)]
Ignore *.exe
momoyon [Thu, 24 Apr 2025 12:00:04 +0000 (17:00 +0500)]
[main.c] Catch errors like (1 0)...
- (1 0), Here we say that 0 is unexpected and we expect )
momoyon [Thu, 24 Apr 2025 11:49:03 +0000 (16:49 +0500)]
[main.c] Return NULL on binary parsing if failed to parse primary.
momoyon [Thu, 24 Apr 2025 11:30:49 +0000 (16:30 +0500)]
[main.c] Fix Column of EOF, and Update tests.
momoyon [Wed, 23 Apr 2025 14:33:12 +0000 (19:33 +0500)]
[main.c] Fix parsing error on primary...
- Still doesn't return NULL on unexpected token.
momoyon [Wed, 23 Apr 2025 14:15:44 +0000 (19:15 +0500)]
Locate problem
momoyon [Thu, 17 Apr 2025 09:51:12 +0000 (14:51 +0500)]
[main.c] error_pretty done...
- TODO: expression() not returning NULL on failure of parsing primary!.
momoyon [Thu, 17 Apr 2025 09:19:30 +0000 (14:19 +0500)]
[main.c] Store lines info in Lexer.
momoyon [Sun, 13 Apr 2025 12:59:00 +0000 (17:59 +0500)]
[main.c] WIP: error_pretty()
momoyon [Sun, 13 Apr 2025 12:58:27 +0000 (17:58 +0500)]
[commonlib.h] Update
momoyon [Sun, 13 Apr 2025 12:40:17 +0000 (17:40 +0500)]
[test.py] Update
momoyon [Sun, 13 Apr 2025 11:19:30 +0000 (16:19 +0500)]
[main.c] Use a hashmap for identifiers...
- TODO Done: TODO: I guess we should check if the identifier has any value set here?
ahmedsamyh [Sat, 12 Apr 2025 21:32:57 +0000 (02:32 +0500)]
[main.c] WIP: parse identifiers
momoyon [Sat, 12 Apr 2025 16:43:54 +0000 (21:43 +0500)]
Update precedence table
momoyon [Sat, 12 Apr 2025 15:34:53 +0000 (20:34 +0500)]
Bump compiler version
momoyon [Sat, 12 Apr 2025 15:33:26 +0000 (20:33 +0500)]
[tests] Update tests.
momoyon [Sat, 12 Apr 2025 15:32:20 +0000 (20:32 +0500)]
[main.c] Refactor handling of flags...
- Add subcommand `dump_tokens`.
- Remove -d flag.
momoyon [Sat, 12 Apr 2025 12:02:12 +0000 (17:02 +0500)]
Add TODO
momoyon [Sat, 12 Apr 2025 11:51:01 +0000 (16:51 +0500)]
[main.c] Can actually lex characters...
- Handle every primary_expression parsing.
momoyon [Sat, 12 Apr 2025 11:25:12 +0000 (16:25 +0500)]
[main.c] Can parse the grammar of Clox...
Still has many operations to be parsed.
momoyon [Sat, 12 Apr 2025 11:06:21 +0000 (16:06 +0500)]
[main.c] Can parse Grouping in primary()
ahmedsamyh [Fri, 11 Apr 2025 20:44:48 +0000 (01:44 +0500)]
WIP: Refactor factor(); now can parse consecutive factor expressions
ahmedsamyh [Fri, 11 Apr 2025 15:20:27 +0000 (20:20 +0500)]
WIP: Refactor code structure.
ahmedsamyh [Fri, 11 Apr 2025 15:20:03 +0000 (20:20 +0500)]
[commonlib.h] Update
ahmedsamyh [Fri, 11 Apr 2025 14:28:34 +0000 (19:28 +0500)]
bump compiler version
ahmedsamyh [Fri, 11 Apr 2025 14:16:12 +0000 (19:16 +0500)]
[main.c] Can parse Factor expressions!
ahmedsamyh [Fri, 11 Apr 2025 14:15:50 +0000 (19:15 +0500)]
[commonlib.h] Update
ahmedsamyh [Fri, 11 Apr 2025 12:39:49 +0000 (17:39 +0500)]
[test.py] Update
ahmedsamyh [Tue, 8 Apr 2025 23:52:08 +0000 (04:52 +0500)]
[main.c] WIP: Expression parsing.
ahmedsamyh [Tue, 8 Apr 2025 22:46:54 +0000 (03:46 +0500)]
[main.c] Lex null.
ahmedsamyh [Tue, 8 Apr 2025 22:44:06 +0000 (03:44 +0500)]
[test] Add bool.momo
ahmedsamyh [Tue, 8 Apr 2025 22:42:26 +0000 (03:42 +0500)]
[test.py] Update
ahmedsamyh [Tue, 8 Apr 2025 22:41:40 +0000 (03:41 +0500)]
[main.c] Lex bools.
ahmedsamyh [Tue, 1 Apr 2025 14:41:47 +0000 (19:41 +0500)]
[test.py] Update
momoyon [Sun, 30 Mar 2025 15:51:53 +0000 (20:51 +0500)]
Update test.py
momoyon [Sun, 30 Mar 2025 15:51:08 +0000 (20:51 +0500)]
[test.bat] Add test script for windows.
ahmedsamyh [Sat, 29 Mar 2025 14:26:45 +0000 (19:26 +0500)]
[main.c] WIP: Reimplement parsing.
ahmedsamyh [Sat, 29 Mar 2025 14:26:28 +0000 (19:26 +0500)]
[grammar.txt] Add test grammar for Lox.
ahmedsamyh [Fri, 28 Mar 2025 15:42:03 +0000 (20:42 +0500)]
[test.py] Use newer test.py.
ahmedsamyh [Fri, 28 Mar 2025 15:41:47 +0000 (20:41 +0500)]
[main.c] Remove unnecessary logging.
momoyon [Thu, 27 Mar 2025 17:03:53 +0000 (22:03 +0500)]
Make parsing more modular...
- Can parse Floats.
momoyon [Thu, 27 Mar 2025 16:22:51 +0000 (21:22 +0500)]
Added Ast_Node_Type.
ahmedsamyh [Wed, 26 Mar 2025 22:34:10 +0000 (03:34 +0500)]
WIP: parsing.
ahmedsamyh [Wed, 26 Mar 2025 21:55:16 +0000 (02:55 +0500)]
[commonlib.h] Update
ahmedsamyh [Wed, 26 Mar 2025 21:20:39 +0000 (02:20 +0500)]
[main.c] Fix freeing non-malloced ptr in free_parser().
ahmedsamyh [Tue, 4 Mar 2025 18:54:27 +0000 (23:54 +0500)]
[main.c] WIP: Parser.
ahmedsamyh [Tue, 4 Mar 2025 18:25:17 +0000 (23:25 +0500)]
[main.c] Bump version.patch.
ahmedsamyh [Tue, 4 Mar 2025 18:23:49 +0000 (23:23 +0500)]
[testing] Now can pass input for tests.
ahmedsamyh [Tue, 4 Mar 2025 18:02:36 +0000 (23:02 +0500)]
[main.c] Bring debug printing under a variable (can change via a flag).
ahmedsamyh [Tue, 4 Mar 2025 17:56:12 +0000 (22:56 +0500)]
TODO Done: Care about window's \r\n...
ahmedsamyh [Tue, 4 Mar 2025 14:04:42 +0000 (19:04 +0500)]
[main.c] Bump version.patch
ahmedsamyh [Tue, 4 Mar 2025 14:01:58 +0000 (19:01 +0500)]
[main.c] Fix stupid include and return keyword bug...
- Add keywords.momo as test.
ahmedsamyh [Tue, 4 Mar 2025 05:10:20 +0000 (10:10 +0500)]
TODO done: Has a bug where 'int8' Gets parsed as 'int' and '8'
ahmedsamyh [Mon, 3 Mar 2025 13:14:01 +0000 (18:14 +0500)]
[main.c] Add TODO.
ahmedsamyh [Mon, 3 Mar 2025 13:06:55 +0000 (18:06 +0500)]
Parse [] and remove debug "OK" logging.
ahmedsamyh [Mon, 3 Mar 2025 13:03:54 +0000 (18:03 +0500)]
Can parse <<, <=, < and >>, >=, >
ahmedsamyh [Mon, 3 Mar 2025 12:48:44 +0000 (17:48 +0500)]
[test.py] "build" subcmd only outputs stdout on verbose output.
ahmedsamyh [Mon, 3 Mar 2025 12:46:56 +0000 (17:46 +0500)]
[test.py] Change verbose flag: -v -> -V