HP48 Simulator for Windows CE Roman Barsky Alon Nozic Supervisor: Alexander Arlievsky.

Slides:



Advertisements
Similar presentations
1 Week 2 Questions / Concerns Schedule this week: Homework1 & Lab1a due at midnight on Friday. Sherry will be in Klamath Falls on Friday Lexical Analyzer.
Advertisements

Software & Services Group, Developer Products Division Copyright© 2010, Intel Corporation. All rights reserved. *Other brands and names are the property.
報告者:會計四 簡思佳 The process of converting a program written in a high-level language into a machine-executable form. language implementation Ex.C++
Translator Architecture Code Generator ParserTokenizer string of characters (source code) string of tokens abstract program string of integers (object.
Stacks - 3 Nour El-Kadri CSI Evaluating arithmetic expressions Stack-based algorithms are used for syntactical analysis (parsing). For example.
Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
CPSC Compiler Tutorial 9 Review of Compiler.
Lexing & Parsing (the intro version). What you have Input is string (via JTextField.getText() ) “(Lane OR Brown) AND (CS351 OR Java)” Useful to transform.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, Java Version, Third Edition.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Third & Fourth Edition Spring 2008:
1 Lab Session-IV CSIT-120 Spring 2001 Lab 3 Revision and Exercises Rev: Precedence Rules Lab Exercise 4-A Machine Language Programming The “Micro” Machine.
SICP Interpretation part 1 Parts of an interpreter Arithmetic calculator Names Conditionals and if Store procedures in the environment.
Compiler Summary Mooly Sagiv html://
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Third Edition.
Outline Chapter 1 Hardware, Software, Programming, Web surfing, … Chapter Goals –Describe the layers of a computer system –Describe the concept.
DEVIL Device configuration language By Boklyn Wong Pranay Tigga Vishal Kumar Singh.
Building An Interpreter After having done all of the analysis, it’s possible to run the program directly rather than compile it … and it may be worth it.
C Programming. Chapter – 1 Introduction Study Book for one month – 25% Learning rate Use Compiler for one month – 60%
Class 3 Programming in Visual Basic. Class Objectives Learn about input/output Learn about strings Learn about subroutines Learn about arrays Learn about.
Copyright © 2002 W. A. Tucker1 Chapter 7 Lecture Notes Bill Tucker Austin Community College COSC 1315.
AN IMPLEMENTATION OF A REGULAR EXPRESSION PARSER
Lexical Analysis - An Introduction. The Front End The purpose of the front end is to deal with the input language Perform a membership test: code  source.
Concordia University Department of Computer Science and Software Engineering Click to edit Master title style COMPILER DESIGN Review Joey Paquet,
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Introduction to Scheme Lectures on The Scheme Programming Language, 2 nd Ed. R. Kent Dybvig.
Joey Paquet, Lecture 12 Review. Joey Paquet, Course Review Compiler architecture –Lexical analysis, syntactic analysis, semantic.
Lecture #5 Introduction to C++
COP 4620 / 5625 Programming Language Translation / Compiler Writing Fall 2003 Lecture 3, 09/11/2003 Prof. Roy Levow.
Group 4 Java Compiler Group Members: Atul Singh(Y6127) Manish Agrawal(Y6241) Mayank Sachan(Y6253) Sudeept Sinha(Y6483)
CPS 506 Comparative Programming Languages Syntax Specification.
Overview of Previous Lesson(s) Over View  A program must be translated into a form in which it can be executed by a computer.  The software systems.
Chapter 1 Introduction Study Goals: Master: the phases of a compiler Understand: what is a compiler Know: interpreter,compiler structure.
VARIABLES, CONSTANTS, OPERATORS ANS EXPRESSION
Introduction CPSC 388 Ellen Walker Hiram College.
8-1 Compilers Compiler A program that translates a high-level language program into machine code High-level languages provide a richer set of instructions.
Syntax (2).
1 Introduction  Algorithms  Data structures  Abstract data types  Programming with lists and sets © 2008 David A Watt, University of Glasgow Algorithms.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. C H A P T E R T W O Syntax.
C H A P T E R T W O Linking Syntax And Semantics Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Compiler Construction CPCS302 Dr. Manal Abdulaziz.
CS412/413 Introduction to Compilers Radu Rugina Lecture 11: Symbol Tables 13 Feb 02.
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.
Overview of Compilation Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Principles Lecture 2.
Chapter 4: Variables, Constants, and Arithmetic Operators Introduction to Programming with C++ Fourth Edition.
Chapter 2: A Simple One Pass Compiler
Chapter 1 Introduction Samuel College of Computer Science & Technology Harbin Engineering University.
Windows Programming Environments
Invitation to Computer Science, C++ Version, Fourth Edition
Introduction to the C Language
Welcome to Visual Programming using C#
Programming Languages Translator
Introduction to Advanced Topics Chapter 1 Text Book: Advanced compiler Design implementation By Steven S Muchnick (Elsevier)
Avraham Leff James T. Rayfield IBM T.J. Watson Research Center
MatLab Programming By Kishan Kathiriya.
Data Structures Mohammed Thajeel To the second year students
Invitation to Computer Science, Java Version, Third Edition
Unit# 8: Introduction to Computer Programming
Basic Program Analysis: AST
Lexical and Syntax Analysis
Introduction to Programming
CSE401 Introduction to Compiler Construction
C H A P T E R T W O Syntax.
Designing a Predictive Parser
Knowledge Editor - Knowledge.NET
Von Neumann Architecture
6.001 SICP Interpretation Parts of an interpreter
MINITAB CHAPTER 3 Manipulating and Calculating Data Paul Johnson.
Understanding Binary Numbers.
PYTHON - VARIABLES AND OPERATORS
Presentation transcript:

HP48 Simulator for Windows CE Roman Barsky Alon Nozic Supervisor: Alexander Arlievsky

Introduction HP 48 is a powerful scientific calculator, which is widely used by engineers, students and scientists The project goal is to build a working model of the calculator, the Simulator, for the Embedded devices

Supported Features (1) Basic arithmetic operations. Trigonometric functions. The full set of hyperbolic functions. Logarithmic and power functions. Various data types: –Double –Integer (limited usage) –Complex (limited set of operations) –String –Algebraic expression –Program

Supported Features (2) Advanced stack architecture. Working with algebraic expressions. Possibility to define and store objects of all the types. Programming features: –Block structure –If structures –Loop structures

Example The Simulator at work

Working on the Project Paradigms and Techniques

Project Planning The whole project was divided into two parts: “analytic” and “GUI” Each part, in turn, consists of sub- projects

Calc Sub-project The tokenizer (built using FLEX lexical analyzer) Recursive descent parser 2 look-up tables Main stack implementation Mathematical functions implementation

CE_STD Sub-project Partially replaces the Standard Template Library, which lacks in Visual Studio for Windows CE Deque String Streams Map more…

Characters Sub-project The symbols are converted from one- byte representation to wide char and vice-versa. Commonly used in the Simulator.

Calculator Sub-project Editor Screen abstraction Keyboard layer Thread management Initialization and shutting down GUI

The End Any questions?