diff --git a/README.md b/README.md index da91f85..8b05586 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ number := decimal | hex | octal | binary decimal := integer ('.' [0-9]+)? exponent? exponent := ('e' | 'E') integer -integer := sign? [1-9] [0-9_]* +integer := sign? [0-9] [0-9_]* sign := '+' | '-' hex := '0x' [0-9a-fA-F] [0-9a-fA-F_]* diff --git a/src/parser.rs b/src/parser.rs index 280b149..66c1fea 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -297,6 +297,7 @@ mod tests { #[test] fn test_integer() { + assert_eq!(integer("0"), Ok(("", 0))); assert_eq!(integer("0123456789"), Ok(("", 123456789))); assert_eq!(integer("0123_456_789"), Ok(("", 123456789))); assert_eq!(integer("0123_456_789_"), Ok(("", 123456789)));