proc parseNumber(s: string; res: var string; idx: var int; msg: var string): bool {. ...raises: [], tags: [], forbids: [].}
Rough equal to re"\b(0[XxOoBb])?[\d_]*\.?\d+([eE][-+]?[\d_]+)?\b"
template parseName(s: string; res: var string; idx: var int; msg: var string): bool