DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SKIP
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)


active lhs
-----------
{'MSG': 4, 'HDR': 4, 'DESCR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.CPAR: 'CPAR'>, value=')', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'SCOPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: CPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=13, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=13, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EXCL
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: EXCL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.CPAR: 'CPAR'>, value=')', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'SCOPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: CPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: EXCL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)


active lhs
-----------
{'MSG': 4, 'HDR': 4, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)])


active lhs
-----------
{'MSG': 4, 'HDR': 4}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)]), Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: WORD
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])


active lhs
-----------
{'MSG': 2, 'BODY': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: WORD
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=4, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)


active lhs
-----------
{'MSG': 3, 'BODY': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)


active lhs
-----------
{'MSG': 3, 'BODY': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: WORD
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=9, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)
Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)


active lhs
-----------
{'MSG': 4, 'BODY': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)
Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)


active lhs
-----------
{'MSG': 4, 'BODY': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOF
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Expression(type=<ExpressionType.BODY: 9>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3), Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)])


active lhs
-----------
{'MSG': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BODY
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.EOL: 'EOL'>, value='', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EOL
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: SKIP
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SKIP
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=20, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)


active lhs
-----------
{'MSG': 4, 'HDR': 4, 'DESCR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=20, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value='  ', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='b', column=3, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: WORD
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=4, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=4, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'SCOPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.CPAR: 'CPAR'>, value=')', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: CPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DOT
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)
Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DOT
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1), Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1), Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: EOL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: EOL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=7, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SKIP
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)


active lhs
-----------
{'MSG': 4, 'HDR': 4, 'DESCR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='one', column=7, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=10, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='two', column=11, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.CPAR: 'CPAR'>, value=')', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'SCOPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: CPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=13, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=13, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=10, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EXCL
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: EXCL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1)
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=5, line=1), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.CPAR: 'CPAR'>, value=')', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'SCOPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: CPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: EXCL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EXCL
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)


active lhs
-----------
{'MSG': 4, 'HDR': 4, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1)
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)])


active lhs
-----------
{'MSG': 4, 'HDR': 4}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)]), Token(kind=<Kind.EXCL: 'EXCL'>, value='!', column=8, line=1), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=11, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: WORD
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])


active lhs
-----------
{'MSG': 2, 'BODY': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: WORD
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=4, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)


active lhs
-----------
{'MSG': 3, 'BODY': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)


active lhs
-----------
{'MSG': 3, 'BODY': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: WORD
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=9, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)
Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)


active lhs
-----------
{'MSG': 4, 'BODY': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3)
Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)


active lhs
-----------
{'MSG': 4, 'BODY': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOF
	applicable lhs: ExpressionType.BODY


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])
Expression(type=<ExpressionType.BODY: 9>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='my', column=2, line=3), Token(kind=<Kind.WORD: 'WORD'>, value='body', column=5, line=3)])


active lhs
-----------
{'MSG': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BODY
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=7, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=10, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.EOL: 'EOL'>, value='', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: EOL
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: SKIP
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SKIP
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=20, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1)
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1)
Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)


active lhs
-----------
{'MSG': 4, 'HDR': 4, 'DESCR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=20, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='double', column=8, line=1), Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=14, line=1), Token(kind=<Kind.WORD: 'WORD'>, value='white', column=15, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=2, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value='  ', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=12, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=3, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=11, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.SKIP: 'SKIP'>, value=' ', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: SKIP
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='b', column=3, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: WORD
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=4, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=4, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='msg', column=6, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=2, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=3, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[])


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=5, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=5, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='f', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=5, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: OPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.OPAR: 'OPAR'>, value='(', column=5, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: OPAR
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'SCOPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'SCOPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.SCOPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: SCOPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)])
Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])


active lhs
-----------
{'MSG': 3, 'HDR': 3}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feat', column=1, line=1)]), Expression(type=<ExpressionType.SCOPE: 6>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='s', column=6, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.CPAR: 'CPAR'>, value=')', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: CPAR
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=7, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=14, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='descr', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DOT
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)
Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)


active lhs
-----------
{'MSG': 3, 'HDR': 3, 'DESCR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DOT
	current_token: EOL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=10, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1), Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: EOL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1), Token(kind=<Kind.DOT: 'DOT'>, value='.', column=9, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: EOL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: EOF
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])


active lhs
-----------
{'MSG': 0, 'HDR': 0, 'TYPE': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: START
	current_token: WORD
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'TYPE': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: DIVIDER
	applicable lhs: ExpressionType.TYPE


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.DIVIDER: 'DIVIDER'>, value=': ', column=6, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: DIVIDER
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])


active lhs
-----------
{'MSG': 1, 'HDR': 1, 'DESCR': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: TYPE
	current_token: WORD
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)


active lhs
-----------
{'MSG': 2, 'HDR': 2, 'DESCR': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: WORD
	current_token: NL
	applicable lhs: ExpressionType.DESCR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)])
Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])


active lhs
-----------
{'MSG': 2, 'HDR': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: DESCR
	current_token: NL
	applicable lhs: ExpressionType.HDR


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])


active lhs
-----------
{'MSG': 1, 'BDY_MSG_SEP': 0}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: HDR
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.NL: 'NL'>, value='\n', column=2, line=2)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)


active lhs
-----------
{'MSG': 2, 'BDY_MSG_SEP': 1}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: NL
	current_token: NL
	applicable lhs: ExpressionType.BDY_MSG_SEP


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOL: 'EOL'>, value='', column=2, line=3)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: EOL
	applicable lhs: ExpressionType.MSG


DEBUG    pycolint.parser:parser.py:202 
current token
-------------
Token(kind=<Kind.EOF: 'EOF'>, value='', column=-1, line=-1)

current stack
------------
Expression(type=<ExpressionType.START: 1>, sub=[])
Expression(type=<ExpressionType.HDR: 3>, sub=[Expression(type=<ExpressionType.TYPE: 5>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='feats', column=1, line=1)]), Expression(type=<ExpressionType.DESCR: 7>, sub=[Token(kind=<Kind.WORD: 'WORD'>, value='a', column=8, line=1)])])
Expression(type=<ExpressionType.BDY_MSG_SEP: 8>, sub=[Token(kind=<Kind.NL: 'NL'>, value='\n', column=9, line=1)])


active lhs
-----------
{'MSG': 2}
        
DEBUG    pycolint.parser:parser.py:203 
applying Rule:
	top: BDY_MSG_SEP
	current_token: EOF
	applicable lhs: ExpressionType.MSG


