mirror of
https://github.com/zekexiao/pocketlang.git
synced 2025-02-06 04:37:47 +08:00
![Derick Alangi](/assets/img/avatar_default.png)
* Fix minor typos, while reading codebase * Fix typo in common.h comment * Fix typo in src/common.h
62 lines
1.9 KiB
Plaintext
62 lines
1.9 KiB
Plaintext
|
|
// To implement.
|
|
|
|
- refactor build.bat batch script to powershell
|
|
refactor makefile and setup a github action.
|
|
|
|
- change or add => to_string() to value.as_string
|
|
and add as_repr, as_bool.
|
|
str_lower("UPPER") to "UPPER".lower
|
|
|
|
- support new line just after '=' (and other places)
|
|
|
|
- Implement argparse.
|
|
- -v --version
|
|
- emit opcodes
|
|
- maybe write a similer .pyc file for pocket
|
|
- --docs to generate docs from cstring.
|
|
- dump compiled code to a file.
|
|
- In keyword.
|
|
- Structs (maybe enums).
|
|
- Implement file IO (require structs).
|
|
- Implement utf8 support.
|
|
- Implement gdb like debugger (add color print for readability).
|
|
- Implement fiber from script body and vm run fibers (not scripts).
|
|
Then remove vm's root script.
|
|
- Initialize imported scripts (require fiber based vm).
|
|
- REPL. compile expression for a script.
|
|
- Hex, binary literals and floats like ".5".
|
|
- Docs build to a single directory, and replace url space (%20) with a hyphen.
|
|
- Complete all the TODO; macros.
|
|
- implement MAX_ARGC checks (would cause a buffer overflow if not)
|
|
when compiling and calling a function (also in fibers).
|
|
|
|
// Low priority.
|
|
- Ignore line with '\' character.
|
|
- Make it possible to override function names.
|
|
- To do so the functions and global variables should be in the same
|
|
buffer as the property of the script.
|
|
- Function docstring property.
|
|
- Union tagging alter in var.
|
|
- Github actions.
|
|
|
|
|
|
// Add more.
|
|
- Single header for embedding (script in pk, require file IO).
|
|
[ ] Complete core methods.
|
|
[ ] Complete var methods.
|
|
[ ] Complete core functions.
|
|
[ ] Complete builtin operators.
|
|
[ ] Complete opcodes.
|
|
[ ] Complete core libs.
|
|
[ ] Complete the docs.
|
|
[ ] More Tests.
|
|
|
|
// Bugs.
|
|
It's at pre-alpha and every thing is left to
|
|
implement, and nothing would be work as expected.
|
|
|
|
- f = func print() end; print(f) # semicollon should be there.
|
|
def f() print() end print(f) # semicollon should be there.
|
|
make it okey to use semicollon freely like new lines.
|