]> www.git.momoyon.org Git - lang.git/log
lang.git
7 weeks ago[test.bat] Add test script for windows.
momoyon [Sun, 30 Mar 2025 15:51:08 +0000 (20:51 +0500)]
[test.bat] Add test script for windows.

7 weeks ago[main.c] WIP: Reimplement parsing.
ahmedsamyh [Sat, 29 Mar 2025 14:26:45 +0000 (19:26 +0500)]
[main.c] WIP: Reimplement parsing.

7 weeks ago[grammar.txt] Add test grammar for Lox.
ahmedsamyh [Sat, 29 Mar 2025 14:26:28 +0000 (19:26 +0500)]
[grammar.txt] Add test grammar for Lox.

7 weeks ago[test.py] Use newer test.py.
ahmedsamyh [Fri, 28 Mar 2025 15:42:03 +0000 (20:42 +0500)]
[test.py] Use newer test.py.

7 weeks ago[main.c] Remove unnecessary logging.
ahmedsamyh [Fri, 28 Mar 2025 15:41:47 +0000 (20:41 +0500)]
[main.c] Remove unnecessary logging.

7 weeks agoMake parsing more modular...
momoyon [Thu, 27 Mar 2025 17:03:53 +0000 (22:03 +0500)]
Make parsing more modular...

- Can parse Floats.

7 weeks agoAdded Ast_Node_Type.
momoyon [Thu, 27 Mar 2025 16:22:51 +0000 (21:22 +0500)]
Added Ast_Node_Type.

7 weeks agoWIP: parsing.
ahmedsamyh [Wed, 26 Mar 2025 22:34:10 +0000 (03:34 +0500)]
WIP: parsing.

7 weeks ago[commonlib.h] Update
ahmedsamyh [Wed, 26 Mar 2025 21:55:16 +0000 (02:55 +0500)]
[commonlib.h] Update

7 weeks ago[main.c] Fix freeing non-malloced ptr in free_parser().
ahmedsamyh [Wed, 26 Mar 2025 21:20:39 +0000 (02:20 +0500)]
[main.c] Fix freeing non-malloced ptr in free_parser().

2 months ago[main.c] WIP: Parser.
ahmedsamyh [Tue, 4 Mar 2025 18:54:27 +0000 (23:54 +0500)]
[main.c] WIP: Parser.

2 months ago[main.c] Bump version.patch.
ahmedsamyh [Tue, 4 Mar 2025 18:25:17 +0000 (23:25 +0500)]
[main.c] Bump version.patch.

2 months ago[testing] Now can pass input for tests.
ahmedsamyh [Tue, 4 Mar 2025 18:23:49 +0000 (23:23 +0500)]
[testing] Now can pass input for tests.

2 months ago[main.c] Bring debug printing under a variable (can change via a flag).
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).

2 months agoTODO Done: Care about window's \r\n...
ahmedsamyh [Tue, 4 Mar 2025 17:56:12 +0000 (22:56 +0500)]
TODO Done: Care about window's \r\n...

2 months ago[main.c] Bump version.patch
ahmedsamyh [Tue, 4 Mar 2025 14:04:42 +0000 (19:04 +0500)]
[main.c] Bump version.patch

2 months ago[main.c] Fix stupid include and return keyword bug...
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.

2 months agoTODO done: Has a bug where 'int8' Gets parsed as 'int' and '8'
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'

2 months ago[main.c] Add TODO.
ahmedsamyh [Mon, 3 Mar 2025 13:14:01 +0000 (18:14 +0500)]
[main.c] Add TODO.

2 months agoParse [] and remove debug "OK" logging.
ahmedsamyh [Mon, 3 Mar 2025 13:06:55 +0000 (18:06 +0500)]
Parse [] and remove debug "OK" logging.

2 months agoCan parse <<, <=, < and >>, >=, >
ahmedsamyh [Mon, 3 Mar 2025 13:03:54 +0000 (18:03 +0500)]
Can parse <<, <=, < and >>, >=, >

2 months ago[test.py] "build" subcmd only outputs stdout on verbose output.
ahmedsamyh [Mon, 3 Mar 2025 12:48:44 +0000 (17:48 +0500)]
[test.py] "build" subcmd only outputs stdout on verbose output.

2 months ago[test.py] Change verbose flag: -v -> -V
ahmedsamyh [Mon, 3 Mar 2025 12:46:56 +0000 (17:46 +0500)]
[test.py] Change verbose flag: -v -> -V

2 months ago[testing] Prefix expected outputs with . (make it hidden)
ahmedsamyh [Mon, 3 Mar 2025 12:45:13 +0000 (17:45 +0500)]
[testing] Prefix expected outputs with . (make it hidden)

2 months ago[main.c] Can parse most* operators.
ahmedsamyh [Mon, 3 Mar 2025 12:37:37 +0000 (17:37 +0500)]
[main.c] Can parse most* operators.

2 months ago[testing] Make testing functional...
ahmedsamyh [Mon, 3 Mar 2025 12:37:11 +0000 (17:37 +0500)]
[testing] Make testing functional...

- Can record compilation behaviour.

2 months ago[main.c] Accept flags (WIP)
ahmedsamyh [Sat, 1 Mar 2025 12:03:43 +0000 (17:03 +0500)]
[main.c] Accept flags (WIP)

2 months ago[main.c] Can lex numbers, comments, some singlechar tokens...
ahmedsamyh [Fri, 28 Feb 2025 06:08:50 +0000 (11:08 +0500)]
[main.c] Can lex numbers, comments, some singlechar tokens...

- WIP: Lex operators.

2 months ago[main.c] Can lex strings and keywords.
ahmedsamyh [Fri, 28 Feb 2025 03:58:06 +0000 (08:58 +0500)]
[main.c] Can lex strings and keywords.

2 months ago[Makefile] -Wswitch-enum
ahmedsamyh [Fri, 28 Feb 2025 03:57:41 +0000 (08:57 +0500)]
[Makefile] -Wswitch-enum

2 months ago[test.py] WIP
ahmedsamyh [Fri, 28 Feb 2025 03:57:27 +0000 (08:57 +0500)]
[test.py] WIP

2 months ago[main.c] Added Token types.
ahmedsamyh [Wed, 26 Feb 2025 18:14:17 +0000 (23:14 +0500)]
[main.c] Added Token types.

2 months ago[main.c] Fix memory issues.
ahmedsamyh [Wed, 26 Feb 2025 18:02:23 +0000 (23:02 +0500)]
[main.c] Fix memory issues.

2 months ago[main.c] Can parse identifiers*
ahmedsamyh [Wed, 26 Feb 2025 17:53:51 +0000 (22:53 +0500)]
[main.c] Can parse identifiers*

2 months ago[main.c] Use String_view for Lexer.src.
ahmedsamyh [Wed, 26 Feb 2025 17:27:27 +0000 (22:27 +0500)]
[main.c] Use String_view for Lexer.src.

2 months ago[Makefile] use Address Sanitization (ASAN)
ahmedsamyh [Wed, 26 Feb 2025 17:27:06 +0000 (22:27 +0500)]
[Makefile] use Address Sanitization (ASAN)

2 months agoWIP: Trying to port python -> c.
ahmedsamyh [Tue, 25 Feb 2025 10:56:08 +0000 (15:56 +0500)]
WIP: Trying to port python -> c.

5 months agoWIP: Improve parseStatement()
ahmedsamyh [Thu, 28 Nov 2024 17:02:26 +0000 (22:02 +0500)]
WIP: Improve parseStatement()

5 months agoChange logging of AstNodes.
ahmedsamyh [Wed, 27 Nov 2024 18:47:57 +0000 (23:47 +0500)]
Change logging of AstNodes.

5 months agoparseStatement() done.
ahmedsamyh [Wed, 27 Nov 2024 18:46:49 +0000 (23:46 +0500)]
parseStatement() done.

5 months agoMerge pull request #3 from momoyonwork/work
momoyo [Wed, 27 Nov 2024 17:48:47 +0000 (22:48 +0500)]
Merge pull request #3 from momoyonwork/work

work

5 months agoMake ParseUnexpectedType accept variadic amount of expected_types.
ahmedsamyh [Sat, 23 Nov 2024 04:07:08 +0000 (09:07 +0500)]
Make ParseUnexpectedType accept variadic amount of expected_types.

5 months agoTODO DONE: Make version of ParseEOF that excepts an variadic number of arguments
ahmedsamyh [Sat, 23 Nov 2024 04:01:01 +0000 (09:01 +0500)]
TODO DONE: Make version of ParseEOF that excepts an variadic number of arguments

5 months agoWIP: Reimplementing parseStatement()...
ahmedsamyh [Fri, 22 Nov 2024 16:30:33 +0000 (21:30 +0500)]
WIP: Reimplementing parseStatement()...

- [AstNode] Print type of AstNode.
- [ParseException] split to ParseEOF and ParseUnexpectedType

5 months agoUse ParseException instead of ParseError
ahmedsamyh [Fri, 22 Nov 2024 15:51:45 +0000 (20:51 +0500)]
Use ParseException instead of ParseError

5 months agoWIP: TODO: using exceptions for ParseError...
ahmedsamyh [Wed, 20 Nov 2024 18:25:10 +0000 (23:25 +0500)]
WIP: TODO: using exceptions for ParseError...

- More type checking stuff.
- ignore tags file.

5 months agoWIP: Parsing Whole Grammer edge cases.
ahmedsamyh [Wed, 20 Nov 2024 12:09:05 +0000 (17:09 +0500)]
WIP: Parsing Whole Grammer edge cases.

- Use proper typing info.

5 months agoCan Parse Binary and Logical Comparisions.
ahmedsamyh [Wed, 20 Nov 2024 11:24:44 +0000 (16:24 +0500)]
Can Parse Binary and Logical Comparisions.

5 months agoAble to parse 'foo: int = 34 + 35'
ahmedsamyh [Wed, 20 Nov 2024 11:09:43 +0000 (16:09 +0500)]
Able to parse 'foo: int = 34 + 35'

5 months agoparseIdentifier() and don't use pprint for logging.
ahmedsamyh [Wed, 20 Nov 2024 10:22:16 +0000 (15:22 +0500)]
parseIdentifier() and don't use pprint for logging.

5 months agoMerge pull request #2 from momoyonwork/work
momoyo [Wed, 20 Nov 2024 08:50:40 +0000 (13:50 +0500)]
Merge pull request #2 from momoyonwork/work

work

5 months agoWIP: parsing Statements.
ahmedsamyh [Wed, 20 Nov 2024 08:49:03 +0000 (13:49 +0500)]
WIP: parsing Statements.

5 months agoWIP: Working on Ast Parsing.
ahmedsamyh [Wed, 20 Nov 2024 06:08:36 +0000 (11:08 +0500)]
WIP: Working on Ast Parsing.

5 months agoTokenType.NUMBER splitted to TokenType.{INT, FLOAT}
ahmedsamyh [Wed, 20 Nov 2024 06:04:09 +0000 (11:04 +0500)]
TokenType.NUMBER splitted to TokenType.{INT, FLOAT}

5 months agoToken.value -> Token.lexeme
ahmedsamyh [Wed, 20 Nov 2024 03:51:47 +0000 (08:51 +0500)]
Token.value -> Token.lexeme

6 months agoWIP: Parser
ahmedsamyh [Mon, 18 Nov 2024 17:57:11 +0000 (22:57 +0500)]
WIP: Parser

6 months ago[README.md] Add hello world example.
ahmedsamyh [Mon, 18 Nov 2024 17:30:11 +0000 (22:30 +0500)]
[README.md] Add hello world example.

6 months agoUpdate README.md
ahmedsamyh [Mon, 18 Nov 2024 17:24:13 +0000 (22:24 +0500)]
Update README.md

6 months agoLexing step complete?
ahmedsamyh [Mon, 18 Nov 2024 16:06:34 +0000 (21:06 +0500)]
Lexing step complete?

6 months agoCan Parse '#'.
ahmedsamyh [Mon, 18 Nov 2024 16:01:41 +0000 (21:01 +0500)]
Can Parse '#'.

- No longer append 'None' to tokens.
- Updated tests.

6 months agoRemove test.sh from tracking.
ahmedsamyh [Mon, 18 Nov 2024 15:53:12 +0000 (20:53 +0500)]
Remove test.sh from tracking.

6 months ago# TODO: Handle floating point numbers
ahmedsamyh [Sat, 16 Nov 2024 18:24:42 +0000 (23:24 +0500)]
# TODO: Handle floating point numbers

6 months agoCan Parse .
ahmedsamyh [Sat, 16 Nov 2024 18:19:08 +0000 (23:19 +0500)]
Can Parse .

- Update tests.

6 months agoCan parse integer numbers in base-10.
ahmedsamyh [Sat, 16 Nov 2024 18:16:41 +0000 (23:16 +0500)]
Can parse integer numbers in base-10.

- Update tests.

6 months agoCan parse [].
ahmedsamyh [Sat, 16 Nov 2024 18:07:11 +0000 (23:07 +0500)]
Can parse [].

- Update tests.

6 months agoCan Parse , ; : too
ahmedsamyh [Sat, 16 Nov 2024 18:00:13 +0000 (23:00 +0500)]
Can Parse , ; : too

- Update tests.

6 months agoCan parse Some Single Character Symbols...
ahmedsamyh [Sat, 16 Nov 2024 17:53:09 +0000 (22:53 +0500)]
Can parse Some Single Character Symbols...

Eg: (), {}, ->, -+, /, *, %, =, !, etc

6 months ago[test.py] Iterate over the files in alphabetical order.
ahmedsamyh [Sat, 16 Nov 2024 17:51:43 +0000 (22:51 +0500)]
[test.py] Iterate over the files in alphabetical order.

6 months agoFix bug in parsing identifiers.
ahmedsamyh [Sat, 16 Nov 2024 17:21:31 +0000 (22:21 +0500)]
Fix bug in parsing identifiers.

- Update tests.
- [test.py] Bail out if any test fails (and didn't update the output).

6 months ago[New test] 05-multiple-identifiers.momo
ahmedsamyh [Sat, 16 Nov 2024 17:11:19 +0000 (22:11 +0500)]
[New test] 05-multiple-identifiers.momo

6 months agoParse multiple tokens.
ahmedsamyh [Sat, 16 Nov 2024 17:10:06 +0000 (22:10 +0500)]
Parse multiple tokens.

- Update tests

6 months agoCan parse identifiers.
ahmedsamyh [Sat, 16 Nov 2024 16:54:12 +0000 (21:54 +0500)]
Can parse identifiers.

- Handle lines and bol
- [New test] 03-whitespaced-string.momo
- [New test] 04-identifier.momo

6 months agoLeft trim until non-whitespace.
ahmedsamyh [Sat, 16 Nov 2024 16:38:03 +0000 (21:38 +0500)]
Left trim until non-whitespace.

6 months agoMerge pull request #1 from momoyonwork/work
momoyo [Sat, 16 Nov 2024 12:34:20 +0000 (17:34 +0500)]
Merge pull request #1 from momoyonwork/work

work

6 months ago[Testing] test.py go over every .momo file in ./tests.
ahmedsamyh [Sat, 16 Nov 2024 12:29:00 +0000 (17:29 +0500)]
[Testing] test.py go over every .momo file in ./tests.

- [New test] 02-string.momo

6 months agoDone TODO: option to create test file if it doesn't exist.
ahmedsamyh [Sat, 16 Nov 2024 09:49:00 +0000 (14:49 +0500)]
Done TODO: option to create test file if it doesn't exist.

6 months agoImplement testing program in python (test.py)
ahmedsamyh [Sat, 16 Nov 2024 09:41:26 +0000 (14:41 +0500)]
Implement testing program in python (test.py)

6 months agoCan parse Strings correctly.
ahmedsamyh [Fri, 15 Nov 2024 16:24:52 +0000 (21:24 +0500)]
Can parse Strings correctly.

6 months agoImplement testing system.
ahmedsamyh [Fri, 15 Nov 2024 16:11:42 +0000 (21:11 +0500)]
Implement testing system.

6 months agoRestart implementation :D
ahmedsamyh [Fri, 15 Nov 2024 16:11:25 +0000 (21:11 +0500)]
Restart implementation :D

6 months agoMerge remote-tracking branch 'origin/work'
ahmedsamyh [Mon, 4 Nov 2024 17:09:12 +0000 (22:09 +0500)]
Merge remote-tracking branch 'origin/work'

6 months agoDone many things...
ahmedsamyh [Mon, 4 Nov 2024 06:55:54 +0000 (11:55 +0500)]
Done many things...

"Proper" comment and whiteline handling

6 months agoStarted to refactor INCOMPLETE!!!
ahmedsamyh [Mon, 21 Oct 2024 11:14:28 +0000 (16:14 +0500)]
Started to refactor INCOMPLETE!!!

6 months agoStarted working on Syntactical Analysis.
ahmedsamyh [Mon, 21 Oct 2024 08:37:03 +0000 (13:37 +0500)]
Started working on Syntactical Analysis.

6 months agoChange some minor syntax things...
ahmedsamyh [Mon, 21 Oct 2024 08:28:36 +0000 (13:28 +0500)]
Change some minor syntax things...

6 months agoExpand SYMBOLS to their names.
ahmedsamyh [Mon, 21 Oct 2024 08:20:45 +0000 (13:20 +0500)]
Expand SYMBOLS to their names.

Eg: CLOSE_PAREN, OPEN_PAREN, etc...

6 months agoParse string tokens.
ahmedsamyh [Mon, 21 Oct 2024 08:07:38 +0000 (13:07 +0500)]
Parse string tokens.

6 months agoadd README.md
ahmedsamyh [Mon, 21 Oct 2024 07:58:17 +0000 (12:58 +0500)]
add README.md

6 months agoInitial Commit.
ahmedsamyh [Mon, 21 Oct 2024 07:54:15 +0000 (12:54 +0500)]
Initial Commit.

- Can parse, Identifiers, Numbers and Symbols.
- TODO: Parse Strings.