phpDocumentor phpDocumentor
Parsers
[ class tree: phpDocumentor ] [ index: phpDocumentor ] [ all elements ]

Class: phpDocumentor_HighlightParser

Source Location: /phpDocumentor/HighlightParser.inc

Class phpDocumentor_HighlightParser

Class Overview

Highlights source code using parse()

Located in /phpDocumentor/HighlightParser.inc [line 226]

Publisher
   |
   --Parser
      |
      --phpDocumentorTParser
         |
         --phpDocumentor_HighlightParser
Author(s): API Tags:
Usedby:  parserExampleTag::ConvertSource() - highlights source code
Usedby:  parserFileSourceTag::ConvertSource() - highlights source code
Usedby:  parserExampleInlineTag::arrayConvert() - Parses the tokenized source
Usedby:  parserSourceInlineTag::arrayConvert() - Parses the tokenized source

Information Tags:
Version:  Release: @[email protected]
Copyright:  2002-2008 Gregory Beaver
Link:  http://pear.php.net/PhpDocumentor
Link:  http://www.phpdoc.org
Todo:  CS cleanup - change class name to PhpDocumentor_*
Todo:  CS cleanup - change package to PhpDocumentor
Since:  1.2.0beta3
License:  LGPL

Methods

[ Top ]
Inherited Properties, Constants, and Methods
Inherited Properties Inherited Methods Inherited Constants

Inherited From phpDocumentorTParser

phpDocumentorTParser::$inlineTagHandlers
phpDocumentorTParser::$source_location

Inherited From Publisher

Publisher::$subscriber

Inherited From phpDocumentorTParser

phpDocumentorTParser::phpDocumentorTParser()
Constructor
phpDocumentorTParser::parse()
Parse a new file

Inherited From Parser

Parser::Parser()
Set up invariant parsing variables
Parser::categoryTagHandler()
handles @category
Parser::checkEventPop()
this function checks whether parameter $word is a token for popping the current event off of the Event Stack.
Parser::checkEventPush()
this function checks whether parameter $word is a token for pushing a new event onto the Event Stack.
Parser::configWordParser()
tell the parser's WordParser $wp to set up tokens to parse words by.
Parser::defaultTagHandler()
Handles all standard tags that only have a description
Parser::endTag()
Called to clean up at the end of parsing a @tag in a docblock
Parser::exampleTagHandler()
handles @example
Parser::getParserEventName()
Debugging function, takes an event number and attempts to return its name
Parser::globalTagHandler()
handles @global
Parser::invalidTagHandler()
Handles tags like '@filesource' that only work in PHP 4.3.0+
Parser::packageTagHandler()
handles @package
Parser::paramTagHandler()
handles @param
Parser::parse()
Parse a new file
Parser::propertyTagHandler()
Handles @property(-read or -write) and @method magic tag
Parser::returnTagHandler()
handles @return
Parser::setupStates()
setup the parser tokens, and the pushEvent/popEvent arrays
Parser::staticvarTagHandler()
handles @staticvar
Parser::usesTagHandler()
handles @uses
Parser::varTagHandler()
handles @var

Inherited From Publisher

Publisher::publishEvent()
Publish an event
Publisher::subscribe()
Adds a subscriber to the $subscriber array().

[ Top ]
Method Summary
void   phpDocumentor_HighlightParser()   Initialize the $tokenpushEvent, $wordpushEvent arrays
void   configWordParser()   Give the word parser necessary data to begin a new parse
void   newLineNum()   wraps the current line (via the converter) and resets it to empty
bool   parse()   Parse a new file
void   setLineNum()   Start the parsing at a certain line number
void   setupStates()   Initialize all parser state variables

[ Top ]
Methods
Constructor phpDocumentor_HighlightParser  [line 2322]

  void phpDocumentor_HighlightParser( )

Initialize the $tokenpushEvent, $wordpushEvent arrays



[ Top ]
configWordParser  [line 2231]

  void configWordParser( array &$data  )

Give the word parser necessary data to begin a new parse

Parameters:
array   &$data:  all tokens separated by line number

API Tags:
Usedby:  phpDocumentor_HighlightParser::parse() - pass $parse_data to prepare retrieval of tokens


Redefinition of:
Parser::configWordParser()
tell the parser's WordParser $wp to set up tokens to parse words by.

[ Top ]
newLineNum  [line 346]

  void newLineNum( )

wraps the current line (via the converter) and resets it to empty


API Tags:
Uses:  Converter::SourceLine() - encloses $_line in a converter-specific format


[ Top ]
parse  [line 406]

  bool parse( array &$parse_data, Converter &$converter, [bool $inlinesourceparse = false], [string|false $class = false], [false|integer $linenum = false], [false|string $filesourcepath = false]  )

Parse a new file

The parse() method is a do...while() loop that retrieves tokens one by one from the $_event_stack, and uses the token event array set up by the class constructor to call event handlers.

The event handlers each process the tokens passed to them, and use the _addoutput() method to append the processed tokens to the $_line variable. The word parser calls newLineNum() every time a line is reached.

In addition, the event handlers use special linking functions _link() and its cousins (_classlink(), etc.) to create in-code hyperlinks to the documentation for source code elements that are in the source code.

Parameters:
array   &$parse_data:  the parse data
Converter   &$converter:  the converter object
bool   $inlinesourceparse:  whether this data is from an inline {@source} tag
string|false   $class:  if a string, it is the name of the class whose method we are parsing containing a {@source} tag
false|integer   $linenum:  starting line number from {@source linenum}
false|string   $filesourcepath:  full path to file with @filesource tag, if this is a @filesource parse

API Tags:
Staticvar:  int $endrecur: used for recursion limiting if a handler for an event is not found
Uses:  phpDocumentor_HighlightParser::setupStates() - initialize parser state variables
Uses:  phpDocumentor_HighlightParser::configWordParser() - pass $parse_data to prepare retrieval of tokens

Information Tags:
Todo:  CS cleanup - rename tokenizer_ext constant to uppercase

Redefinition of:
phpDocumentorTParser::parse()
Parse a new file

[ Top ]
setLineNum  [line 365]

  void setLineNum( int $num  )

Start the parsing at a certain line number

Parameters:
int   $num:  line number


[ Top ]
setupStates  [line 2248]

  void setupStates( bool $inlinesourceparse, false|string $class  )

Initialize all parser state variables

Parameters:
bool   $inlinesourceparse:  true if we are highlighting an inline {@source} tag's output
false|string   $class:  name of class we are going to start from

API Tags:
Usedby:  phpDocumentor_HighlightParser::parse() - initialize parser state variables
Uses:  $_wp - sets to a new phpDocumentor_HighlightWordParser


Redefinition of:
Parser::setupStates()
setup the parser tokens, and the pushEvent/popEvent arrays

[ Top ]

Documentation generated on Tue, 06 Dec 2011 07:19:08 -0600 by phpDocumentor 1.4.4