perlparser.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef PERLPARSER_H
00019 #define PERLPARSER_H
00020
00021 #include "kdevlanguagesupport.h"
00022 #include <codemodel.h>
00023
00024
00029 class perlparser {
00030 public:
00031 perlparser(KDevCore* core,CodeModel* model, QString interpreter);
00032 perlparser();
00033 ~perlparser();
00034
00035 void initialParse();
00036 void parse(const QString &fileName);
00037 void parseLines(QStringList* lines,const QString& fileName);
00038 const QStringList UseFiles();
00039 QString findLib( const QString& lib);
00040
00041 private:
00042
00043 void addPackage(const QString& fileName ,int lineNr , const QString& name);
00044 void addAttributetoScript(const QString& fileName ,int lineNr ,const QString& name);
00045 void addAttributetoPackage(const QString& fileName ,int lineNr ,const QString& name);
00046 void addClass(const QString& fileName ,int lineNr );
00047 void addConstructor(const QString& fileName ,int lineNr ,const QString& methodname);
00048 void addGlobalSub(const QString& fileName ,int lineNr , const QString& name, bool privatesub);
00049 void addScriptSub(const QString& fileName ,int lineNr , const QString& name, bool privatesub);
00050 void addClassMethod(const QString& fileName ,int lineNr , const QString& name , bool privatesub);
00051 void addPackageSub(const QString& fileName ,int lineNr , const QString& name, bool privatesub);
00052 void addParentClass(const QString& parent);
00053 void addScript(const QString& fileName ,int lineNr , const QString& name);
00054 void addUseLib(const QString& lib);
00055 void getPerlINC();
00056
00057 bool m_inpackage;
00058 bool m_inscript;
00059 bool m_inclass;
00060
00061 QString m_lastsub;
00062 QString m_lastparentclass;
00063 QString m_lastattr;
00064 QString m_lastpackagename;
00065 QString m_lastscriptname;
00066
00067 NamespaceDom m_lastscript;
00068 NamespaceDom m_lastpackage;
00069 ClassDom m_lastclass;
00070
00071
00072 CodeModel* m_model;
00073 KDevCore* m_core;
00074 FileDom m_file;
00075
00076
00077 QStringList m_INClist;
00078
00079
00080 QStringList m_usefiles;
00081
00082 QString m_interpreter;
00083
00084
00085 };
00086
00087 #endif
This file is part of the documentation for KDevelop Version 3.1.2.