I've been hacking around with the May09 Oslo bits, experimented with tokenizing some source code. I can't seem to figure out how to correctly handle multiline C-style comments though.
For example: /*comment*/
Some cases that elude me:
/***/
or
/**//**/
I can make one or the other work, but not both. The grammar was:
    module Test {
    language Comments {
        token Comment =
            MultiLineComment;
        token MultiLineComment =
            "/*" MultiLineCommentChar* "*/";
        token MultiLineCommentChar =
            ^ "*" |
            "*" PostAsteriskChar;
        token PostAsteriskChar =
            ^ "*" |
            "*" ^("*" | "/"); 
        /*    
        token PostAsteriskChar =
            ^ "*" |
            "*" PostAsteriskChar; 
        */
        syntax Main = Comment*;
    }
}
The commented out token  is what I think I want to do, however recursive tokens are not permitted.
The fact that MGrammar itself has "broken" multiline comments (it can't handle /***/) leads me to believe this isn't possible.
Does anyone know otherwise?