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  }