%}
 
 %token <string> CONST
-%token <string> IDENT
+%token <Types.symbol> IDENT
 %token LPAR RPAR SEQ SPLIT MERGE PAR REC EOF POINT
 %right SPLIT MERGE
 %right SEQ
 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(symbol_of_string $1) }
+    | IDENT                           { Ident($1) }
     | LPAR faust_exp RPAR             { $2 }
     | faust_exp PAR faust_exp         { Par($1,$3) }
     | faust_exp SPLIT faust_exp       { Split($1,$3) }