diff options
| -rw-r--r-- | bpeg.bpeg | 2 | ||||
| -rw-r--r-- | bpeg.c | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -1,7 +1,7 @@ # This is a file defining the BPEG grammar using BPEG syntax grammar; -grammar = __ @[main-pattern]extended-pat __ (*def % (__`;__)) ?(__ `;) __; +grammar = __ @[main-pattern]extended-pat __ (*def % (__`;__)) ?(`;__); def = @[name]ref __ `= __ @[definition]extended-pat; # This is used for command line arguments: @@ -817,6 +817,7 @@ static void load_defs(void) load_def("Hex", "`0-9/`a-f/`A-F"); load_def("hex", "`0-9/`a-f"); load_def("number", "+`0-9 ?(`. *`0-9) / `. +`0-9"); + load_def("int", "+`0-9"); load_def("digit", "`0-9"); load_def("Abc", "`a-z/`A-Z"); load_def("ABC", "`A-Z"); @@ -1059,6 +1060,7 @@ static vm_op_t *load_grammar(const char *grammar) defs += 1; } else { defs = after_name(defs); + if (defs == NULL) break; name = strndup(name, (size_t)(defs-name)); } defs = after_spaces(defs); |
