I've given the .lang file for NekoML another attempt as well. I found
some keywords (var, if, else, function, try, catch, type, match, then,
while and exception) in src/nekoml/Lexer.nml but there are a couple of
others in src/nekoml/Parser.nml (open, rec, mutable and as) which
aren't declared as keywords (in the lexer) and matching is done
against literal strings although they appear to be keywords. What are
the keywords of NekoML?

Some identifiers (such as "rec" or "mutable") can be used in particular places and have a specific meaning. However they are not strictly speaking "keywords" since they can be used as normal identifiers everywhere else in the program, without usually any ambiguity.

It's up to you to decide to highlight them or not.

Are int, float, string, bool, char and void the only types except for
user defined types?

You can watch neko/src/core/Core.nml declarations.
Here again, it depends what you call a "core" type.

Nicolas



--
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to