From c24ab434fc1594d0ab65ebe7bf8f4153017ef679 Mon Sep 17 00:00:00 2001 From: zgrep Date: Wed, 11 Jul 2018 23:34:39 -0400 Subject: [PATCH] forgot about "?" --- xed.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xed.py b/xed.py index bd50274..b8e9cec 100644 --- a/xed.py +++ b/xed.py @@ -13,7 +13,7 @@ parser = Lark(r''' | bracketliteral "-" bracketliteral brackets : "[" range+ "]" -> either - char : /[^\\\[\]\{\}\(\)\|\^~]/ + char : /[^\\\[\]\{\}\(\)\|\^~\?]/ | "\\" /\D/ | // @@ -23,6 +23,7 @@ parser = Lark(r''' ?unit : parens | brackets | char ?concat_func : unit | concat_func "{" DIGITS "}" -> concat_repeat + | concat_func "?" -> zero_or_one | concat_func "~" -> reverse | concat_func "~" NUMBER -> roll | concat_func "~{" NUMBER ["," DIGITS] "}" -> roll @@ -67,6 +68,9 @@ class Expand(Transformer): result.append(chr(a)) return result + def zero_or_one(self, args): + return self.either([[''], args[0]]) + def either(self, args): result = [] for x in args: