[X] #private
- symbol is scoped to package and not brought in from a 'use package' statement
- [ ] Better checking for casts
+ [X] Hex literals
- [ ] Hex literals
+ [ ] Better checking for casts
[ ] All code paths return correct value
- match: '\b(-)?[0-9.]+\b'
scope: constant.numeric.onyx
+ - match: '\b0x[0-9A-Fa-f]+\b'
+ scope: constant.numeric.onyx
+
- match: '#[a-zA-Z]+'
scope: keyword.other.onyx
goto token_parsed;
}
+ // Hex literal
+ if (*tokenizer->curr == '0' && *(tokenizer->curr + 1) == 'x' && char_is_num(*(tokenizer->curr + 2))) {
+ INCREMENT_CURR_TOKEN(tokenizer);
+ INCREMENT_CURR_TOKEN(tokenizer);
+ u32 len = 3;
+ while (char_is_num(*(tokenizer->curr + 1)) || charset_contains("abcdefABCDEF", *(tokenizer->curr + 1))) {
+ len++;
+ INCREMENT_CURR_TOKEN(tokenizer);
+ }
+
+ tk.type = Token_Type_Literal_Numeric;
+ tk.length = len;
+
+ INCREMENT_CURR_TOKEN(tokenizer);
+ goto token_parsed;
+ }
+
// Number literal
if (char_is_num(*tokenizer->curr)) {
u32 len = 1;