Rule Number() {
        return FirstOf(
                Sequence(Optional('-'), Digit0(), '.', Digit1()),
                Sequence(Optional('-'), Digit1())
        );
    }
Rule Number() {
        return FirstOf(
                Sequence(Optional('-'), Digit0(), '.', Digit1()),
                Sequence(Optional('-'), Digit1())
        );
    }
Rule Number ( ) { return FirstOf ( Sequence ( Optional ( ' ' ) , Digit0 ( ) , ' ' , Digit1 ( ) ) , Sequence ( Optional ( ' ' ) , Digit1 ( ) ) ) ; }
'-'? Digit* '.' Digit+ / '-'? Digit+
- ? Digit * . Digit + / - ? Digit +