Thanks for your interest in multilingual.
This project is experimental and contributions of all sizes are welcome.
- new human language support
- keyword/translation fixes
- tests, docs, and examples
- parser/runtime improvements
Small, focused pull requests are preferred.
- Update supported languages and concept mappings in:
multilingualprogramming/resources/usm/keywords.json
- For each concept (
COND_IF,FUNC_DEF,RETURN, etc.), add your language form.
Keyword localization is concept-driven, so most language additions do not require parser grammar rewrites.
- Update built-in alias mappings in:
multilingualprogramming/resources/usm/builtins_aliases.json
This enables localized names for selected runtime built-ins.
- Update:
multilingualprogramming/resources/usm/operators.json
Only needed when introducing additional symbol variants.
If your contribution adds a new semantic concept or syntax form (not just a translation), update:
- parser logic:
multilingualprogramming/parser/parser.py
- AST model:
multilingualprogramming/parser/ast_nodes.py
- semantic checks:
multilingualprogramming/parser/semantic_analyzer.py
- code generation:
multilingualprogramming/codegen/python_generator.py
At minimum, add or update tests in:
tests/keyword_registry_test.py(new language/concept mapping)tests/lexer_test.py(tokenization in your language)tests/parser_test.py(core constructs parse correctly)
When relevant, also update:
tests/python_generator_test.pytests/semantic_analyzer_test.pytests/repl_test.py
- Add short examples in:
README.mddocs/reference.mddocs/fr/programmation.md(or add equivalent docs for your language)
Run before submitting:
python -m pytest -q
python -m pylint $(git ls-files '*.py')main should require the following passing GitHub Actions checks:
Python packagePylintPackage ArtifactsCompatibility (Python 3.12)(recommended)
Repository administrators configure this in:
Settings -> Branches -> Branch protection rules.
- Be respectful and practical.
- Keep changes scoped and explain the motivation.
- Include tests with behavior changes.
- It is okay to submit partial improvements; this is an evolving project and feedback is encouraged.