nl_tokens: reading an interface ebnf interface :: = T_INTERFACE T_STRING ( T_EXTENDS ( NAMESPACE_NAME ) * NAMESPACE_NAME ) ? { INTERFACE_BODY }
pl_tokens: function ( ) { const <mask> = this . node ( "interface" ) ; if ( this . token !== this . tok . T_INTERFACE ) { this . error ( this . tok . T_INTERFACE ) ; this . next ( ) ; return null ; } this . next ( ) . expect ( this . tok . T_STRING ) ; let propName = this . node ( "identifier" ) ; const name = this . text ( ) ; this . next ( ) ; propName = propName ( name ) ; let propExtends = null ; if ( this . token === this . tok . T_EXTENDS ) { propExtends = this . next ( ) . read_name_list ( ) ; } this . expect ( "{" ) ; const body = this . next ( ) . read_interface_body ( ) ; return result ( propName , propExtends , body ) ; }