Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Development Branch into Main with Numerous Implementations and Enhancements #37

Merged
merged 99 commits into from
Jan 15, 2025

Conversation

kh3rld
Copy link
Member

@kh3rld kh3rld commented Jan 15, 2025

This PR merges the latest changes from the development branch into the main branch, incorporating several key implementations and enhancements to the Kisumu programming language. Notable updates include:

  • Implementation of integer literals, producing the appropriate tokens.
  • Various improvements and bug fixes across the codebase.

This PR is co-authored with:

Additionally, this PR will close #7

kh3rld and others added 30 commits November 6, 2024 14:35
…anguage

- Established base directory layout for Phase 1 development
- Created core directories: lexer, parser, interpreter, tests, and docs
- Added `tokens.go` within lexer for token declarations
- Prepared placeholders for essential components:
  - Lexer: Responsible for tokenizing input
  - Parser: For syntax analysis and AST generation
  - Interpreter: For code execution and evaluation
  - Tests: To validate individual components and ensure stability
  - Docs: To provide detailed specifications, usage guides, and future updates
…rds, and literals

- Introduced logical operators (&&, ||, !)
- Added bitwise operators (&, |, ^, ~, <<, >>)
- Defined comparison operators with CMP_ prefix for clarity
- Included assignment and increment/decrement operators
- Added punctuation symbols (parentheses, braces, brackets, comma, semicolon, colon)
- Added common language keywords (if, else, for, while, return, func, var, const, true, false)
- Introduced literals for int, float, string, and bool types
Feat(Workflow): Implement github actions workflows  go.yml
…ountered in the source code from other identifier values.
…john

Define Tokens To Help In Forming The Language Syntax
- Added caching for Go modules to speed up builds.
- Implemented coverage report upload as an artifact for later review.
- Improved error handling and step descriptions for clarity.
- Configured fetch-depth for the checkout action to avoid shallow clone issues.
…angci.yml

- Removed 'golint' from the enabled linters list due to deprecation.
- Added 'revive' as the replacement linter for better linting and active support.
- Kept other linters (govet, errcheck, goconst, gofmt, staticcheck) unchanged.
Refactor(tokken): Formart code with gofmt -s -w -l .
…fine function New that will create a new instance of a lexer struct.
… encounters double quotes or a null character and returns the substring between the starting and the current position.
…form an identifier starting from the current position and returns the identifier as a string.
kh3rld added 25 commits January 14, 2025 16:05
…e/docs

docs(README): Create Head file README documentation
…e/docs

refactor(docs): Remove README and license files from the root and mov…
…e/docs

refactor(docs): Move README and license files from the root to docs dir
…e/docs

docs(intro): Add kisumu specification introduction
…e/docs

docs(arch): Add Kisumu Language Architecture Document
…e/docs

docs(feat): Implement kisumu features document
…e/docs

docs(README): Update paths in docs
…e/docs

docs(DS): Add data strucure overview of kisumu lang
@kh3rld kh3rld requested review from JoabOwala and johneliud and removed request for JoabOwala January 15, 2025 00:21
@johneliud johneliud merged commit 4029634 into main Jan 15, 2025
13 checks passed
@johneliud
Copy link
Contributor

This looks good to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement Lexer Support for Integer Tokens
3 participants