On 6/2/20 12:13 PM, Peter Maydell wrote: > On Mon, 18 May 2020 at 17:41, Richard Henderson > <richard.hender...@linaro.org> wrote: >> >> Intended to be nested within overlapping groups. >> >> Suggested-by: Peter Maydell <peter.mayd...@linaro.org> >> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> >> --- >> scripts/decodetree.py | 21 ++++++++++++++------- >> 1 file changed, 14 insertions(+), 7 deletions(-) >> >> diff --git a/scripts/decodetree.py b/scripts/decodetree.py >> index 0ba01e049c..a9739f671d 100755 >> --- a/scripts/decodetree.py >> +++ b/scripts/decodetree.py >> @@ -1021,21 +1021,22 @@ def parse_file(f, parent_pat): >> del toks[0] >> >> # End nesting? >> - if name == '}': >> + if name == '}' or name == ']': >> if len(toks) != 0: >> error(start_lineno, 'extra tokens after close brace') >> if len(parent_pat.pats) < 2: >> error(lineno, 'less than two patterns within braces') >> >> + # Make sure { } and [ ] nest properly. >> + if (name == '}') != isinstance(parent_pat, IncMultiPattern): >> + error(lineno, 'mismatched close brace') >> + >> try: >> parent_pat = nesting_pats.pop() >> except: >> - error(lineno, 'mismatched close brace') >> + error(lineno, 'extra close brace') >> >> nesting -= 2 >> - if indent != nesting: >> - error(lineno, 'indentation ', indent, ' != ', nesting) >> - > > Why do we lose this error check ?
Hmm, wasn't supposed to. Will fix. r~