+++ /dev/null
-%{
- open Types
-%}
-
-%token <string> CONST
-%token <Types.symbol> IDENT
-%token LPAR RPAR SEQ SPLIT MERGE PAR REC EOF POINT
-%right SPLIT MERGE
-%right SEQ
-%right PAR
-%left REC
-%left POINT
-%start main
-%type <Types.faust_exp> main
-%%
-main: faust_exp EOF { $1 };
-faust_exp: CONST { Const(N (int_of_string $1)) }
- | CONST POINT { Const(R (float_of_string $1)) }
- | CONST POINT CONST { Const(R (float_of_string ($1 ^ "." ^ $3))) }
- | IDENT { Ident($1) }
- | LPAR faust_exp RPAR { $2 }
- | faust_exp PAR faust_exp { Par($1,$3) }
- | faust_exp SPLIT faust_exp { Split($1,$3) }
- | faust_exp MERGE faust_exp { Merge($1,$3) }
- | faust_exp SEQ faust_exp { Seq($1,$3) }
- | faust_exp REC faust_exp { Rec($1,$3) };