From 2685c05360f6d9ebf681b0691d941e5f1c3b9516 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 19 Jul 2021 21:55:08 -0400 Subject: [PATCH] Change rule syntax --- lib/imbecile/grammar.rb | 2 +- spec/imbecile_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/imbecile/grammar.rb b/lib/imbecile/grammar.rb index 1a6db4e..e1ac614 100644 --- a/lib/imbecile/grammar.rb +++ b/lib/imbecile/grammar.rb @@ -49,7 +49,7 @@ module Imbecile elsif input.slice!(/\Adrop\s+(\S+)\n/) pattern = $1 @tokens << Token.new(nil, pattern, @tokens.size) - elsif input.slice!(/\Arule\s+(\S+)\s+\[(.*?)\] <<\n(.*?)^>>\n/m) + elsif input.slice!(/\A(\S+)\s*:\s*\[(.*?)\] <<\n(.*?)^>>\n/m) rule_name, rule, code = $1, $2, $3 @rules << Rule.new(rule_name, rule, code) else diff --git a/spec/imbecile_spec.rb b/spec/imbecile_spec.rb index 645daac..7424286 100644 --- a/spec/imbecile_spec.rb +++ b/spec/imbecile_spec.rb @@ -31,7 +31,7 @@ token int \\d+ token plus \\+ token times \\* drop \\s+ -rule Start [] << +Start: [] << >> EOF build_parser