On 04/04/2009, at 7:08 AM, Emmanuel Onzon wrote:

> and cal_priority must become:
>
> let cal_priority p =
>   match p with
>   | `No_prio -> No_priority
>   | `Eq_prio p -> Eq_priority p
>   | `Less_prio p -> Less_priority p
>   | `Lesseq_prio p -> Lesseq_priority p
>   | `Greater_prio p -> Greater_priority p
>   | `Greatereq_prio p -> Greatereq_priority p
>
> Instead of:
>
> let cal_priority priority_data p =
>   let cp p =
>     try find_priority priority_data p
>     with Not_found -> failwith ("Priority " ^ p ^ " not defined!")
>   in
>   match p with
>   | `No_prio -> No_priority
>   | `Eq_prio p -> Eq_priority (cp p)
>   | `Less_prio p -> Less_priority (cp p)
>   | `Lesseq_prio p -> Lesseq_priority (cp p)
>   | `Greater_prio p -> Greater_priority (cp p)
>   | `Greatereq_prio p -> Greatereq_priority (cp p)
>
> Off course it is probably better to code with the regular variants  
> directly instead of the polymorphic ones and get rid of cal_priority.

I think there is a reason to decouple the value used by Felix and that  
used by Dypgen:
it keeps the typing decoupled. That my be important, remember Felix  
may *store*
grammar productions (including any priority relations) on disk and  
reload them.


>
> Remark the empty list at the end of the 4-tuple that makes the rule.  
> It is a list of options for the rule (it is only useful when the  
> lexer generator is dypgen see 6.1 of the manual for more info).
>
> In addition to the new rule and the new action, define_scheme and  
> extend_grammar should return the list of string couples (nt,cons)  
> where nt is a new non terminal bind to the constructor cons, to  
> allow the user action to return the appropriate command Bind_to_cons.
>


What happens if the string is not new? add_nt just ignored it so it  
was always safe..

--
john skaller
skal...@users.sourceforge.net





------------------------------------------------------------------------------
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to