(* Source: https://github.com/io7m/jsom0 License: ISC *) digit_without_zero = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; digit = "0" | digit_without_zero ; positive = digit_without_zero , { digit } ; natural = "0" | positive ; real = [ "-" ] , digit , [ "." , { digit } ] ;