-
Notifications
You must be signed in to change notification settings - Fork 125
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
KCL developing guide. #61
Labels
documentation
Improvements or additions to documentation
enhancement
New feature or request
help wanted
Extra attention is needed
long-term
Comments
Peefy
added
documentation
Improvements or additions to documentation
enhancement
New feature or request
labels
May 30, 2022
I have designed a TOC for the development guide, welcome to discuss. # Summary
[About this guide]()
[Getting Started]()
---
## Building, Testing and Debugging `KCLVM`
### How to Build and Run `KCLVM`
#### Prerequisites
#### Build from Source Code
#### Working with Docker Image
#### Run `KCLVM`
### Testing `KCLVM`
#### Running Tests
#### Adding New Tests
#### Performance Testing
#### Fuzzing
### Debugging `KCLVM`
## Contributing to `KCLVM`
### Introduction
### Language Design and Discussion
#### KCL Enhancement Proposal (KEP)
### Language Implementation
#### How to Do a Bug Fix.
#### How to Process the Development of a Small Function
#### How to Complete the Development of an Important Function
### Development Tools
#### Using IDE
#### Using Git
#### Continuous Integration (CI)
#### Issues and Pull Requests
### A Typical Contribution
### Version Maintenance Policy
### Coding Conventions
### Notification Groups
### License
## Compiler Architecture
### Overview
### Syntax
#### Lexer
#### Parser
#### Abstract Syntax Tree (AST)
### Sematic
#### Type System
#### Scope
#### Resolver
### Code Generation
#### Control Flow Graph (CFG)
#### LLVM
#### WASM
### Runtime
#### Values
#### System Standard Libraries
### Error Handling
### Config
### Plugin
### Tools
#### Format Tool
#### Documentation Tool
#### Lint Tool
#### Query Tool
#### Validation Tool
### Language Server Protocol (LSP)
## Appendix A: Glossary
## Appendix B: Code Index
## Appendix C: Bibliography
|
Things to be considered:
|
Considering separating the developer manual of KCLVM into a separate repo for easy maintenance, as well as providing multi-language versions. |
15 tasks
16 tasks
Closed by #1194 |
eminaktas
pushed a commit
to eminaktas/kcl
that referenced
this issue
Oct 17, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
documentation
Improvements or additions to documentation
enhancement
New feature or request
help wanted
Extra attention is needed
long-term
Enhancement
The current KCL repository has initially established simple development documents, ISSUE and PR templates, etc. However, there is a lack of detailed developer manuals to help all developers develop better collaboratively, such as https://github.com/rust-lang/rustc-dev-guide in rustc.
To sum up, KCL needs a corresponding developer manual to describe the following things clearly:
The text was updated successfully, but these errors were encountered: