nl_tokens: The actual JSHINT function itself .
pl_tokens: function ( s , o ) { var a , i , k ; JSHINT . errors = [ ] ; predefined = Object . create ( standard ) ; if ( o ) { a = o . predef ; if ( a ) { if ( Array . isArray ( a ) ) { for ( i = 0 ; i < a . length ; i += 1 ) { predefined [ a [ i ] ] = true ; } } else if ( typeof a === 'object' ) { k = Object . keys ( a ) ; for ( i = 0 ; i < k . length ; i += 1 ) { predefined [ k [ i ] ] = ! ! a [ k ] ; } } } if ( o . adsafe ) { o . safe = true ; } if ( o . safe ) { o . browser = o . css = o . debug = o . devel = o . evil = o . forin = o . on = o . rhino = o . windows = o . sub = o . widget = false ; o . eqeqeq = o . nomen = o . safe = o . undef = true ; predefined . Date = predefined [ 'eval' ] = predefined . Function = predefined . Object = null ; predefined . ADSAFE = predefined . lib = false ; } option = o ; } else { option = { } ; } option . indent = <mask> . indent || 4 ; option . maxerr = option . maxerr || 50 ; adsafe_id = '' ; adsafe_may = false ; adsafe_went = false ; approved = { } ; if ( option . approved ) { for ( i = 0 ; i < option . approved . length ; i += 1 ) { approved [ option . approved [ i ] ] = option . approved [ i ] ; } } else { approved . test = 'test' ; } tab = '' ; for ( i = 0 ; i < option . indent ; i += 1 ) { tab += ' ' ; } indent = 1 ; global = Object . create ( predefined ) ; scope = global ; funct = { '(global)' : true , '(name)' : '(global)' , '(scope)' : scope , '(breakage)' : 0 , '(loopage)' : 0 } ; functions = [ funct ] ; ids = { } ; urls = [ ] ; src = false ; xmode = false ; stack = null ; member = { } ; membersOnly = null ; implied = { } ; inblock = false ; lookahead = [ ] ; jsonmode = false ; warnings = 0 ; lex . init ( s ) ; prereg = true ; strict_mode = false ; prevtoken = token = nexttoken = syntax [ '(begin)' ] ; assume ( ) ; try { advance ( ) ; if ( nexttoken . value . charAt ( 0 ) === '<' ) { html ( ) ; if ( option . adsafe && ! adsafe_went ) { warning ( "ADsafe violation: Missing ADSAFE.go." , this ) ; } } else { switch ( nexttoken . id ) { case '{' : case '[' : option . laxbreak = true ; jsonmode = true ; jsonValue ( ) ; break ; case '@' : case '*' : case '#' : case '.' : case ':' : xmode = 'style' ; advance ( ) ; if ( token . id !== '@' || ! nexttoken . identifier || nexttoken . value !== 'charset' || token . line !== 1 || token . from !== 1 ) { error ( "A css file should begin with @charset 'UTF-8';" ) ; } advance ( ) ; if ( nexttoken . type !== '(string)' && nexttoken . value !== 'UTF-8' ) { error ( "A css file should begin with @charset 'UTF-8';" ) ; } advance ( ) ; advance ( ';' ) ; styles ( ) ; break ; default : if ( option . adsafe && option . fragment ) { error ( "Expected '{a}' and instead saw '{b}'." , nexttoken , '<div>' , nexttoken . value ) ; } if ( nexttoken . value === 'use strict' ) { warning ( "Use the function form of \"use strict\"." ) ; use_strict ( ) ; } statements ( 'lib' ) ; } } advance ( '(end)' ) ; } catch ( e ) { if ( e ) { JSHINT . errors . push ( { reason : e . message , line : e . line || nexttoken . line , character : e . character || nexttoken . from } , null ) ; } } return JSHINT . errors . length === 0 ; }