Polynomial Manipulation Language

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Overview of programming in C C is a fast, efficient, flexible programming language Paradigm: C is procedural (like Fortran, Pascal), not object oriented.
08/2012Tanya Mishra1 EASYC for VEX Cortex Llano Estacado RoboRaiders FRC Team 1817.
Programming Languages and Paradigms The C Programming Language.
1 pritisajja.info Unlocking the World of Java Programming….. Priti Srinivas Sajja February, 2014 Visit pritisajja.info for detail Future Technology for.
Chapter 2: Modularization
Chapter 7: User-Defined Functions II
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
Expression Evaluation, Scope, Parameter Passing, Data Organization, Program Control, Binding By Ramon Quiusky CS 490 Fall 2003.
COMP 14 Introduction to Programming Miguel A. Otaduy May 25, 2004.
1 Modularity In “C”. 2 What is Modularity?  Modularity, is the heart of the high level, structured languages.  Means breaking down a big problem into.
COMP 14 Introduction to Programming Mr. Joshua Stough February 28, 2005 Monday/Wednesday 11:00-12:15 Peabody Hall 218.
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To understand the structure of a C-language program. ❏ To write your first C.
Introduction to Methods
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
EG280 - CS for Engineers Chapter 2, Introduction to C Part I Topics: Program structure Constants and variables Assignment Statements Standard input and.
MATLAB Tutorials Session I Introduction to MATLAB Rajeev Madazhy Dept of Mechanical Engineering LSU.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Sharda University P. K. Mishra (Asst.Prof) Department of Computer Science & Technology Subject Name: Programming Using C Sub Code: CSE-106 Programming.
1 INTRODUCTION TO PROBLEM SOLVING AND PROGRAMMING.
PHP Logic. Review: Variables Variables: a symbol or name that stands for a value – Data types ( Similar to C++ or Java): Int, Float, Boolean, String,
CECS 121 Test 1. Functions allow you to group program statements under one name C and C++ are case-sensitive so main(), MAIN(), and Main() are all different.
Group 4 Java Compiler Group Members: Atul Singh(Y6127) Manish Agrawal(Y6241) Mayank Sachan(Y6253) Sudeept Sinha(Y6483)
Chapter 7 Selection Dept of Computer Engineering Khon Kaen University.
CSCI 171 Presentation 6 Functions and Variable Scope.
Lecture 10: Modular Programming (functions) B Burlingame 13 April 2015.
Variables and Constants Objectives F To understand Identifiers, Variables, and Constants.
Chapter 3 Functions. 2 Overview u 3.2 Using C++ functions  Passing arguments  Header files & libraries u Writing C++ functions  Prototype  Definition.
1 Chapter 3: Loops and Logic. 2 Control Statements If statement Example NumberCheck.java Relational operators (, >=, ==, !=) Using code blocks with If.
David LOU – Project Manager Markus SCHANTA – Language Guru Long CHEN – System Architect Xiaolong JIANG – System Integrator Jingbo YANG – Tester & Validator.
Functions Chapter 6. Modular Programming Modular programming: breaking a program up into smaller, manageable functions or modules Function: a collection.
General Computer Science for Engineers CISC 106 Lecture 12 James Atlas Computer and Information Sciences 08/03/2009.
Chapter 1 Java Programming Review. Introduction Java is platform-independent, meaning that you can write a program once and run it anywhere. Java programs.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
Java Basics. Tokens: 1.Keywords int test12 = 10, i; int TEst12 = 20; Int keyword is used to declare integer variables All Key words are lower case java.
APS105 Functions (and Pointers) 1. Modularity –Break a program into manageable parts (modules) –Modules interoperate with each other Benefits of modularity:
Bhagyashree Bohra Deepti Jindal Shringika Porwal
Introduction to Programming
Information and Computer Sciences University of Hawaii, Manoa
CIS3931 – Intro to JAVA Lecture Note Set 2 17-May-05.
Computer Science 210 Computer Organization
BASIC ELEMENTS OF A COMPUTER PROGRAM
CSC 221: Computer Programming I Spring 2010
Loops in Java.
CSC 221: Computer Programming I Fall 2005
Programming Languages and Paradigms
C Short Overview Lembit Jürimägi.
Programming Paradigms
CS1010 Programming Methodology
Introduction to C Programming Language
CS1010 Programming Methodology
11/10/2018.
Computer Science 210 Computer Organization
Starting JavaProgramming
Introduction to Programming
Chapter 14 - Advanced C Topics
Chapter 6 Methods: A Deeper Look
An Introduction to Java – Part I, language basics
CS 1428 Final Exam Review.
Topics Introduction to Functions Defining and Calling a Void Function
C Programming Getting started Variables Basic C operators Conditionals
Review for Final Exam.
Fundamental Programming
C – Programming Language
Programming Languages and Paradigms
Comparing Python and Java
CSC1401 Manipulating Pictures 2
An Overview of C.
C Language B. DHIVYA 17PCA140 II MCA.
Storage Classes.
Presentation transcript:

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

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

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

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

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

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

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

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.

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()

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

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

PML Example

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

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

Thanks for Your Attention! Any Questions?