nl_tokens: / * Parses a single block . A block is a sequence of statements wrapped in braces .
pl_tokens: function block ( ordinary , stmt ) { var a , b = inblock , old_indent = indent , m = strict_mode , s = scope , t ; inblock = ordinary ; scope = Object . create ( scope ) ; nonadjacent ( token , nexttoken ) ; t = nexttoken ; if ( nexttoken . <mask> === '{' ) { advance ( '{' ) ; if ( nexttoken . id !== '}' || token . line !== nexttoken . line ) { indent += option . indent ; while ( ! ordinary && nexttoken . from > indent ) { indent += option . indent ; } if ( ! ordinary && ! use_strict ( ) && ! m && option . strict && funct [ '(context)' ] [ '(global)' ] ) { warning ( "Missing \"use strict\" statement." ) ; } a = statements ( ) ; strict_mode = m ; indent -= option . indent ; indentation ( ) ; } advance ( '}' , t ) ; indent = old_indent ; } else if ( ! ordinary ) { error ( "Expected '{a}' and instead saw '{b}'." , nexttoken , '{' , nexttoken . value ) ; } else { if ( ! stmt || option . curly ) warning ( "Expected '{a}' and instead saw '{b}'." , nexttoken , '{' , nexttoken . value ) ; noreach = true ; a = [ statement ( ) ] ; noreach = false ; } funct [ '(verb)' ] = null ; scope = s ; inblock = b ; if ( ordinary && option . noempty && ( ! a || a . length === 0 ) ) { warning ( "Empty block." ) ; } return a ; }