Sumatra Basics. Ing. Petr Aubrecht
|
|
- Rosamund Nicholson
- 5 years ago
- Views:
Transcription
1 Sumatra Basics Ing. Petr Aubrecht 12/4/2000
2 Abstract The main aim of this report is to describe basics of our empty language, Sumatra. Sumatra was initially developed for data transformation, depending on metadata information. We followed the possibility of expansion of a language in future, the easy, well-known grammar and natural use of project-dependent objects or functions. Keeping these goals in view we developed language similar to C (or Java). It has all common statements like cycles, conditional and compound statements. The core is programmed to be independent on compiler or system. The extensibility is achieved by so-called template files, which are designed for simple forming new objects and functions.
3 Contents 1 History 3 2 Implementation of Sumatra Definitions Features of Sumatra Language Variables Functions Objects Statements Structures Compound Statement Assignment Increment, Decrement Conditional Statement Cycles for while do break, continue exit Basic Types int double string datetime Basic Functions User Defined Types
4 4 Working Implementations PumpSumatra ASTSumatra Conclusion 14 2
5 Chapter 1 History During work on GOAL 1 project was created metadata repository, called AST. In this repository metadata of data sources are stored. These metadata are intended to serve for data transformation between different sources. At the moment metadata repository became able to embed structures of data sources (metadata) and access these sources, the language for data transformations became necessary. There were several possibilities: simple mapping is the simplest way. Means mapping one field to another, copying its value. Doesn t allow merge several fields into one. expressions are able to successfully solve mapping one line from one source to one line in other source. In order to implement expressions consisting from several source, there should be also integral references defined, a way of manipulating rows in non-dependent sources etc. interpreted language is a very powerful way. In programming language there is possible write any operation with more sources. The only trouble is a more complexity of a such program (opening sources, handling errors). We decided to choose this solution and we developed Sumatra. compiler is the fastest running solution. But it is highly dependent on hardware and operating system, aside from complex implementation. 1 INCO COPERNICUS GOAL (Geographical Information On-Line Analysis), see the Acknowledgment 3
6 During design phase we conclude the first two options are too restrictive. They don t allow us to describe more complex transformation than 1 line to 1 line. We decided to build up a interpreter for imperative 2 language. Its grammar was inspired by C and Java (from which the name is derived). During the Sumatra development the idea of the language have been generalized. We changed the idea of transformation language to a empty language. Empty means it has only several basic types and a set of application defined. Sumatra is intended to be used inside other applications enabling controlling of this application by scripts. The idea is shown at the figure 1.1. Script Application Script language 3 Internal objects Figure 1.1: Application with a scripting language The advantage of a chosen solution is in wide usability. Sumatra can be embedded generally into any application. We tried this approach in several Sumatra implementations and we developed a set of template files, intended for speeding up implementation of user defined objects. Using of metadata is shown in chapter Working Implementations. Today, a set of functions and objects is under development and are prepared to be reused in other implementations. 2 imperative language means directed by statements, ex. C++, Pascal, (in contrast to declarative languages like Prolog or Lisp) 4
7 Chapter 2 Implementation of Sumatra 2.1 Definitions The most important term in this context is implementation of Sumatra. It means a new version of Sumatra with user (implementor, application) defined types. Sumatra comes with a set of native types and implementation extend them with new ones, possibly with new functions. Better description is given in [1]. One of used terms in language part is overcast. Overcast means changing type of some expression to other one. For example, all numbers in Sumatra source is recognized as double type. Thus in int i=1;, there is double type (number 1) changed to int. 5
8 Chapter 3 Features of Sumatra Language Sumatra is inspired by C++ and Java languages. Therefore statements are written in the same fashion. Each statement is followed by a semicolon (;). Sumatra is case sensitive, i.e. for and For are two different terms. In Sumatra, there is a set of statements, described later. They all use only small letters (for,if). Comments are of two types. First type is block, having the beginning marked by /* and ended by */. The other type is so called line comment. It starts with // and ends with the end of line. Spaces, tabulators, new line characters and comments can be freely used. They only may not divide one term (e.g. name of variable or statement). Because Sumatra is intended to be a scripting languages, it doesn t support functions so far. 3.1 Variables Variables are determined by their name and has a type. Variables are defined by type name followed by a list of variables and terminated by s semicolon: int var1,var2; Variables can be set up during definition. An expression can be assigned to the variable writing a equal mark and the expression: int i=0; int one=1,two=one+1,three=one+two,four=two*two; 6
9 3.2 Functions A functions are called by their name and a set of arguments. Every function has a list of arguments (possibly empty) and their type, so every expression has to have an appropriate type. Message("hello"); 3.3 Objects A term object is here user for data type. Each type in Sumatra is an object. Objects can have data members and methods, accessible by a dot convention: datetime today; today.day = 1; today.addday(1); Objects can have in addition operators, mostly mathematical or string operations: string left="l",right="r"; Message(left+right); 3.4 Statements Structures 3.5 Compound Statement A set of statements can be grouped into one using braces: { } Message("hello world!"); exit; Compound statements are necessary in conditional statements and cycles at the place of one allowed statement. 7
10 3.6 Assignment Assignment consists from two parts delimited by equal mark. On the left side, there have to be an object able to accept value, most usually variables: i=1; On the right side there can be expression of an appropriate type the same type as on the left side. The only exception is if there exists a default overcast. Information about default overcasts can be obtained from a documentation of the concrete implementation. Basically, there are defined overcasts between int and double Increment, Decrement A special forms of assignment are increment and decrement. Increment is written using ++ and decrement using --. i++; y--; 3.7 Conditional Statement Conditional statement executes two different statements depending on a result of a condition. if(today="friday") Message("Have a nice weekend!"); else Message("Continue working!"); The else part is optional: if(today="friday") Message("Have a nice weekend!"); 8
11 3.8 Cycles A very important matter of each language are cycles. Sumatra implements all common types of cycles a fixed count cycle, a cycle with a condition on the beginning and one with condition at the end. In addition, Sumatra designs foreach cycle intended for simple usage of data source. All cycles use a condition. The type of the condition is int and becomes true if the expression is different from zero for A for cycle has four parts. First three parts are used for controlling of the cycle and the fourth is a command repeatedly executed. First part is executed once at the beginning, the second part a condition for cycling (i.e. a cycle stops when the condition becomes false), and the third part is executed every cycle. The most common usage is: for(i=0;i<10;i++) Message(IntToStr(i)); while A while cycle has a condition at the beginning: int i=0,start=clock(); while(clock()-start<1000) i++; do A do cycle has a condition at the end: int i=0,start=clock(); do() { Message("Wait and then press OK"); } while(clock()-start<1000); 9
12 3.8.4 break, continue The statements break and continue can be used only in body of cycle (using them out of cycle is a grammar error). break stops executing a cycle and continues with the next statement. In the example the first occurrence of a character is reported: for(i=0;i<str.len();i++) { if(str.get="a") { Message(" a has been found!"); break; } } continue stops executing the current (usually compound) command and continues executing the cycle. The example leaves all occurrences of a and replaces all others by b. for(i=0;i<str.len();i++) { if(str.get(i)="a") continue; str.set(i,"b"); } 3.9 exit There is a statement used for immediate termination of whole script, usually as a reaction to errorneous state. if(ok!=1) { Message("Error!"); exit; } 10
13 3.10 Basic Types The core of Sumatra provides several basic types. These types aren t necessary (can be defined differently), but these types are general and usually need no changes. Numeric basic types (int and double) follows C++ equivalents. Type string is derived from STL library. Type datetime uses our original code for date time processing. A definitions of int, double, and string are required. These types are used by core. A description of each with explanation follows. Implementation of basic types simplifies start of new implementations. It can include only one user defined type or function (usually Message for testing of running Sumatra) and run simple Sumatra scripts int Type int uses C++ int in background. Its size in bits depends on compiler used for compiling of Sumatra core. For this type are defined usual mathematical operations. Most Sumatra statements uses condition, which is of type int double Type double is similar to int. Both types have default overcasts for mutual conversions. All numbers found in Sumatra core are recognized as double string Type string is intended for simplified manipulation with strings. Strings can be simply merged, there is access to individual characters (as ints). In Sumatra scripts strings are written using " characters at the beginning and end. 11
14 In strings are often used control character, mostly END-OF-LINE. These characters are written as backslash (\) and a specification character: \\ means \ itself \n is a carriage return character (ASCII code 13) \r is a line feed character (ASCII code 10) \t is a tabulator character \ is a double quote character (not an end of string) datetime Date and time are very hard to handle, especially together. Therefore Sumatra dispose of a such type for simple work with time complexly. This type offers mathematical operations (sum and difference), comparisons, formatting, day in week, week number, adding days and other features. A datetime type is intended for simplified database data handling, where the date/time fields are often hard to manipulate Basic Functions In Sumatra there is a set of help functions. A pair of functions IntToStr and StrToInt are designed to transform between int and string types. Conversion of double is a bit richer. It uses a FormatNumber function with a possibility to add a format string. During execution this string is inserted between % and lf in C function sprintf. This allows normal C formatting. There is a function returning the current date and time Now() User Defined Types Each implementation of Sumatra has to add its own types and/or functions. At least, a Message(string) is desired for comfortable work. 12
15 Chapter 4 Working Implementations There are two exemplary implementation used for Sumatra capability demonstration. 4.1 PumpSumatra A PumpSumatra implementation has included objects copying database objects from Borland C++ Builder 5. These objects are TDatabase, TQuery and TField. Sumatra objects have the most important data members and methods from the Borland s ones. With this implementation a transformation of data from A2 application of a GOAL project ([2]) has been done. 4.2 ASTSumatra On demand of a GOAL project there is a need of utilization of metadata stored in metadata repository (AST tree). The metadata repository provides both metadata (description of data structure) and data access. This feature is used in ASTSumatra for source independent data processing. Once data are described in metadata repository, ASTSumatra can create a data object and access it abstractedly from its type. 13
16 Chapter 5 Conclusion The state of the art of Sumatra development is satisfactory. It is able to quickly create a proxy (controlled by script in Sumatra) objects and control the native objects (application s ones). Language capabilities are sufficient for transformation. There are two points to improve: foreach cycle and functions. 14
17 Acknowledgment The research of Sumatra has been carried out under the support of the INCO COPERNICUS GOAL (Geographical Information On-Line Analysis) and under the support of the supporting grant of MSMT CR OK
18 Bibliography [1] Petr Aubrecht. Tutorial of Sumatra Embedding. Technical report GL 101/00 1, Czech Technical University, Department of Cybernetics, Technická 2, Prague 6, October [2] Kouba Z. Miksovsky P. Application a2 specification. Technical report TR11, INCO COPERNICUS GOAL, Czech Technical University, Department of Cybernetics, Technická 2, Prague 6,
Maciej Sobieraj. Lecture 1
Maciej Sobieraj Lecture 1 Outline 1. Introduction to computer programming 2. Advanced flow control and data aggregates Your first program First we need to define our expectations for the program. They
More informationUNIT I Programming Language Syntax and semantics. Kainjan Sanghavi
UNIT I Programming Language Syntax and semantics B y Kainjan Sanghavi Contents Bird s eye view of programming language concepts Syntax Semantics Pragmatics Programming Language Concepts A programming language
More informationThe PCAT Programming Language Reference Manual
The PCAT Programming Language Reference Manual Andrew Tolmach and Jingke Li Dept. of Computer Science Portland State University September 27, 1995 (revised October 15, 2002) 1 Introduction The PCAT language
More informationSequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;
Control Statements Control Statements All programs could be written in terms of only one of three control structures: Sequence Structure Selection Structure Repetition Structure Sequence structure The
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Java basics: Compilation vs Interpretation Program structure Statements Values Variables Types Operators and Expressions
More informationKey Differences Between Python and Java
Python Python supports many (but not all) aspects of object-oriented programming; but it is possible to write a Python program without making any use of OO concepts. Python is designed to be used interpretively.
More informationIPCoreL. Phillip Duane Douglas, Jr. 11/3/2010
IPCoreL Programming Language Reference Manual Phillip Duane Douglas, Jr. 11/3/2010 The IPCoreL Programming Language Reference Manual provides concise information about the grammar, syntax, semantics, and
More informationCS313D: ADVANCED PROGRAMMING LANGUAGE
CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 2 : C# Language Basics Lecture Contents 2 The C# language First program Variables and constants Input/output Expressions and casting
More informationRTL Reference 1. JVM. 2. Lexical Conventions
RTL Reference 1. JVM Record Transformation Language (RTL) runs on the JVM. Runtime support for operations on data types are all implemented in Java. This constrains the data types to be compatible to Java's
More informationObject oriented programming. Instructor: Masoud Asghari Web page: Ch: 3
Object oriented programming Instructor: Masoud Asghari Web page: http://www.masses.ir/lectures/oops2017sut Ch: 3 1 In this slide We follow: https://docs.oracle.com/javase/tutorial/index.html Trail: Learning
More informationProfessor Peter Cheung EEE, Imperial College
1/1 1/2 Professor Peter Cheung EEE, Imperial College In this lecture, we take an overview of the course, and briefly review the programming language. The rough guide is not very complete. You should use
More informationAN OVERVIEW OF C, PART 3. CSE 130: Introduction to Programming in C Stony Brook University
AN OVERVIEW OF C, PART 3 CSE 130: Introduction to Programming in C Stony Brook University FANCIER OUTPUT FORMATTING Recall that you can insert a text field width value into a printf() format specifier:
More information1 Lexical Considerations
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2013 Handout Decaf Language Thursday, Feb 7 The project for the course is to write a compiler
More informationINFS 2150 Introduction to Web Development and e-commerce Technology. Programming with JavaScript
INFS 2150 Introduction to Web Development and e-commerce Technology Programming with JavaScript 1 Objectives JavaScript client-side programming Example of a JavaScript program The element
More informationObjectives. Introduction to JavaScript. Introduction to JavaScript INFS Peter Y. Wu, RMU 1
Objectives INFS 2150 Introduction to Web Development and e-commerce Technology Programming with JavaScript JavaScript client-side programming Example of a JavaScript program The element
More informationThe Warhol Language Reference Manual
The Warhol Language Reference Manual Martina Atabong maa2247 Charvinia Neblett cdn2118 Samuel Nnodim son2105 Catherine Wes ciw2109 Sarina Xie sx2166 Introduction Warhol is a functional and imperative programming
More informationcis20.1 design and implementation of software applications I fall 2007 lecture # I.2 topics: introduction to java, part 1
topics: introduction to java, part 1 cis20.1 design and implementation of software applications I fall 2007 lecture # I.2 cis20.1-fall2007-sklar-leci.2 1 Java. Java is an object-oriented language: it is
More informationLecture 12. PHP. cp476 PHP
Lecture 12. PHP 1. Origins of PHP 2. Overview of PHP 3. General Syntactic Characteristics 4. Primitives, Operations, and Expressions 5. Control Statements 6. Arrays 7. User-Defined Functions 8. Objects
More informationCrayon (.cry) Language Reference Manual. Naman Agrawal (na2603) Vaidehi Dalmia (vd2302) Ganesh Ravichandran (gr2483) David Smart (ds3361)
Crayon (.cry) Language Reference Manual Naman Agrawal (na2603) Vaidehi Dalmia (vd2302) Ganesh Ravichandran (gr2483) David Smart (ds3361) 1 Lexical Elements 1.1 Identifiers Identifiers are strings used
More informationLexical Analysis. Lexical analysis is the first phase of compilation: The file is converted from ASCII to tokens. It must be fast!
Lexical Analysis Lexical analysis is the first phase of compilation: The file is converted from ASCII to tokens. It must be fast! Compiler Passes Analysis of input program (front-end) character stream
More information2 nd Week Lecture Notes
2 nd Week Lecture Notes Scope of variables All the variables that we intend to use in a program must have been declared with its type specifier in an earlier point in the code, like we did in the previous
More informationWorking with JavaScript
Working with JavaScript Creating a Programmable Web Page for North Pole Novelties 1 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page 2 Objectives
More informationContents. Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual
Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual Contents 1 Introduction...2 2 Lexical Conventions...2 3 Types...3 4 Syntax...3 5 Expressions...4 6 Declarations...8 7 Statements...9
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
9/5/6 CS Introduction to Computing II Wayne Snyder Department Boston University Today: Arrays (D and D) Methods Program structure Fields vs local variables Next time: Program structure continued: Classes
More informationComputer Programming I - Unit 5 Lecture page 1 of 14
page 1 of 14 I. The while Statement while, for, do Loops Note: Loop - a control structure that causes a sequence of statement(s) to be executed repeatedly. The while statement is one of three looping statements
More informationDiscussion 1H Notes (Week 3, April 14) TA: Brian Choi Section Webpage:
Discussion 1H Notes (Week 3, April 14) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 More on Arithmetic Expressions The following two are equivalent:! x = x + 5;
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Java expressions and operators concluded Java Statements: Conditionals: if/then, if/then/else Loops: while, for Next
More informationChapter 2: Functions and Control Structures
Chapter 2: Functions and Control Structures TRUE/FALSE 1. A function definition contains the lines of code that make up a function. T PTS: 1 REF: 75 2. Functions are placed within parentheses that follow
More informationVENTURE. Section 1. Lexical Elements. 1.1 Identifiers. 1.2 Keywords. 1.3 Literals
VENTURE COMS 4115 - Language Reference Manual Zach Adler (zpa2001), Ben Carlin (bc2620), Naina Sahrawat (ns3001), James Sands (js4597) Section 1. Lexical Elements 1.1 Identifiers An identifier in VENTURE
More informationTail Calls. CMSC 330: Organization of Programming Languages. Tail Recursion. Tail Recursion (cont d) Names and Binding. Tail Recursion (cont d)
CMSC 330: Organization of Programming Languages Tail Calls A tail call is a function call that is the last thing a function does before it returns let add x y = x + y let f z = add z z (* tail call *)
More informationIntro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming
Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals
More informationUsing EnScript to Make Your Life Easier Session 1. Suzanne Widup, James Habben, Bill Taroli
Using EnScript to Make Your Life Easier Session 1 Suzanne Widup, James Habben, Bill Taroli 1 Master Title Session 1 Getting Started with EnScript 2 EnScript Basics To Begin With EnScript is similar to
More informationUEE1302 (1102) F10: Introduction to Computers and Programming
Computational Intelligence on Automation Lab @ NCTU Learning Objectives UEE1302 (1102) F10: Introduction to Computers and Programming Programming Lecture 00 Programming by Example Introduction to C++ Origins,
More informationThe SPL Programming Language Reference Manual
The SPL Programming Language Reference Manual Leonidas Fegaras University of Texas at Arlington Arlington, TX 76019 fegaras@cse.uta.edu February 27, 2018 1 Introduction The SPL language is a Small Programming
More informationC OVERVIEW. C Overview. Goals speed portability allow access to features of the architecture speed
C Overview C OVERVIEW Goals speed portability allow access to features of the architecture speed C fast executables allows high-level structure without losing access to machine features many popular languages
More informationCS1622. Semantic Analysis. The Compiler So Far. Lecture 15 Semantic Analysis. How to build symbol tables How to use them to find
CS1622 Lecture 15 Semantic Analysis CS 1622 Lecture 15 1 Semantic Analysis How to build symbol tables How to use them to find multiply-declared and undeclared variables. How to perform type checking CS
More informationBIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic
BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines
More informationegrapher Language Reference Manual
egrapher Language Reference Manual Long Long: ll3078@columbia.edu Xinli Jia: xj2191@columbia.edu Jiefu Ying: jy2799@columbia.edu Linnan Wang: lw2645@columbia.edu Darren Chen: dsc2155@columbia.edu 1. Introduction
More informationLab 03 - x86-64: atoi
CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb
More informationAn overview of Java, Data types and variables
An overview of Java, Data types and variables Lecture 2 from (UNIT IV) Prepared by Mrs. K.M. Sanghavi 1 2 Hello World // HelloWorld.java: Hello World program import java.lang.*; class HelloWorld { public
More informationFunctions. Lecture 6 COP 3014 Spring February 11, 2018
Functions Lecture 6 COP 3014 Spring 2018 February 11, 2018 Functions A function is a reusable portion of a program, sometimes called a procedure or subroutine. Like a mini-program (or subprogram) in its
More informationLexical Considerations
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2010 Handout Decaf Language Tuesday, Feb 2 The project for the course is to write a compiler
More information3 The Building Blocks: Data Types, Literals, and Variables
chapter 3 The Building Blocks: Data Types, Literals, and Variables 3.1 Data Types A program can do many things, including calculations, sorting names, preparing phone lists, displaying images, validating
More informationA A B U n i v e r s i t y
A A B U n i v e r s i t y Faculty of Computer Sciences O b j e c t O r i e n t e d P r o g r a m m i n g Week 4: Introduction to Classes and Objects Asst. Prof. Dr. M entor Hamiti mentor.hamiti@universitetiaab.com
More informationLanguage Reference Manual simplicity
Language Reference Manual simplicity Course: COMS S4115 Professor: Dr. Stephen Edwards TA: Graham Gobieski Date: July 20, 2016 Group members Rui Gu rg2970 Adam Hadar anh2130 Zachary Moffitt znm2104 Suzanna
More informationCS111: PROGRAMMING LANGUAGE II
CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A
More informationUNIT - I. Introduction to C Programming. BY A. Vijay Bharath
UNIT - I Introduction to C Programming Introduction to C C was originally developed in the year 1970s by Dennis Ritchie at Bell Laboratories, Inc. C is a general-purpose programming language. It has been
More informationControl Structures. Code can be purely arithmetic assignments. At some point we will need some kind of control or decision making process to occur
Control Structures Code can be purely arithmetic assignments At some point we will need some kind of control or decision making process to occur C uses the if keyword as part of it s control structure
More informationCISC 1600 Lecture 2.4 Introduction to JavaScript
CISC 1600 Lecture 2.4 Introduction to JavaScript Topics: Javascript overview The DOM Variables and objects Selection and Repetition Functions A simple animation What is JavaScript? JavaScript is not Java
More informationTools : The Java Compiler. The Java Interpreter. The Java Debugger
Tools : The Java Compiler javac [ options ] filename.java... -depend: Causes recompilation of class files on which the source files given as command line arguments recursively depend. -O: Optimizes code,
More informationDHA Suffa University CS 103 Object Oriented Programming Fall 2015 Lab #01: Introduction to C++
DHA Suffa University CS 103 Object Oriented Programming Fall 2015 Lab #01: Introduction to C++ Objective: To Learn Basic input, output, and procedural part of C++. C++ Object-orientated programming language
More informationStrings, characters and character literals
Strings, characters and character literals Internally, computers only manipulate bits of data; every item of data input can be represented as a number encoded in base 2. However, when it comes to processing
More informationChapter 3. More Flow of Control. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Chapter 3 More Flow of Control Overview 3.1 Using Boolean Expressions 3.2 Multiway Branches 3.3 More about C++ Loop Statements 3.4 Designing Loops Slide 3-3 Flow Of Control Flow of control refers to the
More informationJava Notes. 10th ICSE. Saravanan Ganesh
Java Notes 10th ICSE Saravanan Ganesh 13 Java Character Set Character set is a set of valid characters that a language can recognise A character represents any letter, digit or any other sign Java uses
More informationData Types and Variables in C language
Data Types and Variables in C language Basic structure of C programming To write a C program, we first create functions and then put them together. A C program may contain one or more sections. They are
More informationLanguage Fundamentals Summary
Language Fundamentals Summary Claudia Niederée, Joachim W. Schmidt, Michael Skusa Software Systems Institute Object-oriented Analysis and Design 1999/2000 c.niederee@tu-harburg.de http://www.sts.tu-harburg.de
More informationC OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure
C Overview Basic C Program Structure C OVERVIEW BASIC C PROGRAM STRUCTURE Goals The function main( )is found in every C program and is where every C program begins speed execution portability C uses braces
More informationC++ Support Classes (Data and Variables)
C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming
More informationPathologically Eclectic Rubbish Lister
Pathologically Eclectic Rubbish Lister 1 Perl Design Philosophy Author: Reuben Francis Cornel perl is an acronym for Practical Extraction and Report Language. But I guess the title is a rough translation
More information3 The L oop Control Structure
3 The L oop Control Structure Loops The while Loop Tips and Traps More Operators The for Loop Nesting of Loops Multiple Initialisations in the for Loop The Odd Loop The break Statement The continue Statement
More informationComputer Programming : C++
The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2003 Muath i.alnabris Computer Programming : C++ Experiment #1 Basics Contents Structure of a program
More informationExpressions and Data Types CSC 121 Spring 2015 Howard Rosenthal
Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types
More informationOperators. Java operators are classified into three categories:
Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.
More informationJava Overview An introduction to the Java Programming Language
Java Overview An introduction to the Java Programming Language Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhan Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/
More informationCMAT Language - Language Reference Manual COMS 4115
CMAT Language - Language Reference Manual COMS 4115 Language Guru: Michael Berkowitz (meb2235) Project Manager: Frank Cabada (fc2452) System Architect: Marissa Ojeda (mgo2111) Tester: Daniel Rojas (dhr2119)
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College October 24, 2018 Outline Outline 1 Chapter 8: A C++ Introduction For Python Programmers Expressions and Operator Precedence
More informationStrux. Sophie Stadler srs2231 Manager Millie Yang my2440 Tester. 26 September 2017
Joshua Bartlett jcb2254 Language Guru Strux Sophie Stadler srs2231 Manager Millie Yang my2440 Tester 26 September 2017 Fredrick Kofi Tam fkt2105 System Architect 1 Introduction Data structures are one
More informationProject 1: Scheme Pretty-Printer
Project 1: Scheme Pretty-Printer CSC 4101, Fall 2017 Due: 7 October 2017 For this programming assignment, you will implement a pretty-printer for a subset of Scheme in either C++ or Java. The code should
More informationLexical Considerations
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 6 Decaf Language Wednesday, September 7 The project for the course is to write a
More informationLecture Set 2: Starting Java
Lecture Set 2: Starting Java 1. Java Concepts 2. Java Programming Basics 3. User output 4. Variables and types 5. Expressions 6. User input 7. Uninitialized Variables 0 This Course: Intro to Procedural
More informationCS Programming In C
CS 24000 - Programming In C Week Two: Basic C Program Organization and Data Types Zhiyuan Li Department of Computer Science Purdue University, USA 2 int main() { } return 0; The Simplest C Program C programs
More informationGrammars and Parsing, second week
Grammars and Parsing, second week Hayo Thielecke 17-18 October 2005 This is the material from the slides in a more printer-friendly layout. Contents 1 Overview 1 2 Recursive methods from grammar rules
More informationIntroduction. C provides two styles of flow control:
Introduction C provides two styles of flow control: Branching Looping Branching is deciding what actions to take and looping is deciding how many times to take a certain action. Branching constructs: if
More informationVLC : Language Reference Manual
VLC : Language Reference Manual Table Of Contents 1. Introduction 2. Types and Declarations 2a. Primitives 2b. Non-primitives - Strings - Arrays 3. Lexical conventions 3a. Whitespace 3b. Comments 3c. Identifiers
More informationStarting to Program in C++ (Basics & I/O)
Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and
More informationCS11 Java. Fall Lecture 1
CS11 Java Fall 2006-2007 Lecture 1 Welcome! 8 Lectures Slides posted on CS11 website http://www.cs.caltech.edu/courses/cs11 7-8 Lab Assignments Made available on Mondays Due one week later Monday, 12 noon
More informationx = 3 * y + 1; // x becomes 3 * y + 1 a = b = 0; // multiple assignment: a and b both get the value 0
6 Statements 43 6 Statements The statements of C# do not differ very much from those of other programming languages. In addition to assignments and method calls there are various sorts of selections and
More informationCOMS W4115 Programming Languages & Translators GIRAPHE. Language Reference Manual
COMS W4115 Programming Languages & Translators GIRAPHE Language Reference Manual Name UNI Dianya Jiang dj2459 Vince Pallone vgp2105 Minh Truong mt3077 Tongyun Wu tw2568 Yoki Yuan yy2738 1 Lexical Elements
More informationCSE450. Translation of Programming Languages. Lecture 11: Semantic Analysis: Types & Type Checking
CSE450 Translation of Programming Languages Lecture 11: Semantic Analysis: Types & Type Checking Structure Project 1 - of a Project 2 - Compiler Today! Project 3 - Source Language Lexical Analyzer Syntax
More informationGridLang: Grid Based Game Development Language Language Reference Manual. Programming Language and Translators - Spring 2017 Prof.
GridLang: Grid Based Game Development Language Language Reference Manual Programming Language and Translators - Spring 2017 Prof. Stephen Edwards Akshay Nagpal Dhruv Shekhawat Parth Panchmatia Sagar Damani
More informationLecture Set 2: Starting Java
Lecture Set 2: Starting Java 1. Java Concepts 2. Java Programming Basics 3. User output 4. Variables and types 5. Expressions 6. User input 7. Uninitialized Variables 0 This Course: Intro to Procedural
More informationChapter 5. Repetition. Contents. Introduction. Three Types of Program Control. Two Types of Repetition. Three Syntax Structures for Looping in C++
Repetition Contents 1 Repetition 1.1 Introduction 1.2 Three Types of Program Control Chapter 5 Introduction 1.3 Two Types of Repetition 1.4 Three Structures for Looping in C++ 1.5 The while Control Structure
More informationSubject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100
Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space
More informationObjectives. Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments
Basics Objectives Introduce the core C# language features class Main types variables basic input and output operators arrays control constructs comments 2 Class Keyword class used to define new type specify
More informationSOFT 161. Class Meeting 1.6
University of Nebraska Lincoln Class Meeting 1.6 Slide 1/13 Overview of A general purpose programming language Created by Guido van Rossum Overarching design goal was orthogonality Automatic memory management
More informationIntroduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C
Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #29 Arrays in C (Refer Slide Time: 00:08) This session will learn about arrays in C. Now, what is the word array
More informationIntroduction to Programming using C++
Introduction to Programming using C++ Lecture One: Getting Started Carl Gwilliam gwilliam@hep.ph.liv.ac.uk http://hep.ph.liv.ac.uk/~gwilliam/cppcourse Course Prerequisites What you should already know
More informationLanguage Reference Manual
ALACS Language Reference Manual Manager: Gabriel Lopez (gal2129) Language Guru: Gabriel Kramer-Garcia (glk2110) System Architect: Candace Johnson (crj2121) Tester: Terence Jacobs (tj2316) Table of Contents
More informationProgramming for Engineers Iteration
Programming for Engineers Iteration ICEN 200 Spring 2018 Prof. Dola Saha 1 Data type conversions Grade average example,-./0 class average = 23450-67 893/0298 Grade and number of students can be integers
More informationDefinition Checklist for Source Statement Counts
Definition Checklist for Source Statement Counts Definition name: Date: Originator: Measurement unit: Physical source lines Logical source statements Statement type Definition Data array When a line or
More informationProgramming with Java
Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules
More informationPrinciple of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore
Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 20 Intermediate code generation Part-4 Run-time environments
More informationd-file Language Reference Manual
Erwin Polio Amrita Rajagopal Anton Ushakov Howie Vegter d-file Language Reference Manual COMS 4115.001 Thursday, October 20, 2005 Fall 2005 Columbia University New York, New York Note: Much of the content
More informationAnd Parallelism. Parallelism in Prolog. OR Parallelism
Parallelism in Prolog And Parallelism One reason that Prolog is of interest to computer scientists is that its search mechanism lends itself to parallel evaluation. In fact, it supports two different kinds
More informationRoom 3P16 Telephone: extension ~irjohnson/uqc146s1.html
UQC146S1 Introductory Image Processing in C Ian Johnson Room 3P16 Telephone: extension 3167 Email: Ian.Johnson@uwe.ac.uk http://www.csm.uwe.ac.uk/ ~irjohnson/uqc146s1.html Ian Johnson 1 UQC146S1 What is
More informationMobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02
Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02 Hello, in this lecture we will learn about some fundamentals concepts of java.
More informationCSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI
CSCI 2010 Principles of Computer Science Data and Expressions 08/09/2013 CSCI 2010 1 Data Types, Variables and Expressions in Java We look at the primitive data types, strings and expressions that are
More informationTypes and Static Type Checking (Introducing Micro-Haskell)
Types and Static (Introducing Micro-Haskell) Informatics 2A: Lecture 14 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 17 October 2017 1 / 21 1 Types 2 3 4 2 / 21 So far in
More informationDepartment of Computer Science COMP The Programming Competency Test
The Australian National University Faculty of Engineering & Information Technology Department of Computer Science COMP1120-2003-01 The Programming Competency Test 1 Introduction The purpose of COMP1120
More informationC++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay
C++ Basics Data Processing Course, I. Hrivnacova, IPN Orsay The First Program Comments Function main() Input and Output Namespaces Variables Fundamental Types Operators Control constructs 1 C++ Programming
More information