<?xml version="1.0"?><phpdoc><class name="PhpdocParser" extends="PhpdocClassParser" undoc="false" access="private" package="PHPDoc"><file>c:/www/apache/doc2//parser/PhpdocParser.php</file><doc><author email="ulf.wendel@redsys.de">Ulf Wendel</author><inherited src="Array"/><overriden src="Array"/><description>Note that a lot of communication is done using shared instance variables.</description><shortdescription>&amp;quot;Main&amp;quot; class of the Parser collection.</shortdescription><version>$Id: $</version></doc><function name="PhpdocParser" undoc="false" access="public"><doc><parameter name="$flag_output" default="false" type="boolean">true the parser prints status messages.</parameter><return type="void"/><description/><shortdescription>Creates an instance of PhpdocWarning and calls buildComplexRegExps() to initialize the object.</shortdescription></doc></function><function name="preparse" undoc="false" access="public"><doc><see type="function">findModulegroups()</see><see type="function">findClassTrees()</see><return name="$ok" type="boolean"/><description>With version 0.3alpha PHPdoc changed the way the parser works. It does now1 1/2 parsing runs. One prescan to build the class trees and a list of modulegroups and one deep scan to extract the information. This reduces the memoryconsumption.</description><shortdescription>Central parsing function.</shortdescription></doc></function><function name="getClassTree" undoc="false" access="public"><doc><see type="function">getModulegroup()</see><see type="var">$baseclasses</see><return name="$classes" type="mixed"> Hash with the data of the current class tree or false.</return><description>Use this function to loop through the class trees. The loop should look somewhat like:&amp;lt;code&amp;gt;while ( $classtree = $parser-&amp;gt;getClassTree() ) ...&amp;lt;/code&amp;gt;</description><shortdescription>Returns the data of one parentclass and all it&amp;apos;s subclasses or false.</shortdescription></doc></function><function name="getModulegroup" undoc="false" access="public"><doc><see type="function">getClassTree()</see><see type="function">addModule()</see><see type="var">$modulegroups</see><return name="$modulegroup" type="mixed"> Hash with the data of the current class tree or false.</return><description>Use this function to loop through the module groups. The loop should look somewhat like:&amp;lt;code&amp;gt;while ( $modulegroup = $parser-&amp;gt;getModulegroup() ) ...&amp;lt;/code&amp;gt;.</description><shortdescription>Returns the data of one module group.</shortdescription></doc></function><function name="addModule" undoc="false" access="private"><doc><parameter name="$group" type="string">of the module group the parsing result gets added.</parameter><parameter name="$filename" type="string">of the file to scan.</parameter><return type="void"/><description>The function analyses the given file, unsets the file in thefile list, adds the result of the parser to the module list andif necessary it adds some data to the package list.</description><shortdescription>Analyses the given file and adds the result to the module list.</shortdescription></doc></function><function name="addClass" undoc="false" access="private"><doc><see type="function">addSubclasses()</see><see type="var">$classes</see><parameter name="$classname" type="string">of the class that gets added.</parameter><parameter name="$filename" type="string">of the file to scan.</parameter><return type="void"/><description>The first parameter (classname) comes from the prescan doneby findClassTrees()</description><shortdescription>Analyses the given file and adds the result to the class list.</shortdescription></doc></function><function name="addSubclasses" undoc="false" access="private"><doc><see type="function">addClass()</see><parameter name="$classname" type="string">of the class that might contain subclasses</parameter><return type="void"/><description/><shortdescription>Adds recursively subclasses to the specified class.</shortdescription></doc></function><function name="findModulegroups" undoc="false" access="private"><doc><see type="var">$modulegroups</see><see type="var">$modulefiles</see><parameter name="$para" type="array">with the result of getClassesAndModules() of all files</parameter><return type="void"/><description/><shortdescription>Builds the hash of module groups and the module file list.</shortdescription></doc></function><function name="findClassTrees" undoc="false" access="private"><doc><see type="function">findModulegroups()</see><see type="var">$classnamesToFilenames</see><see type="var">$classtree</see><see type="var">$classfiles</see><see type="var">$baseclasses</see><parameter name="$para" type="array">with the result of getClassesAndModules() of all files</parameter><return type="void"/><description/><shortdescription>Builds a hash of all class trees.</shortdescription></doc></function><function name="getClassnamesToFilenames" undoc="false" access="private"><doc><see type="var">$classnamesToFilenames</see><return name="" type="array"/><description/><shortdescription>Returns the mapping array from classnames to filenames</shortdescription></doc></function><function name="setPhpSourcecodeFiles" undoc="false" access="public"><doc><parameter name="$phpfiles" type="array"/><return name="$ok" type="bool"/><description/><shortdescription>Sets the list of PHP Soucecode Files to examine.</shortdescription></doc></function><variable name="$currentFile" access="private" type="string">&amp;quot;&amp;quot;<doc><description>Instead of passing the name of the current file by argumentPHPDoc uses this slot to communicate. Yeah I know, it&amp;apos;sthe way methods should communicate, but it saves me a lota lot of work.</description><shortdescription>Name of the file currently parsed.</shortdescription></doc></variable><variable name="$phpfiles" access="private" type="array">array()<doc><description>The array keys hold the filenames, the array values the file content.</description><shortdescription>Array of PHP Sourcecode Files to examine.</shortdescription></doc></variable><variable name="$classnamesToFilenames" access="private" type="array">array()<doc><description/><shortdescription>Mapping from classnames to filenames</shortdescription></doc></variable><variable name="$classes" access="private" type="array">array()<doc><see type="var">$modules</see><overriden src="PhpdocClassParser"/><description/><shortdescription>Hash with the data of the current class tree (one parentclass with all children).</shortdescription></doc></variable><variable name="$baseclasses" access="private" type="array">array()<doc><description/><shortdescription>List of all parentclasses found.</shortdescription></doc></variable><variable name="$classfiles" access="private" type="array">array()<doc><description/><shortdescription>List of all files containing classes.</shortdescription></doc></variable><variable name="$classtree" access="private" type="array">array()<doc><description/><shortdescription>Hash of all class trees.</shortdescription></doc></variable><variable name="$modulefiles" access="private" type="array">array()<doc><description/><shortdescription>List of all files containing modules.</shortdescription></doc></variable><variable name="$modulegroups" access="private" type="array">array()<doc><overriden src="PhpdocModuleParser"/><description/><shortdescription>List of all module groups.</shortdescription></doc></variable><variable name="$modules" access="private" type="array">array()<doc><see type="var">$classes</see><description/><shortdescription>Hash with the data of the current module group.</shortdescription></doc></variable><variable name="$packages" access="private" type="array">array()<doc><description/><shortdescription>Hash of all packages found.</shortdescription></doc></variable><variable name="$flag_classtree" access="private" type="boolean">false<doc><see type="function">getClassTree()</see><description/><shortdescription>Flag indicating that getClassTree() was called.</shortdescription></doc></variable><variable name="$flag_modulegroup" access="private" type="boolean">false<doc><see type="function">getModulegroup()</see><description/><shortdescription>Flag indicating that getModulegroup was called.</shortdescription></doc></variable><variable name="$current_baseclass" access="private" type="string">&amp;quot;&amp;quot;<doc><see type="function">getClassTree()</see><description/><shortdescription>Name of the base class of the current class tree.</shortdescription></doc></variable><inherited src="PhpdocClassParser" type="functions"><element>analyseclass</element><element>analyseclassdoc</element></inherited><inherited src="PhpdocFunctionParser" type="functions"><element>analysefunction</element><element>getfunctionargs</element></inherited><inherited src="PhpdocVariableParser" type="functions"><element>analysevariable</element><element>checkvardocs</element></inherited><inherited src="PhpdocModuleParser" type="functions"><element>analysemodule</element><element>analysemoduledoc</element></inherited><inherited src="PhpdocConstantParser" type="functions"><element>analyseconstant</element><element>checkconstantdoc</element></inherited><inherited src="PhpdocUseParser" type="functions"><element>analyseuse</element></inherited><inherited src="PhpdocParserCore" type="functions"><element>getphpdocparagraphs</element><element>getmodulesandclasses</element><element>getmoduledoc</element><element>getclasses</element><element>extractphpdoc</element><element>getdescription</element><element>getvalue</element><element>getvariabletypeandvalue</element></inherited><inherited src="PhpdocParserTags" type="functions"><element>analysetags</element><element>analyseseetagregs</element><element>gettags</element><element>gettagpos</element><element>checkparsererrors</element></inherited><inherited src="PhpdocParserRegExp" type="functions"><element>buildcomplexregexps</element></inherited><inherited src="PhpdocObject" type="functions"><element>setflagoutput</element><element>out</element><element>nametourl</element><element>outl</element><element>introspection</element></inherited><inherited src="PhpdocClassParser" type="variables"><element>$emptyclass</element><element>$classtags</element></inherited><inherited src="PhpdocFunctionParser" type="variables"><element>$emptyfunction</element><element>$functiontags</element></inherited><inherited src="PhpdocVariableParser" type="variables"><element>$emptyvariable</element><element>$variabletags</element></inherited><inherited src="PhpdocModuleParser" type="variables"><element>$emptymodule</element><element>$moduletags</element></inherited><inherited src="PhpdocConstantParser" type="variables"><element>$emptyconstant</element><element>$constanttags</element></inherited><inherited src="PhpdocUseParser" type="variables"><element>$emptyuse</element><element>$usetags</element></inherited><inherited src="PhpdocParserRegExp" type="variables"><element>$phpdoc_tags</element><element>$c_base</element><element>$c_complex</element><element>$php_base</element><element>$php_complex</element><element>$tags</element></inherited><inherited src="PhpdocObject" type="variables"><element>$err</element><element>$application</element><element>$warn</element><element>$flag_output</element></inherited><path><parent>PhpdocClassParser</parent><parent>PhpdocFunctionParser</parent><parent>PhpdocVariableParser</parent><parent>PhpdocModuleParser</parent><parent>PhpdocConstantParser</parent><parent>PhpdocUseParser</parent><parent>PhpdocParserCore</parent><parent>PhpdocParserTags</parent><parent>PhpdocParserRegExp</parent><parent>PhpdocObject</parent></path><baseclass>PhpdocObject</baseclass></class></phpdoc>
