def p_block(self, p):
n = len(p)<EOL>if n == <NUM_LIT:4>:<EOL><INDENT>p[<NUM_LIT:0>] = ['<STR_LIT>', p[<NUM_LIT:1>], p[<NUM_LIT:2>], p[<NUM_LIT:3>]]<EOL><DEDENT>elif n == <NUM_LIT:3>:<EOL><INDENT>p[<NUM_LIT:0>] = ['<STR_LIT>', p[<NUM_LIT:1>],  [], p[<NUM_LIT:2>]]<EOL><DEDENT>else:<EOL><INDENT>p[<NUM_LIT:0>] = ['<STR_LIT>', p[<NUM_LIT:1>], [], p[<NUM_LIT:1>]]<EOL><DEDENT>if self.options.get('<STR_LIT>'):<EOL><INDENT>for tag in (<NUM_LIT:1>, <NUM_LIT:3>):<EOL><INDENT>p[<NUM_LIT:0>][tag] = p[<NUM_LIT:0>][tag].lower()<EOL><DEDENT><DEDENT>
block : OPEN_TAG contents CLOSE_TAG
                 | OPEN_TAG CLOSE_TAG
                 | OPEN_CLOSE_TAG