Schrift
[thread]12673[/thread]

Perl-Modul für Struktur-Erklärung von Skripten (Seite 2)



<< |< 1 2 >| >> 20 Einträge, 2 Seiten
Gast Gast
 2008-10-29 21:13
#115836 #115836
Okay.. Ich gebe zu es war nicht gut formuliert.


Also ändere ich meine Anfrage ein bisschen:


Ich habe ein Skript dass n Module mit use einbindet und deren Funktionen benutzt und selber beliebig viele Subs-hat.

Jetzt soll mir ein Programm einfach ausgeben an welcher Stelle welche Sub aufgerufen wird und das möglichst rekursiv.

Also Beispiel:

sub main {

getInfo();
getData();
}

sub getInfo {

getData()
}

sub getData {

}


da würde ich etwas bekommen der art:

main()
-> getInfo();
-> getData();

getInfo();
->getData();


oder auch


main()
-> getInfo();
->getData();
-> getData();
LanX-
 2008-10-29 21:30
#115837 #115837
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
Programmiers dir doch selbst!

1.Du jagst alle Module durch etags/ctags!
2. Dann erhälst du eine Liste aller subs mit positionsangabe.
3. Dann parst du selbst mit nem RegEx ob wo diese subs aufgerufen werden.

Das ist nicht 100%ig aber wie gesagt KEINE Lösung kann 100%ig sein.

--> "man etags"
Struppi
 2008-10-29 23:51
#115841 #115841
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Woher soll denn ein Programm wissen wo eine Funktion aufgerufen wird?
Es gibt derartig viele Möglichkeiten in Perl, solch ein Programm müßte hellsehen können.
LanX-
 2008-10-30 00:13
#115843 #115843
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
Struppi+2008-10-29 22:51:42--
Woher soll denn ein Programm wissen wo eine Funktion aufgerufen wird?


indem du den Namen der Funktion suchst die du
a) im ersten schritt gefunden hast und
b) importiert wird.

> Es gibt derartig viele Möglichkeiten in Perl, solch ein Programm müßte hellsehen können.

a) besser geht's nicht (bei wenig Aufwand)
b) besser als nichts.

und wenn der OP googlen könnte hätte er vielleicht auch
-> http://search.cpan.org/~osfameron/Perl-Tags-0.26/l...
-> http://ftp.isu.edu.tw/pub/vim/runtime/tools/pltags...
gefunden.
Struppi
 2008-10-30 00:16
#115844 #115844
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Code (perl): (dl )
$obj->funtion();


Welche Funktion wird aufgerufen?
LanX-
 2008-10-30 00:24
#115845 #115845
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
wenn man Glück hat eine der Methoden namens funtion() in einer der Packages die
eingebunden wurden.

wenn man Pech hat sollte man sich mit AUTOLOAD auseinandersetzen.

Auf die Gefahr mich zu wiederholen:

a) besser geht's nicht (bei vertretbarem Aufwand)
b) besser als nichts.

das gilt schließlich auch für PPI ... und die Leute benutzens trotzdem.
renee
 2008-10-30 09:52
#115855 #115855
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
LanX-+2008-10-29 23:13:36--
und wenn der OP googlen könnte hätte er vielleicht auch
-> http://search.cpan.org/~osfameron/Perl-Tags-0.26/l...
-> http://ftp.isu.edu.tw/pub/vim/runtime/tools/pltags...
gefunden.



Und auf CPAN findet man auch CPAN:UML::Sequence...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2008-10-30 09:53
#115856 #115856
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zu UML::Sequence findet sich auch was hier: http://renee-baecker.de/talks/Perl_UML.pdf
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Linuxer
 2008-10-30 10:51
#115857 #115857
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Da gibt es einen Artikel, der sich primär um das Thema Profiling dreht. Am Ende des Artikels ist eine schöne Variante aufgezeigt, wie man sich den Programmablauf graphisch mit Graphviz darstellen kann.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Gast Gast
 2008-11-03 21:26
#115932 #115932
Oh das mit dem UML::Sequence insbesondere wie es hier benutzt wird: http://renee-baecker.de/talks/Perl_UML.pdf

sieht ganz vielversprechend aus.
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2008-10-25 22:50.