- add
var id.attr = value
(finished 4/10/23) - fix bug where
this
is not defined in classes (finished 6/10/23) - fix bug where methods are of type
functions
(finished 6/10/23) - fix bug where global vars are not accessible in methods (finished 6/10/23)
- add class inheritance (finished 11/10/23, fixed 14/10/23)
- add an error when things like
math.(assert 1)
(finished 3/10/23) - add
time.time()
(finished 3/10/23)
- add '\xXX' and '\uXXXX' support (finished 6/10/23)
- add '\UXXXXXXXX' (finished 8/10/23)
- add '\N{UNICODE CHARACTER NAME}' (finished 8/10/23)
- add
startswith
andendswith
(finished 10/10/23) - add possibility to import files in current folder and sub-folders (finished 8/11/2023)
- Syntax: (update parser) (finished 18/10/2023)
import file
if file is in current directoryimport dir.file
if dir is in current directory and file is in dir
- Update ImportNode (finished 18/10/2023)
- Runtime:
- Get the directory of the main file which is executed or imported (finished 7/11/2023)
- Resolve all the imports depending on this directory (finished 8/11/2023)
- Syntax: (update parser) (finished 18/10/2023)
- add
var++
, andvar--
(finished 17/10/23) - Change
export
toexport (any node) as identifier
orexport identifier
(finished 2/11/2023) - add possibility to read command line arguments (finished 26/10/2023)
- switch to semantic versioning (finished 16/10/23)
- return None in loops, even when there is a continue of a break (finished 24/11/2023)
- fix the fact that Nougaro doesn't crash with an error code when there is an error
- add
import ... as ...
(finished 16/10/2023) - rewrite shell.py CLI args with
argparse
(finished 22/01/2024)
- add
webbrowser
(finished 24/04/2024) - add
unicodedata
(finished 9/10/2023) - move config files to
~/.config
under Linux and BSD,~/Library/Preferences
under macOS, and%appdata%
under Windaube. QT documentation about where config files should be stored. (finished 10/03/2024, testing completed 11/03/2024) - rewrite parser to make it faster and easier to read (finished 30/04/2024)
-
add(completed as no longer planned on 14/05/2024)continue and append (value)
- add
-i
cli arg to execute a file then run a shell within it (finished 08/05/2024)
-
if possible, implement
break (name)
andcontinue (name)
where (name) isif
,for
, … (finished 09/05/2024) -
completely switch to semver (finished 7/11/2023)
-
Add expected type in data Nougaro stores (conffiles) (finished 6/6/2024)
-
add optional arguments in functions (finished 23/06/2024)
- Lexer:
- Add the
<default>
token (finished 22/06/2024)
- Add the
- Parser:
- Allow optional parameters in a secondary optional parenthesis (finished 22/06/2024)
- Update nodes (call + def) (finished 24/02/2024, updated 22/06/2024)
- Runtime:
- Update Function value and methods (finished 28/05/2024, updated 22/06/2024)
- Check args (finished 27/05/2024, updated 22/06/2024)
- Populate args (finished 28/05/2024, updated 22/06/2024)
- Update Interpreter visit methods (finished 22/06/2024)
- Update Function value and methods (finished 28/05/2024, updated 22/06/2024)
- Add tests (finished 23/06/2024)
- Lexer:
-
eventually remove protected variables (finished 20/01/2024)
-
add
loop
(infinite loop) (finished 23/07/2024) -
create highlight extension for VSCode
-
add unit tests
-
add complex numbers
-
do all the TODOs in the code (with the pretty good PyCharm 'TODO' tab)
-
add builtin classes, or find a way to have builtin-methods in Values.
-
add
try catch
-
add
raise
-
add
assert ... crashes (on Error) (with message "...")
-
add
tkinter
-
add
turtle
-
add
socket
-
add
requests
src/runtime/values/tools/py2noug.py:19 @ 8ebc929