SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Tech Talk: Pyparsing Tobias Schlauch, DLR Simulations- und Softwaretechnik  11. März 2008 Folie
Motivation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing im Überblick ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Was macht eigentlich ein Parser? (vereinfacht) |H|e|l|l|o|,|Wo|r|l|d|!| Syntaktisch korrekt? |Hello|,|World|!| „ Hello,World!“-Parser Zeichenstrom Abgeleitete Token
Grundlegende Vorgehensweise mit Pyparsing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Erstes Beispiel Hello World! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Definition fester Token ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Definition variabler Token ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Verknüpfungen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Optionale Ausdrücke, Wiederholungen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen  Konvertierungen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Rekursive Grammatiken ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Parseraktionen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Parseraktionen - Beispiel ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Hilfsfunktionen (kleine Auswahl) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Verarbeitung von Ergebnissen ,[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen Verarbeitung von Ergebnissen - Beispiel ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pyparsing Grundlagen … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Performance-Tuning ,[object Object],[object Object],[object Object],- n/a - 614.4 packrat + psyco - n/a - 365.7 psyco  395.8 428.7 packrat 146.5 160.6 base Python V2.5 (lines parsed /second)  Python V2.4.1 (lines parsed /second) Verliog-Parser
Suchrestriktionen im DataFinder Definition der Grammatik (stark vereinfacht) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Suchrestriktionen im DataFinder Anwendung ,[object Object],[object Object],[object Object]
Vielen Dank! Fragen?? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Andere mochten auch

Web 2.0 & You Tube
Web 2.0 & You TubeWeb 2.0 & You Tube
Web 2.0 & You Tubeguestb962b3
 
Lagos Town
Lagos TownLagos Town
Lagos Townred1307
 
Al fons del jardí
Al fons del jardíAl fons del jardí
Al fons del jardíElodie G.
 
PresentacióN E Learning
PresentacióN E LearningPresentacióN E Learning
PresentacióN E Learningmarkortez
 
2008 Vip Oproep
2008 Vip Oproep2008 Vip Oproep
2008 Vip Oproepcorve
 
8th Grade Chapter 5 Lesson 4
8th Grade Chapter 5 Lesson 48th Grade Chapter 5 Lesson 4
8th Grade Chapter 5 Lesson 4MRS.KDUNCAN
 
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonCreating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonSiddhi
 

Andere mochten auch (9)

PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
Web 2.0 & You Tube
Web 2.0 & You TubeWeb 2.0 & You Tube
Web 2.0 & You Tube
 
Lagos Town
Lagos TownLagos Town
Lagos Town
 
Al fons del jardí
Al fons del jardíAl fons del jardí
Al fons del jardí
 
D E S E S T R E S A N T E
D E S E S T R E S A N T ED E S E S T R E S A N T E
D E S E S T R E S A N T E
 
PresentacióN E Learning
PresentacióN E LearningPresentacióN E Learning
PresentacióN E Learning
 
2008 Vip Oproep
2008 Vip Oproep2008 Vip Oproep
2008 Vip Oproep
 
8th Grade Chapter 5 Lesson 4
8th Grade Chapter 5 Lesson 48th Grade Chapter 5 Lesson 4
8th Grade Chapter 5 Lesson 4
 
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonCreating Domain Specific Languages in Python
Creating Domain Specific Languages in Python
 

Ähnlich wie Tech Talk: Pyparsing

Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XMLStephan Schmidt
 
Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Qiong Wu
 
Tech Talk: Groovy
Tech Talk: GroovyTech Talk: Groovy
Tech Talk: Groovymwie
 
Funktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit ScalaFunktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit Scalathoherr
 
nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins
nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins
nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins Christian Kauhaus
 
Perl 6 Regex und Grammars
Perl 6 Regex und GrammarsPerl 6 Regex und Grammars
Perl 6 Regex und Grammarslichtkind
 

Ähnlich wie Tech Talk: Pyparsing (14)

Dynamische Websites mit XML
Dynamische Websites mit XMLDynamische Websites mit XML
Dynamische Websites mit XML
 
Scala XML
Scala XMLScala XML
Scala XML
 
Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0
 
Tech Talk: Groovy
Tech Talk: GroovyTech Talk: Groovy
Tech Talk: Groovy
 
Oracle TEXT
Oracle TEXTOracle TEXT
Oracle TEXT
 
Messen mit LabVIEW- Block 3
Messen mit LabVIEW- Block 3Messen mit LabVIEW- Block 3
Messen mit LabVIEW- Block 3
 
jQuery & CouchDB - Die zukünftige Webentwicklung?
jQuery & CouchDB - Die zukünftige Webentwicklung?jQuery & CouchDB - Die zukünftige Webentwicklung?
jQuery & CouchDB - Die zukünftige Webentwicklung?
 
Kurzreferenz html
Kurzreferenz htmlKurzreferenz html
Kurzreferenz html
 
Spaß mit PostgreSQL
Spaß mit PostgreSQLSpaß mit PostgreSQL
Spaß mit PostgreSQL
 
Funktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit ScalaFunktionale Programmierung und mehr mit Scala
Funktionale Programmierung und mehr mit Scala
 
Froscamp2010_moose
Froscamp2010_mooseFroscamp2010_moose
Froscamp2010_moose
 
nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins
nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins
nagiosplugin - eine Python-Biblioth­ek für Monitoring-Plug­ins
 
PHP: foreach
PHP: foreachPHP: foreach
PHP: foreach
 
Perl 6 Regex und Grammars
Perl 6 Regex und GrammarsPerl 6 Regex und Grammars
Perl 6 Regex und Grammars
 

Tech Talk: Pyparsing

  • 1. Tech Talk: Pyparsing Tobias Schlauch, DLR Simulations- und Softwaretechnik 11. März 2008 Folie
  • 2.
  • 3.
  • 4. Was macht eigentlich ein Parser? (vereinfacht) |H|e|l|l|o|,|Wo|r|l|d|!| Syntaktisch korrekt? |Hello|,|World|!| „ Hello,World!“-Parser Zeichenstrom Abgeleitete Token
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.