The `<analyse>` element contains a regex to match against the input, and
a score if the pattern matches.
The scores of all matching patterns for a lexer are summed.
Replaces #815, #813 and #826.
* Add Odin lexer
Adds the odin.xml rules for a lexer along with odin.actual and
odin.expected
Should handle the majority of Odin syntax well enough including nested comments.
However for now I have just left attributes as one token rather than sub-parsing
the @(x = y) to be multiple tokens
* Revert hlsl, natural, and vhs.expected back to master
These upated when I was generating odin.expected. I am
not sure if it is better to update these as well or leave it
so I figured I would leave for now
* Add the sized bool types and all the big/little endian int types
Odin has a number of other built in integer types that are not
in most other languages. Make sure those are included
This updates the ISC dhcp XML lexer. It:
- Fixes functions in function by removed the arglist state, this make
NameFunction tokens work.
- Adds KeywordType for more words that can open a brace delimited
section.
- Remove another set of Keyword so that they become NameVariables
Note on that latter point, from what I could scrape together from the
dhcp manual pages is that there exist 150+ directives/keywords in that
syntax, I pondered adding them all, but there lays madness, so sort of
took the middle ground, in the hopes it is useful enough to other folks
Signed-off-by: Miek Gieben <miek@miek.nl>
* Add ISC dhcp config lexer
This adds a lexer to parse ISC's dhcpd.conf, https://www.isc.org/dhcp/,
this is EOL, but distributions still carry it.
It has the keywords that I could find and takes some liberty with
LiteralNumber* tokens to return IP, network and MAC addresses.
It may be possible to make this somewhat smaller, but haven't pushed for
that yet.
Signed-off-by: Miek Gieben <miek@miek.nl>
* revert some non-related changes
Signed-off-by: Miek Gieben <miek@miek.nl>
* revert
Signed-off-by: Miek Gieben <miek@miek.nl>
---------
Signed-off-by: Miek Gieben <miek@miek.nl>
$(...) is a valid syntax (believe called nakedvar) that should also be
matched by the CFEngine3 lexer.
Fixes: #767
Signed-off-by: Miek Gieben <miek@miek.nl>
* Fix CommentPreproc
Macros (i.e.) CommentPreproc need to be anchored as they are only
allowed to be put on the start of the line. This also solved the
conflict with nakedvar @(....).
Signed-off-by: Miek Gieben <miek@miek.nl>
* Fix NameClass
NameClass (`xxx::`) can _also_ contain variables, so add " and $ to the
allowed list in the regexp. This now also needs to be put earlier to
match before any strings.
Signed-off-by: Miek Gieben <miek@miek.nl>
---------
Signed-off-by: Miek Gieben <miek@miek.nl>