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 ? > toks = [] > continue thanks -- PMM