def parse_list_of_lists(xs):
"""
Parse a list of list of integers using pyparsing
"""
enclosed = pa.Forward() # Parser to be defined later
natural = pa.Word(pa.nums) # Natural Number
# Nested Grammar
nestedBrackets = pa.nestedExpr(pa.Suppress('['), pa.Suppress(']'), content=enclosed)
enclosed << (natural | pa.Suppress(',') | nestedBrackets)
try:
rs = enclosed.parseString(xs).asList()[0]
return list(map(lambda x: list(map(int, x)), rs))
except pa.ParseException:
raise RuntimeError("Invalid Macro states Specification")
评论列表
文章目录