Dotazování nad stromem abstraktní syntaxe

Podobné dokumenty
Ukládání a vyhledávání XML dat

PRG036 Technologie XML

XQuery. Jirka Kosek. Visual FoxPro DevCon června Praha. Copyright 2005 Jiří Kosek

Komprese a dotazování nad XML dokumenty

MBI - technologická realizace modelu

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema:

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

TÉMATICKÝ OKRUH Softwarové inženýrství

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Tvorba informačních systémů

XQuery: dotazovací jazyk nad XML

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE PŘEKLADY TYPICKÝCH JAZYKOVÝCH KONSTRUKCÍ PROGRAMOVACÍCH JAZYKŮ.

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

Dotazování nad XML daty a jazyk XPath

PRG036 Technologie XML

Překladač XSL šablon

Použití databází na Webu

SQL a XML jako alternativa ke klasickým unixovým nástrojům

Operátory ROLLUP a CUBE

XSLT extensible Stylesheet Language Transformation

Java a XML. 10/26/09 1/7 Java a XML

První kapitola úvod do problematiky

Tvorba informačních systémů

XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek.

Využití XML v DB aplikacích

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA

Knihovna QT4 a moºnosti jejího vyuºití

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

1 Webový server, instalace PHP a MySQL 13

Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D.

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Radek Krej í. NETCONF a YANG. ... pohledem v vojá e. Internet a Technologie 13.2

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

Oracle XML DB. Tomáš Nykodým

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE STRUKTURA PŘEKLADAČE

GENEROVÁNÍ KÓDU 9. SHRNUTÍ - PŘÍKLAD POSTUPU PŘEKLADU VSTUPNÍHO PROGRAMU (ZA POUŽITÍ DOSUD ZNÁMÝCH TECHNIK)

APLIKACE XML PRO INTERNET

SQL - úvod. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 6

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

1. Webový server, instalace PHP a MySQL 13

Semestrální práce z předmětu Teorie programovacích jazyků

Další XML technologie

DTP Základy programování Úvod do předmětu

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

Databázové systémy I. 1. přednáška

X36DSV 3. cvičení. XML (extensible Markup Language) JavaScript. AJAX (Asynchronous JavaScript and XML) X36DSV. 2007/10 ver.2.0 1

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Problém, jehož různé instance je třeba často řešit Tyto instance lze vyjádřit větami v jednoduchém jazyce

Z n a č k o v a c í j a z y k y. XPath, XLink, XQuery, XPointer, XLinkTime, XForms

Generování vnitřní reprezentace programu

JAVA. Další jazyky kompilovatelné do Java byte-code

Dynamicky vázané metody. Pozdní vazba, virtuální metody

SQL - trigger, Databázové modelování

Software602 Form Designer

Reaktivní programování v.net

XML

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Rozhraní pro práci s XML dokumenty. Roman Malo

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA I

PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ. Dominik Fišer, Jiří Schejbal

Microsoft Office 2003 Souhrnný technický dokument white paper

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

Konstruktory překladačů

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

NSWI096 - INTERNET JavaScript

Krajská knihovna Karlovy Vary Váš druhý domov...

Úvod do Groovy pro Java experty

Michal Krátký, Miroslav Beneš

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III

Jazyky XQuery a XPath 1

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Java/QE Akademie - Osnova

Program a životní cyklus programu

R zné algoritmy mají r znou složitost

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Úvod z historie. Kompilátory. Kompilace / Kompilátor Compile / Compiler. Pojem kompilátoru. Úvod z historie

Cvi ení 2. Cvi ení 2. Modelování systém a proces. Mgr. Lucie Kárná, PhD. March 5, 2018

DOTAZOVACÍ JAZYK PRO MPEG-7 MP7QL SÉMANTICKÉ VYHLEDÁVÁNÍ NAD MULTIMEDIÁLNÍM OBSAHEM

RDF API a SPARQL syntaxe, API, příklady. 4IZ440 Reprezentace a zpracování znalostí na WWW Josef Petrák me@jspetrak.name

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Algoritmy a datové struktury

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Modely vyhledávání informací 4 podle technologie. 1) Booleovský model. George Boole Aplikace booleovské logiky

Interpret jazyka IFJ2011

Práce se soubory opakování

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

API pro práci s XML. Jirka Kosek. Poslední modifikace: $Date: 2014/12/17 17:15:28 $ Copyright Jiří Kosek

Transkript:

Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 3.6.2010

Osnova while 1 Reprezentace programu 2 AST a Java 3 Vyhledávání v AST 4 Aplikace body if expr

Jak reprezentovat program Pro? Hello World Jak? analýza, transformace refaktorování; zdrojový kód, strom abstraktní syntaxe, abstraktní sémantický graf;

Reprezentace zdrojový kód P íklad vara = 10 if vara == 10 then print "Hello World" else print vara Výhody dostupnost, vyhledávání textových informací; Nevýhody zbyte né informace, hledání souvislostí;

Reprezentace strom abstraktní syntaxe (AST) block decl if vara 10 == then else vara 10 print str print vara Výhody výstup kompilátoru, jasná struktura; Nevýhody ne v²echny souvislosti

Reprezentace abstraktní sémantický graf (ASG) block decl if vara 10 == then else vara 10 print str print vara Nevýhody náro n j²í na sestavení Výhody podgraf stále AST, zachycuje i sémantickou stránku;

AST jazyka Java Vlastnosti p es 100 druh uzl (26 druh výraz, 22 p íkaz a dal²í), rozsáhlý (i pro malé kompila ní jednotky); Vytvo ení chybí standardní nástroj, Eclipse JDT - ASTParser (JLS 2 i 3), ANTLR + p íslu²ná gramatika;

AST jazyka Java optimalizace P íklad + int a = 1 + 2 + 3 + 4; 1 + 2 + 3 4 + 1 2 other 3 4

Vyhledávání v AST R zné p ístupy ru ní prohledávání do ²í ky/hloubky, návrhový vzor náv²t vník, specializované nástroje; Nástroje XML XPath, XML XQuery;

Návrhový vzor náv²t vník JDT Java Development Tools AST DOM, ASTNode.accept() ASTVisitor.visit() pro kaºdý typ uzlu; Výhody/nevýhody základní dotazy jednoduché na implementaci, pro kaºdý typ dotazu novou implementaci ASTVisitor;

XML nástroje Moºnosti XPath XML Path Language, XQuery XML Query Language, XSLT extensible Stylesheet Language Transformations; Problémy AST XML, implementovat DOM nad AST p evod AST DOM, dotazování transformace;

P evod AST XML DOM e²ení JRefLib knihovna v Jav p evod AST z JDT do XML DOMu zachovává vazbu na p vodní syntaktický strom Problémy mapování AST: p es 100 druh uzl XML DOM: elementy, atributy

XPath PMD P íklad //ClassOrInterfaceBodyDeclaration[ count( //VariableDeclarator[../Type/ReferenceType/ ClassOrInterfaceType[@Image='Logger'] ] ) > 1 ]

XQuery JRefactor XQuery funkcionální dotazovací jazyk pro XML nadmnoºina XPath Výhody/nevýhody adresování element pomocí XPath podoba s SQL nemá update, delete

XQuery a AST ukázka P íklad for $type in.//type let $methods := $type/methods/method[name=$methodname] where $type/name = $typename return if (count($methods) = 1) then $methods[1] else for $m in $methods where $m/@signature = $methodsignature return $m

Aplikace a dal²í rozvoj Vytvo ené knihovny a nástroje JRefLib knihovna pro p evod AST do XML DOM JRefactor prototyp refaktorovacího nástroje vyuºívající XQuery SrcToXML, RunXQ malé aplikace pro testování skript XQuery Dal²í rozvoj XQuery také transformace (update, delete) AST standard pro p evod do XML (zatím pokusy OMG)

Dotazy