{"id":597,"date":"2025-12-20T13:00:00","date_gmt":"2025-12-20T12:00:00","guid":{"rendered":"https:\/\/portfolio.cousseaujimmy.fr\/projets\/minijaja-vm\/"},"modified":"2026-09-11T15:40:59","modified_gmt":"2026-09-11T13:40:59","slug":"minijaja-vm","status":"publish","type":"projet","link":"https:\/\/portfolio.cousseaujimmy.fr\/en\/projets\/minijaja-vm\/","title":{"rendered":"MiniJaja compiler"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>MiniJaja \u2500\u2500lexer\u2500\u2500\u25b6 tokens \u2500\u2500parser\u2500\u2500\u25b6 AST \u2500\u2500typage\u2500\u2500\u25b6 AST typ\u00e9\n                                            \u2502\n                          interpr\u00e9teur \u25c0\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u25b6 compilateur \u2500\u2500\u25b6 JajaCode \u2500\u2500\u25b6 interpr\u00e9teur JajaCode<\/code><\/pre>\n\n\n\n<p class=\"jcp-reveal wp-block-paragraph\">Java\/Maven, shared GUI, test strategy checking that the compiler respects both languages&#8217; semantics. The real subject: specifying interfaces between modules, reviewing others&#8217; code, documenting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MiniJaja \u2192 JajaCode compiler, interpreters, type checking and GUI, in a team of six.<\/p>\n","protected":false},"featured_media":0,"menu_order":12,"template":"","meta":{"_jcp_tagline":"The whole compilation chain \u2014 and six people agreeing on interfaces before writing a line.","_jcp_role":"Developer, team of 6 (Master's 1)","_jcp_org":"Universit\u00e9 Marie &amp; Louis Pasteur","_jcp_period":"2024","_jcp_sort":"2024-12","_jcp_repo":"","_jcp_live":"","_jcp_status":"done","_jcp_featured":false,"_jcp_stats":"","_jcp_accent":"#ff8a65","footnotes":""},"projet-type":[63],"stack":[108,78,114,113],"class_list":["post-597","projet","type-projet","status-publish","hentry","projet-type-academique","stack-git","stack-java","stack-jira","stack-tests"],"_links":{"self":[{"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/projet\/597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/projet"}],"about":[{"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/types\/projet"}],"version-history":[{"count":2,"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/projet\/597\/revisions"}],"predecessor-version":[{"id":636,"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/projet\/597\/revisions\/636"}],"wp:attachment":[{"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/media?parent=597"}],"wp:term":[{"taxonomy":"projet-type","embeddable":true,"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/projet-type?post=597"},{"taxonomy":"stack","embeddable":true,"href":"https:\/\/portfolio.cousseaujimmy.fr\/en\/wp-json\/wp\/v2\/stack?post=597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}