github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/lang/expressions/parse_number.go (about) 1 package expressions 2 3 func (tree *ParserT) parseNumber() []rune { 4 start := tree.charPos 5 6 for tree.charPos++; tree.charPos < len(tree.expression); tree.charPos++ { 7 r := tree.expression[tree.charPos] 8 9 switch { 10 case (r >= '0' && '9' >= r) || r == '.': 11 // valid numeric character 12 13 default: 14 // not a number 15 goto endNumber 16 } 17 } 18 19 endNumber: 20 return tree.expression[start:tree.charPos] 21 }