I noticed while working on implied do loops in an attempt to recover from the error 'A' and 'B' were getting caught as number literals instead of string literals. My patterns for BOZ constants need reworked so one of those letters is always required
New patterns to test:
number_literal: $ => token(
choice(
// integer, real with and without exponential notation
/[-+]?\d*(\.\d*)?([eEdD][-+]?\d+)?/,
// binary literal
/[-+]?(([bB]'[01]+)|([01]+'[bB]))/,
// octal literal
/[-+]?(([oO]'[0-8]+)|([0-8]+'[oO]))/,
// hexcadecimal
/[-+]?(([zZ]'[0-9a-fA-F]+)|([0-9a-fA-F]+'[zZ]))/
)),
I noticed while working on implied do loops in an attempt to recover from the error 'A' and 'B' were getting caught as number literals instead of string literals. My patterns for BOZ constants need reworked so one of those letters is always required
New patterns to test: