init with {: System.out.println("Mon compilo C"); :} action code {: void DEBUG(String s) {System.out.println(s);} :} terminal TYPE, IDENT, SEMI, UNK; nonterminal programme, declaration; terminal LPAR, RPAR, LBRACE, RBRACE; terminal LITTERAL, AFFECT, OPBIN; terminal WHILE; nonterminal bloc, list_instr, instr; nonterminal instr_while, expr; precedence left OPBIN; programme ::= /* vide */ | programme declaration {: :} ; declaration ::= TYPE IDENT SEMI {: DEBUG("Variable"); :} | TYPE IDENT LPAR TYPE IDENT RPAR bloc {: DEBUG("fonction"); :} ; bloc ::= LBRACE list_instr RBRACE {: DEBUG("bloc"); :} ; list_instr ::= /* vide */ | list_instr instr {: DEBUG("instruction"); :} ; instr ::= bloc | SEMI | expr SEMI | instr_while ; expr ::= LITTERAL | IDENT | expr OPBIN expr | LPAR expr RPAR | IDENT AFFECT expr | IDENT LPAR expr RPAR ; instr_while ::= WHILE LPAR expr RPAR instr {: DEBUG("while"); :} ;