<br clear="all"><div>Dear all,</div><div><br></div><div>   The functionality of Editor lies in two aspects:</div><div>   1. Semantic analysis (auto completion, go to definition, etc)</div><div>   2. layout, syntax coloring</div>
<div><br></div><div>For the first part, quotation works perfect with editor support, since when you goto a delimited </div><div>language {:lex| .... |} , the IDE gets enough information to do the auto-completion. Besides, the</div>
<div>code is <b>readable, semantics is clear,</b> you know  the exactly scope where the language lies.</div><div>If you use something like sedlex, I really don't know how to read the code. It gives you an illusion that</div>
<div>it is normal ocaml, but it is not, should there be anything worse than this?</div><div><br></div><div>Also, since any exception to normal oaml is clearly delimited, <b>you can select the region, see the expanded</b></div>
<div><b>code on the fly with the ide support.</b></div><div><br></div><div>For the second part, namespace came to rescue, for example if we want the lay out rules still follow</div><div>the caml syntax, put the language you defined in Fan.Lang.Caml namespace. If we want the syntax highlighting</div>
<div>like javascript, we can put it in Fan.Lang.Js namespace, like <a href="http://www.emacswiki.org/emacs/MmmMode">http://www.emacswiki.org/emacs/MmmMode</a></div><div>This solves the problem once for all, instead just ignore it </div>
<div><br></div><div><br></div>-- <br>-- Regards, Hongbo