WPSM Programming Language

14
WPSM WPSM Programming Programming Language Language A simple language that A simple language that transform transform simple data structure simple data structure into into complex complex x x ML ML f f ormat ormat Wai Y. Wong Peter Chen Seema Gupta Miqdad Mohammed

description

WPSM Programming Language. A simple language that transform simple data structure into complex x ML f ormat. W ai Y. Wong P eter Chen S eema Gupta M iqdad Mohammed. Background. Business to Business data transformation E x tensible M arkup L anguage Database schema mapping - PowerPoint PPT Presentation

Transcript of WPSM Programming Language

Page 1: WPSM  Programming Language

WPSMWPSM Programming Language Programming Language

A simple language that transformA simple language that transformsimple data structuresimple data structure

intointocomplex complex xxML ML fformatormat

Wai Y. WongPeter ChenSeema GuptaMiqdad Mohammed

Page 2: WPSM  Programming Language

BackgroundBackground

Business to Business data transformationExtensible Markup LanguageDatabase schema mappingExtensible Stylesheet Language

How does Content Manager handle this?

Page 3: WPSM  Programming Language

MotivationMotivation

Worry free from XML syntaxFocusing on dealing with the inventoryA powerful tool to handle a mass dataAn easy tool to learn

How does WPSM fulfill these objectives?

Page 4: WPSM  Programming Language

WPSM GoalsWPSM Goals

Ease of useProductivityRobustPortableInternet ability

Page 5: WPSM  Programming Language

WPSM SyntaxWPSM Syntax

WPSM takes in .xf source, .csv or other delimited, and outputs .xml

Source file read as stream of chars by Lexer and converted to stream of tokens

Stream of tokens read by Parser and converted to AST (Syntax checks)

Structure of AST in grammar (i.e root nodes and child nodes)

Token Types: Keyword, Variable, Integer, and String (i.e. BEGIN, END, PRINT(value), IF, WHILE, $1, “string”, 9, FS, RT, $var…)

Lexer and Parser errors

Page 6: WPSM  Programming Language

WPSM SemanticsWPSM Semantics

Back-End intermediate between Front-End and Library

TreeWalker performs semantic checksTwo walks of the AST

– Symbol Table– Code Generation using Library and Helper

Semantic Errors (Run-Time and Compile Time)

Page 7: WPSM  Programming Language

WPSM CompilerWPSM Compiler

“*.xf” (WPSM source program)Whole WPSM Compiler is implemented

in JavaParser, Lexer, and Tree-walker are

generated by ANTLRTarget language => Java source code

Page 8: WPSM  Programming Language

WPSM CompilerWPSM Compiler

Page 9: WPSM  Programming Language

WPSM LibraryWPSM Library

Simplify WPSM Code GenerationSimplify WPSM SyntaxAllows for Reusability of methodsReduces output codeMakes Upgrades EasierBreaks up Compiler and WPSM

Features to allow for easier debugging

Page 10: WPSM  Programming Language

WPSM SystemWPSM System

Page 11: WPSM  Programming Language

WPSM TestingWPSM Testing

Source File TestingSyntax TestingDependency CheckingFeature TestingRelease Control

Page 12: WPSM  Programming Language

WPSM Example – Data WPSM Example – Data XML XML

Page 13: WPSM  Programming Language

WPSM Example - .xf FileWPSM Example - .xf File

Page 14: WPSM  Programming Language

ConclusionConclusion

Great team workTAs’ and professor’s supportStrugglesShort time VS perfectionQuestions, Comments, or SuggestionsThanks…