progress
Progress: Grammar::Modelica
Current status
Docker-based local testing and Docker-backed GitHub Actions CI are in place, module packaging has been modernized to .rakumod, and the grammar has now been aligned with key Modelica 3.6 concrete syntax updates.
What works
Raku module files under
lib/now use.rakumodextensions instead of.pm6.META6.jsonprovidesentries now explicitly map all modules to.rakumodpaths.README repository layout now references
lib/Grammar/Modelica.rakumod.Docker test image support via
Dockerfileand.dockerignore.Convenience commands via
Makefiletargets:docker-builddocker-testdocker-shell
GitHub Actions workflow (
.github/workflows/ci.yml) that builds and runs tests in Docker.README documentation for Docker usage and CI status badge.
Modelica 3.6 grammar alignment updates completed in parser code:
Added
description/description_stringproductions.Kept
comment/string_commentas compatibility aliases.Added
function_partial_applicationand integrated it in function-argument grammar.Updated
import_clauseto explicitly allowname.*/name .*form.Updated class grammar rules to use
descriptionnaming.
Test coverage updated for 3.6-oriented behavior in:
t/ClassDefinition.tt/Expressions.t
Dockerized test suite currently passes:
docker build --no-cache --progress=plain -t grammar-modelica-test .docker run --rm grammar-modelica-test
What remains
Optionally pin
rakudo-starto a specific version tag for stronger reproducibility.Optionally remove/retire legacy CI files (
.travis.yml,appveyor.yml) once migration is fully validated.Continue parser modernization tasks from
projectbrief.md(extensions, parser optimization, actions, metadata updates).
Known issues
raku,prove, andmakeare still unavailable on PATH in the current shell; Docker remains the validated execution path in this environment.
Recent evolution
Migrated module files and
META6.jsonmappings from deprecated.pm6usage to modern.rakumodusage to address deprecation warnings.Added first-class Docker workflow for local tests.
Migrated active CI path to GitHub Actions using Docker-based execution.
Synced implemented grammar portions from Modelica 3.4 to 3.6 concrete syntax for:
description/comment production naming,
function partial application production support,
explicit import wildcard tokenization (
.*).