Skip to content

Commit 2905529

Browse files
author
Claudiu Popa
committed
Add a couple of style fixes in grammar.
1 parent 9feae1b commit 2905529

File tree

1 file changed

+70
-33
lines changed

1 file changed

+70
-33
lines changed

wispy/grammar.py

Lines changed: 70 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
99
"""
1010
# pylint: disable=missing-docstring, no-init, too-few-public-methods
11-
# pylint: disable=anomalous-unicode-escape-in-string
11+
# pylint: disable=anomalous-unicode-escape-in-string, bad-builtin, star-args
12+
1213
import re
1314

1415
from modgrammar import (
@@ -18,6 +19,7 @@
1819
)
1920
from modgrammar.extras import RE
2021

22+
2123
# pylint: disable=invalid-name
2224
def RE_LITERAL(regex, *args, regex_flags=re.I | re.MULTILINE, **kwargs):
2325
""" A Literal grammar which uses a regular expression instead
@@ -31,6 +33,7 @@ def RE_LITERAL(regex, *args, regex_flags=re.I | re.MULTILINE, **kwargs):
3133
regex = re.compile(regex, regex_flags)
3234
return RE(regex, *args, **kwargs)
3335

36+
3437
def ignore_case_literals(*args):
3538
""" Receive a list of strings and return a list of grammars
3639
for each of those strings.
@@ -181,20 +184,18 @@ class FormatOperator(Grammar):
181184

182185

183186
class ComparisonOperator(Grammar):
184-
grammar = (
185-
Dash,
186-
OR(*ignore_case_literals(
187-
"as", "ccontains", "ceq", "cge", "cgt", "cle", "clike",
188-
"clt", "cmatch", "cne", "cnotcontains", "cnotlike",
189-
"cnotmatch", "contains", "creplace", "csplit", "eq",
190-
"ge", "gt", "icontains", "ieq", "ige", "igt", "ile",
191-
"ilike", "ilt", "imatch", "in", "ine", "inotcontains",
192-
"inotlike", "inotmatch", "ireplace", "is", "isnot",
193-
"isplit", "join", "le", "like", "lt", "match", "ne",
194-
"notcontains", "notin", "notlike", "notmatch", "replace",
195-
"shl", "shr", "split"
196-
)
197-
))
187+
operators = ignore_case_literals(
188+
"as", "ccontains", "ceq", "cge", "cgt", "cle", "clike",
189+
"clt", "cmatch", "cne", "cnotcontains", "cnotlike",
190+
"cnotmatch", "contains", "creplace", "csplit", "eq",
191+
"ge", "gt", "icontains", "ieq", "ige", "igt", "ile",
192+
"ilike", "ilt", "imatch", "in", "ine", "inotcontains",
193+
"inotlike", "inotmatch", "ireplace", "is", "isnot",
194+
"isplit", "join", "le", "like", "lt", "match", "ne",
195+
"notcontains", "notin", "notlike", "notmatch", "replace",
196+
"shl", "shr", "split"
197+
)
198+
grammar = (Dash, OR(*operators))
198199

199200

200201
class FileRedirectionOperator(Grammar):
@@ -221,8 +222,12 @@ class OperatorOrPunctuator(Grammar):
221222
"{", "}", "[", "]", "(", ")", "@(", "@{", "$(", ";",
222223
"&&", "||", "&", "|", ",", "++", "..", "::", ".",
223224
"!", "*", "/", "%", "+",
224-
(Dash, OR(Dash, *ignore_case_literals("and", "band", "bnot", "bor",
225-
"bxor", "not", "or", "xor"))),
225+
(Dash,
226+
OR(Dash,
227+
*ignore_case_literals(
228+
"and", "band", "bnot", "bor",
229+
"bxor", "not", "or", "xor"
230+
))),
226231
Dash,
227232
AssignmentOperator,
228233
MergingRedirectionOperator,
@@ -298,8 +303,10 @@ class VariableNamespace(Grammar):
298303

299304

300305
class VariableScope(Grammar):
301-
grammar = OR(VariableNamespace,
302-
*ignore_case_literals("global:", "local:", "private:", "script:"))
306+
grammar = OR(
307+
VariableNamespace,
308+
*ignore_case_literals("global:", "local:", "private:", "script:")
309+
)
303310

304311

305312
class BracedVariable(Grammar):
@@ -763,15 +770,27 @@ class ComparisonArgumentExpression(Grammar):
763770

764771

765772
class BitwiseArgumentExpression(Grammar):
766-
grammar = LIST_OF(ComparisonArgumentExpression,
767-
sep=(OR(RE_LITERAL("-band"), RE_LITERAL("-bor"), RE_LITERAL("-bxor")),
768-
OPTIONAL(NewLines)))
773+
grammar = LIST_OF(
774+
ComparisonArgumentExpression,
775+
sep=(
776+
OR(RE_LITERAL("-band"),
777+
RE_LITERAL("-bor"),
778+
RE_LITERAL("-bxor")),
779+
OPTIONAL(NewLines)
780+
)
781+
)
769782

770783

771784
class LogicalArgumentExpression(Grammar):
772-
grammar = LIST_OF(BitwiseArgumentExpression,
773-
sep=(OR(RE_LITERAL("-and"), RE_LITERAL("-or"), RE_LITERAL("-xor")),
774-
OPTIONAL(NewLines)))
785+
grammar = LIST_OF(
786+
BitwiseArgumentExpression,
787+
sep=(
788+
OR(RE_LITERAL("-and"),
789+
RE_LITERAL("-or"),
790+
RE_LITERAL("-xor")),
791+
OPTIONAL(NewLines)
792+
)
793+
)
775794

776795

777796
class ArgumentExpressionList(Grammar):
@@ -1066,7 +1085,9 @@ class ParameterList(Grammar):
10661085

10671086

10681087
class BlockName(Grammar):
1069-
grammar = OR(*ignore_case_literals("dynamicparam", "begin", "process", "end"))
1088+
grammar = OR(
1089+
*ignore_case_literals("dynamicparam", "begin", "process", "end")
1090+
)
10701091

10711092

10721093
class NamedBlock(Grammar):
@@ -1175,7 +1196,8 @@ class DataStatement(Grammar):
11751196

11761197
class ElseIfClause(Grammar):
11771198
grammar = (
1178-
Spaces, RE_LITERAL("elseif"), Spaces, "(", Spaces, Pipeline, Spaces, ")", Spaces,
1199+
Spaces, RE_LITERAL("elseif"), Spaces,
1200+
"(", Spaces, Pipeline, Spaces, ")", Spaces,
11791201
StatementBlock
11801202
)
11811203

@@ -1202,7 +1224,11 @@ class LabelExpression(Grammar):
12021224

12031225

12041226
class FinallyClause(Grammar):
1205-
grammar = (OPTIONAL(NewLines), RE_LITERAL("finally"), Spaces, StatementBlock)
1227+
grammar = (
1228+
OPTIONAL(NewLines),
1229+
RE_LITERAL("finally"),
1230+
Spaces, StatementBlock
1231+
)
12061232

12071233

12081234
class CatchTypeList(Grammar):
@@ -1212,8 +1238,12 @@ class CatchTypeList(Grammar):
12121238

12131239
class CatchClause(Grammar):
12141240
grammar_whitespace_mode = "optional"
1215-
grammar = (OPTIONAL(NewLines), RE_LITERAL("catch"), OPTIONAL(CatchTypeList),
1216-
StatementBlock)
1241+
grammar = (
1242+
OPTIONAL(NewLines),
1243+
RE_LITERAL("catch"),
1244+
OPTIONAL(CatchTypeList),
1245+
StatementBlock
1246+
)
12171247

12181248

12191249
class CatchClauses(Grammar):
@@ -1263,8 +1293,13 @@ class FunctionName(Grammar):
12631293

12641294
class FunctionStatement(Grammar):
12651295
grammar = (
1266-
OR(RE_LITERAL("function"), RE_LITERAL("filter"), RE_LITERAL("workflow")), Spaces,
1267-
FunctionName, Spaces, OPTIONAL(FunctionParameterDeclaration), Spaces,
1296+
OR(
1297+
RE_LITERAL("function"),
1298+
RE_LITERAL("filter"),
1299+
RE_LITERAL("workflow")
1300+
),
1301+
Spaces, FunctionName, Spaces,
1302+
OPTIONAL(FunctionParameterDeclaration), Spaces,
12681303
"{", Spaces, ScriptBlock, Spaces, "}"
12691304
)
12701305

@@ -1275,7 +1310,9 @@ class WhileCondition(Grammar):
12751310

12761311
class DoStatement(Grammar):
12771312
grammar = (
1278-
RE_LITERAL("do"), Spaces, StatementBlock, Spaces, OR(RE_LITERAL("while"), RE_LITERAL("until")),
1313+
RE_LITERAL("do"),
1314+
Spaces, StatementBlock, Spaces,
1315+
OR(RE_LITERAL("while"), RE_LITERAL("until")),
12791316
Spaces, "(", WhileCondition, Spaces, ")"
12801317
)
12811318

0 commit comments

Comments
 (0)