Itcldoc 1.

Slides:



Advertisements
Similar presentations
XML-XSL Introduction SHIJU RAJAN SHIJU RAJAN Outline Brief Overview Brief Overview What is XML? What is XML? Well Formed XML Well Formed XML Tag Name.
Advertisements

SPECIAL TOPIC XML. Introducing XML XML (eXtensible Markup Language) ◦A language used to create structured documents XML vs HTML ◦XML is designed to transport.
1 Parsing XML sequence? We have i2xml filter (exercise) – we want xml2i also Don’t have to write XML parser, Python provides one Thus, algorithm: – Open.
Java API for XML Processing (JAXP) CSE 4/586: Distributed Systems Department of Computer Science and Engineering University at Buffalo, New York Jia Zhao.
1 Extensible Markup Language: XML HTML: widely supported protocol for formatting data XML: widely supported protocol for describing data XML is quickly.
XML(EXtensible Markup Language). XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML. XML was designed to describe.
1 Designing an XML-based Exchange Format for Harmonia Marat Boshernitsan Susan L. Graham University of California, Berkeley, USA Exchange Formats Workshop.
MC 365 – Software Engineering Presented by: John Ristuccia Shawn Posts Ndi Sampson XSLT Introduction BCi.
By: Shawn Li. OUTLINE XML Definition HTML vs. XML Advantage of XML Facts Utilization SAX Definition DOM Definition History Comparison between SAX and.
Computer Programming for Biologists Class 2 Oct 31 st, 2014 Karsten Hokamp
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
1 CIS336 Website design, implementation and management (also Semester 2 of CIS219, CIS221 and IT226) Lecture 6 XSLT (Based on Møller and Schwartzbach,
Session IV Chapter 9 – XML Schemas
Working with the XML Document Object Model ©NIITeXtensible Markup Language/Lesson 7/Slide 1 of 44 Objectives In this lesson, you will learn to: *Identify.
 2004 Prentice Hall, Inc. All rights reserved. 1 Chapter 34 - Case Study: Active Server Pages and XML Outline 34.1 Introduction 34.2 Setup and Message.
ECA 228 Internet/Intranet Design I XSLT Example. ECA 228 Internet/Intranet Design I 2 CSS Limitations cannot modify content cannot insert additional text.
Openadaptor XML Support Using openadaptor for XML processing Oleg Dulin,
Introduction of Geoprocessing Topic 7a 4/10/2007.
Softsmith Infotech XML. Softsmith Infotech XML EXtensible Markup Language XML is a markup language much like HTML Designed to carry data, not to display.
Copyright © Osmosys O S M O S Y SO S M O S Y S D e p l o y i n g E x p e r i e n c e & E x p e r t i s e™ HTML Training.
1 Introduction  Extensible Markup Language (XML) –Uses tags to describe the structure of a document –Simplifies the process of sharing information –Extensible.
Consuming eXtensible Markup Language (XML) feeds.
Introducing Python CS 4320, SPRING Lexical Structure Two aspects of Python syntax may be challenging to Java programmers Indenting ◦Indenting is.
When we create.rtf document apart from saving the actual info the tool saves additional info like start of a paragraph, bold, size of the font.. Etc. This.
What is XML? eXtensible Markup Language eXtensible Markup Language A subset of SGML (Standard Generalized Markup Language) A subset of SGML (Standard Generalized.
XML and Object Serialization. Structure of an XML Document Header Root Element Start Tags / End Tags Element Contents – Child Elements – Text – Both (mixed.
More XML XPATH, XSLT CS 431 – February 23, 2005 Carl Lagoze – Cornell University.
Python Documentation Projects Developers Day 8th International Python Conference 27 January 2000.
Introduction of Geoprocessing Lecture 9 3/24/2008.
1 Whitespace Handling Roger L. Costello XML Technologies.
7-Mar-16 Simple API XML.  SAX and DOM are standards for XML parsers-- program APIs to read and interpret XML files  DOM is a W3C standard  SAX is an.
CHAPTER NINE Accessing Data Using XML. McGraw Hill/Irwin ©2002 by The McGraw-Hill Companies, Inc. All rights reserved Introduction The eXtensible.
XML Schema – XSLT Week 8 Web site:
XML Notes taken from w3schools. What is XML? XML stands for EXtensible Markup Language. XML was designed to store and transport data. XML was designed.
XML & JSON. Background XML and JSON are to standard, textual data formats for representing arbitrary data – XML stands for “eXtensible Markup Language”
21-Jun-16 Document Object Model DOM. SAX and DOM SAX and DOM are standards for XML parsers-- program APIs to read and interpret XML files DOM is a W3C.
Itcl-ng Status. History Implementation started about 4 years ago October 2008 Itcl4.0a release December 2008 Itcl4.0b1 February 2009 Itcl4.0b2 October.
Rutger Vos and Wayne Maddison University of British Columbia
DHTML.
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
Intro to compilers Based on end of Ch. 1 and start of Ch. 2 of textbook, plus a few additional references.
Unit 4 Representing Web Data: XML
Tk Widgets in Javascript
Chapter 6 JavaScript: Introduction to Scripting
EEE 161 Applied Electromagnetics
More Sophisticated Behavior
Java XML IS
Intro to XML.
Documentation Generators
Arrays and files BIS1523 – Lecture 15.
{ XML Technologies } BY: DR. M’HAMED MATAOUI
Intro to PHP & Variables
Database Processing with XML
TCL/TK Tool Command Language/Tool Kit.
Introduction to javadoc
Perl for Bioinformatics
Chapter 7 Representing Web Data: XML
XML Parsers Overview Types of parsers Using XML parsers SAX DOM
WEB PROGRAMMING JavaScript.
The Metacircular Evaluator
Learning to Program in Python
Cmdlets “Command-lets”
EuroTcl 2009 The State of Tcl/Tk.
Introduction to javadoc
CS 240 – Advanced Programming Concepts
Compiler Lecture Note, Miscellaneous
Use Cases Simple Machine Translation (using Rainbow)
Extensible Markup Language (XML)
Presentation transcript:

Itcldoc 1

History When starting to implement ATWF I wanted to be able to do inline documentation There are some tools like tcldoc, autodoc and zdoc all do not allow to document Itcl an TclOO Idea to use itcl-ng parser for splitting up sources Found cmdSplit and parsetcl in the wiki Decision to use a modified version of cmdSplit Decision to use a tree structure for the scanned info influenced by parsetcl 2

Goal of the Tool Collect information of the contents of Tcl scripts Be able to also parse Itcl-ng and TclOO Be able to parse ensemble commands like namespace and info The original source can be generated again including indentation etc. Allow Javadoc like output as well as cross reference output 3

General Structure Use of a modfied version of cmdSplit, which preserves a lot more information like indentation, newlines, comments etc. Recursive parsing of the parameters of a command Recognition of regexp constructs and namespace parts Storing the scanned info in dicts Further scanning of the input parts using a tree structure and reorganizing tree parts in that structure 4

Scanning Details (1)‏ cmdSplit parses a script into commands with parameters cmdsplit parses parses whitespace, newlines and comments into „special“ commands Further scanning of the scanned commands 5

Scanning Details (2)‏ Further scanning using special characters as tokens second string is token name { LC } RC [ LB ] RB ( LP ) RP “ QUOTE $ DOLLAR * STAR \ BACKSLASH + PLUS - MINUS % MOD / DIV | OR & AND < LT > GT = EQUAL @ AT ? QUEST : COLON . DOT ; SEMICOLON ! BANG 6

Scanning Details (3)‏ This allows recognition of arrays, rexexp constructs etc. Transforming subtrees to different subtrees a DOLLAR node and a STRING node → VARREF node a STRING, a LP, a STRING, a RP mode → ARRAYREF node a COLON, a COLON, a STRING, a COLON, a COLON, a STRING node → NAMESPACE or ITCLCMD or TCLOOCMD node Further scanning of the scanned commands 7

Scanning Details (4)‏ Transformation is done using tdom by putting the original scanned info into a tdom tree and the manipulating the tdom tree Output for saving on file system is can be xml with the node names as xml tags additional info like the indexes as attributes for the tag names The STRING nodes are representated as text nodes in dom tree The xml output can be converted to dicts and then used as format for saving onto file system 8

Scanning Details (5)‏ The scanning is done on a per script base Every source command with the scripts creates its own scanned file May be influenced by nagelfar Cross reference can be produced by using a tree of parsed files 9

Status This project is a work in progress ATM not much activity because of other projects Possibly influenced in the future from ATWF Will be continued!‏ 10

Conclusions Work in progress Priority lower than other project of me like ATWF 11