Presentation is loading. Please wait.

Presentation is loading. Please wait.

Polynomial Manipulation Language

Similar presentations


Presentation on theme: "Polynomial Manipulation Language"— Presentation transcript:

1 Polynomial Manipulation Language
COMS4115 PLT Project Presentation December 9, 2003 Team Members: Melinda Agyekum, Shezan Baig, Hari Kurup, Subadhra Sridharan

2 Presentation Overview
Introduction Background The PML Language Language Features Functions & Capabilities Architecture Design Testing Conclusion Future Work Team Experience Questions & Answers

3 Background on Polynomials
What is A Polynomial? Mathematical expression written as the sum of products of numbers and variables Practical Applications Missile trajectory Effectiveness of a Drug Weather Forecasting

4 Introduction to PML What is PML? Benefits of PML?
Symbolic Polynomial Manipulation Language Benefits of PML? Provides Flexible Manipulation of Polynomials Algorithmic Customization Applicable in a Variety of Fields

5 Introduction to PML Parts of a Polynomial Coefficient  Int or Float
Ex. 4, 4.3, -100, 14.23, -24.5 Variable  Character ( Single or Multiple ) Upper Case Representation Ex. X, XY, RST, V Degree  Variable Raised to a Power Ex. X^2, T^4Y^3

6 Introduction to PML Term  Any Combination of
Coefficient , Variable, Degree Ex. 3X, 4^3Y, XY, 3, -4X^3 Polynomial  Sum of Terms Ex. 3X+ Y, 5Y^3-4Z, 3Z, -4X^3

7 PML Data Types Int, Float, Char, Term, Poly TemrArray CharArray
An array which contains the terms of a polynomial CharArray Stores all variables of a multivariate polynomial Identifiers All variable represented in lower case

8 Language Features Arrays Loops & Breaks: termarray and chararray
Grows and shrinks dynamically. No 'new' or 'malloc' required. length() --> returns array length Loops & Breaks: 'while' and 'do-while' loops are supported Body must be enclosed within a begin-end block 'break' statement to jump out of a loop.

9 Language Features Functions Begins with the keyword 'func'
func <return type> foo ( poly p ) Body enclosed within 'begin – end ' block. Can be overloaded No prototyping required A 'main' function is necessary In-built Functions Ex. degree(), coeff(), polyterm()

10 Language Features Modularity Scope
Program can consist of multiple files One file must contain 'main()' Re-usability Scope Global Local External Scope

11 Architecture Source Code PMLRuntimeEnvironment Lexer (PML.g)
PMLCompilationUnit PMLFunction PMLVariable PMLStatement PMLExpression PMLMath Lexer (PML.g) Parser (PML.g) Walker (PMLWalker.g) Executer (Java Classes) - prints output

12 PML Example

13 Testing Unit Testing Integrated Testing Regression Testing
Test for parser, walker, backend classes Integrated Testing Test complete flow once integrated Regression Testing Make sure new features don't introduce bugs

14 Conclusion Future Work Team Experience Implementing
Logarithms, Trigonometric Functions, Polynomial Division with Symbolic Math Team Experience Effective Communication Set Early Deadlines and Incremental Goals Parallel Work and Division of Labor CVS Repository

15 Thanks for Your Attention!
Any Questions?


Download ppt "Polynomial Manipulation Language"

Similar presentations


Ads by Google