Skip to content
This repository was archived by the owner on Jan 30, 2026. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5884334
Update ocaml compiler version in CI
Stevendeo Sep 25, 2025
e5ed013
Update ocaml compiler version in CI (#283)
Stevendeo Sep 25, 2025
b70ae7b
Pour compilation du brouillon correctif (#281)
david-michel1 Jan 16, 2026
46b1bde
Réparation du build statique
Stevendeo Jan 16, 2026
66f6b37
Réparation du build statique (#303)
Stevendeo Jan 16, 2026
0b3d2c1
Variable aiguillage
Stevendeo Nov 21, 2025
1c7f548
Mise à jour tests
Stevendeo Nov 25, 2025
63022b5
Adding constant aiguillages & reworking syntax
Stevendeo Dec 2, 2025
033bfc4
More use of switch in corr
Stevendeo Dec 3, 2025
920c429
Ajout aiguillage variable dans code correctif 2025
Stevendeo Jan 15, 2026
21ba861
Aiguillage variable (#289)
Stevendeo Jan 16, 2026
2e36bf8
Update doc publisher
Stevendeo Jan 16, 2026
81830e2
Mise à jour de la publication de la documentation (#305)
Stevendeo Jan 19, 2026
65e9fec
Pas de valeur de sortie en irj veut dire égal à 0
Stevendeo Jan 20, 2026
2f21a1e
Réparation optToNum
Stevendeo Jan 19, 2026
1351974
my makefile update
lambdalex-ocp Dec 2, 2025
f7cbbfb
add dbg_info structure
lambdalex-ocp Dec 3, 2025
77d6329
add tracing to the interpreter
lambdalex-ocp Dec 2, 2025
9d27dba
Add origin to literals
lambdalex-ocp Sep 8, 2025
bbc63d4
add target specification to tracing
lambdalex-ocp Dec 2, 2025
e8c3e82
Split Driver and Parsing
lambdalex-ocp Oct 8, 2025
f6dd6b2
Add plain output flag
lambdalex-ocp Nov 17, 2025
713d3c5
Make pos not dependent on cli
lambdalex-ocp Dec 2, 2025
753c7cd
Add IRJ parsing for server mode
lambdalex-ocp Dec 2, 2025
2da7fe9
Add server
lambdalex-ocp Dec 2, 2025
98229c5
update m tests
lambdalex-ocp Dec 1, 2025
9192841
properly print floats
lambdalex-ocp Dec 2, 2025
bb67842
add marple-files for easier use from marple
lambdalex-ocp Dec 9, 2025
75bafc3
make server use provided income year
lambdalex-ocp Dec 9, 2025
22afd0d
add log of interpretation errors
lambdalex-ocp Dec 9, 2025
e6696d1
[mir_interpreter fixup] comment debug printers
lambdalex-ocp Dec 9, 2025
b1c261d
remove assert false catch-all and provide every case
lambdalex-ocp Dec 9, 2025
1986259
makefile update t22
lambdalex-ocp Dec 10, 2025
aa9f035
add new m tests
lambdalex-ocp Dec 12, 2025
4ba3fad
Add more information to itnerp errors
lambdalex-ocp Dec 12, 2025
ea0e608
Add temp variables tracing when iterated & refactoring
lambdalex-ocp Dec 17, 2025
675eb17
update tests
lambdalex-ocp Dec 17, 2025
20c2c64
update documentation
lambdalex-ocp Dec 24, 2025
e71e7a4
add logging
lambdalex-ocp Dec 24, 2025
ac05634
wip bugfix with variable iterators
lambdalex-ocp Jan 22, 2026
d9aad50
update graph-deps to put error in corrective
lambdalex-ocp Jan 26, 2026
07fb078
update graph_deps.m
lambdalex-ocp Jan 27, 2026
3549484
smallfix remove comments test_interpreter
lambdalex-ocp Jan 27, 2026
9af56d9
Add back reference to tab in table cell
lambdalex-ocp Jan 27, 2026
1aab4c2
fetch the correct naming if inside table cell
lambdalex-ocp Jan 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/binary-releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
uses: ocaml/setup-ocaml@v2
with:
# Version of the OCaml compiler to initialise
ocaml-compiler: 4.11.2
ocaml-compiler: 4.13.1

- name: Install dependencies
run: |
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/publish_doc.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: Publish documentation on GitHub Pages

on:
workflow_run:
workflows: [binary-releases]
types:
- completed
push:
branches:
- master
- dev
- gen-doc # Temporary

jobs:
deploy:
Expand Down Expand Up @@ -33,7 +34,7 @@ jobs:
uses: ocaml/setup-ocaml@v2
with:
# Version of the OCaml compiler to initialise
ocaml-compiler: 4.11.2
ocaml-compiler: 4.13.1

- name: Install dependencies
run: |
Expand Down
12 changes: 12 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,15 @@ clean: FORCE remise_a_zero_versionnage
rm -f doc/doc.html
rm -rf examples/doc
dune clean

test:
_build/default/src/main.exe tests/mlang/${test}.m -A test --mpp_function test_args --dgfip_options='' --run_test tests/mlang/${test}.irj --debug

c:
_build/default/src/main.exe tests/mlang/${test}.m -A app -b dgfip_c --mpp_function target --dgfip_options='' --output output/${test}.c --debug

t20:
dune exec src/main.exe --profile release -- -A iliad --display_time --precision double --income-year=2020 --comparison_error_margin=0.000001 --mpp_function=enchainement_primitif_interpreteur ir-calcul/sources2020m_6_5/tgvI.m ir-calcul/sources2020m_6_5/errI.m ir-calcul/sources2020m_6_5/chap-1.m ir-calcul/sources2020m_6_5/chap-2.m ir-calcul/sources2020m_6_5/chap-3.m ir-calcul/sources2020m_6_5/chap-4.m ir-calcul/sources2020m_6_5/chap-51.m ir-calcul/sources2020m_6_5/chap-52.m ir-calcul/sources2020m_6_5/chap-6.m ir-calcul/sources2020m_6_5/chap-7.m ir-calcul/sources2020m_6_5/chap-81.m ir-calcul/sources2020m_6_5/chap-82.m ir-calcul/sources2020m_6_5/chap-83.m ir-calcul/sources2020m_6_5/chap-84.m ir-calcul/sources2020m_6_5/chap-85.m ir-calcul/sources2020m_6_5/chap-86.m ir-calcul/sources2020m_6_5/chap-87.m ir-calcul/sources2020m_6_5/chap-88.m ir-calcul/sources2020m_6_5/chap-aff.m ir-calcul/sources2020m_6_5/chap-cinr.m ir-calcul/sources2020m_6_5/chap-cmajo.m ir-calcul/sources2020m_6_5/chap-cor.m ir-calcul/sources2020m_6_5/chap-ctl.m ir-calcul/sources2020m_6_5/chap-ini.m ir-calcul/sources2020m_6_5/chap-inr.m ir-calcul/sources2020m_6_5/chap-isf.m ir-calcul/sources2020m_6_5/chap-majo.m ir-calcul/sources2020m_6_5/chap-perp.m ir-calcul/sources2020m_6_5/chap-plaf.m ir-calcul/sources2020m_6_5/chap-taux.m ir-calcul/sources2020m_6_5/chap-teff.m ir-calcul/sources2020m_6_5/chap-thr.m ir-calcul/sources2020m_6_5/chap-tl.m ir-calcul/sources2020m_6_5/coc1.m ir-calcul/sources2020m_6_5/coc2.m ir-calcul/sources2020m_6_5/coc3.m ir-calcul/sources2020m_6_5/coc4.m ir-calcul/sources2020m_6_5/coc5.m ir-calcul/sources2020m_6_5/coc7.m ir-calcul/sources2020m_6_5/coi1.m ir-calcul/sources2020m_6_5/coi2.m ir-calcul/sources2020m_6_5/coi3.m ir-calcul/sources2020m_6_5/horizoc.m ir-calcul/sources2020m_6_5/horizoi.m ir-calcul/sources2020m_6_5/res-ser1.m ir-calcul/sources2020m_6_5/res-ser2.m m_ext/2020/cibles.m --run_test='tests/2020/fuzzing/fuzzer_1423.m_test' --dgfip_options='' --debug

t22:
dune exec /home/kino/Projects/mlang/_build/default/src/main.exe -- -A iliad --display_time --debug --precision double --income-year=2022 --comparison_error_margin=0.000001 --mpp_function=enchainement_primitif_interpreteur /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/tgvI.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/errI.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-1.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-2.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-3.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-4.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-51.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-52.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-6.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-7.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-81.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-82.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-83.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-84.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-85.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-86.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-87.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-88.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-aff.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-cinr.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-cmajo.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-cor.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-ctl.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-ini.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-inr.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-isf.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-majo.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-perp.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-plaf.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-taux.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-teff.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-thr.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/chap-tl.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coc1.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coc2.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coc3.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coc4.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coc5.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coc7.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coi1.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coi2.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/coi3.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/horizoc.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/horizoi.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/res-ser1.m /home/kino/Projects/mlang/ir-calcul/sources2022m_6_1/res-ser2.m /home/kino/Projects/mlang/m_ext/2022/cibles.m /home/kino/Projects/mlang/m_ext/2022/codes_1731.m /home/kino/Projects/mlang/m_ext/2022/commence_par_5.m /home/kino/Projects/mlang/m_ext/2022/commence_par_7.m /home/kino/Projects/mlang/m_ext/2022/commence_par_H.m /home/kino/Projects/mlang/m_ext/2022/correctif.m /home/kino/Projects/mlang/m_ext/2022/main.m --run_test="tests/2022/fuzzing/fuzzer_9230.m_test" --dgfip_options=''
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,3 +247,12 @@ more details.
## License

The compiler is released under the GPL license (version 3).

# The Mlang server backend

Mlang now ships with a backend for Marple, a way to debug and trace execution of M programs.

## Launch

You can launch the server by doing `dune exec src/server.exe`. This will show you an url,
that you can then input into Marple, starting with the host: ie. `localhost:4242`.
2 changes: 1 addition & 1 deletion ir-calcul
Submodule ir-calcul updated from 7af2b7 to f52184
23 changes: 23 additions & 0 deletions m_ext/0/cibles.m
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@
BOBO4 : calculee base primrest = 0 restituee : "" ;
BOBORES : calculee base primrest = 0 restituee : "" ;

CONST0 : const = 0;
CONST1 : const = 1;
CONST2 : const = 2;
CONST3 : const = 3;

espace_variables ESP : categorie saisie, base;

cible test_dans_domaine:
Expand Down Expand Up @@ -626,6 +631,24 @@ afficher_erreur nom(VAR) ": "
par_defaut:
afficher "Y = ?, echec\n";
)
aiguillage (Y) : (
cas CONST0:
afficher "Y = CONST0, echec\n";
cas CONST1:
afficher "Y = CONST1, OK!\n";
cas indefini:
afficher "Y = --indefini--, echec\n";
par_defaut:
afficher "Y = ?, echec\n";
)
aiguillage nom (Y) : (
cas X:
afficher "X = Y, ah bon?\n";
cas Y:
afficher "Y = Y, ouf\n";
par_defaut:
afficher "Y = ?, echec\n";
)
afficher "FIN test aiguillage\n";

# Test stop fonction
Expand Down
Loading
Loading