| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Make sure results are unsigned
Found by cppcheck
|
| |
|
|
|
|
|
|
|
|
| |
hex expression shared the esc_hex expression before.
But esc_hex is limited to 2 hexdecimal characters, and thus poor choice
for parsing hexdecimal numbers in source. (This is different from C
which allows "n" length hex escapes causing problems when you mix hex
escapes with strings for example)
|
|
|
|
|
|
|
|
| |
The word label is mainly meant to define printable and conceated
characters. In print_mark we use it to print tail in case we hit the
valid* kleene star expression. Otherwise we will just show '^' mark on
whatever byte we failed on. This allows to catch semantical failures
such as having newlines at wrong place etc..
|
|
|
|
|
|
| |
Combine tail action into mark.
Tokenize on 'space <valid>' or on punctuation.
Treat single printable or valid* as word.
|
| |
|
| |
|
| |
|
|
|
|
| |
Just some hardening: p should always be equal or behind pe.
|
|
|
|
|
|
|
|
|
| |
If we stop before reading the "p" false positive may be returned since
"p" may be the start of new token.
Thus case like `type: 3u8[4] str;` would fail to mark the real error
since '3' is not read. Thus start marking from the last valid token
that is ':'.
|
| |
|
| |
|
|
|
|
|
| |
This is to have nice aligned output when outputting byte arrays for
example.
|
| |
|
| |
|
| |
|
|
|