1 / 11

Mini-Pascal

Mini-Pascal. Compiling Mini-Pascal (MPC) language Subset of the Pascal programming language Somewhat similar to the Java and “C” programming languages There are many differences, however Differences make it much easier to compile ☺

Download Presentation

Mini-Pascal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mini-Pascal • Compiling Mini-Pascal (MPC) language • Subset of the Pascal programming language • Somewhat similar to the Java and “C” programming languages • There are many differences, however • Differences make it much easier to compile ☺ • We will discuss details of the actual language when it becomes important

  2. Scanning • 1st stage of compiling a program • Code written in a programming language • High-level languages are supposed to resemble English… • …but they don’t. • Contain many features specifically designed for the computer • How often do you use a semi-colon?

  3. Scanning • Raw text is hard for computer to understand • Much easier for it to work with objects • Scanning converts text into tokens • Object encoding a single text idea • This is a very common problem, not just in compilers

  4. Scanning • Only consider token being processed • This stage of compilation only generates tokens • Looks for obvious lexical errors --- text that cannot be legal • Does not track past tokens • Does not worry if text has any real meaning • Understanding meaning occurs later in the process

  5. Lexical analysis for tokens in English • Legal:? “”, Snap p. 35 crackle < pop ppo quack! • Illegal:¡ I am excited ! • Illegal:gemütlichkeit façade

  6. Lexical analysis for tokens in English • Legal:? “”, Snap p. 35 crackle < pop ppo quack! • Illegal:¡ I am excited ! • Illegal:gemütlichkeit façade

  7. Types of Tokens in Mini-Pascal • Operator • All the meaningful symbols in Mini-Pascal: • Numerical: + - * ^ • Comparative: < > <= >= <> == • Separator: ( ) [ ] . ; , • Assignment: := • Spaces are meaningful • “:=” is one token • “: =” is two tokens

  8. Types of Tokens in Mini-Pascal • Int • Includes all numbers defined by Mini-Pascal • Mini-Pascal does not include real numbers • Int token includes an uninterrupted series of integers • “1354934573212” is one token • “13 45” is two tokens – for “13” and “45” • “13.65” is three tokens – for “13”, “.”, and “65” • “2,585” is three tokens – for “2”, “,”, and “585”

  9. Types of Tokens in Mini-Pascal • String • The literal strings in Mini-Pascal • Java strings begin and end with double quote (“”) • Pascal strings begin and end with single quote (‘’) • Can include any set of characters, letters, and numbers, but cannot go across multiple lines • ‘Hi Mom. #1’ is one token -- “Hi Mom. #1” • Note: The quotes are not included in the token

  10. Types of Tokens in Mini-Pascal • Identifier/Id • Includes keywords (reserved) in Mini-Pascal:and array begin case const div do downto else end for function if mod nil not of or procedure program record repeat then to type until var while • Also potential variable and method names • Begin with letter and then any combination of letters and numbers • DONOT worry (yet) if it is an actual name

  11. Other Work While Scanning • Comments • Pascal also includes comments • Begins with either a “{“ or “(*” • Then include any legal characters including letters, numbers, spaces, newlines • End with either “}” or “*)” • { This is a legal comment *) (* and so is this } • There is no comment token --- it is not used in compilation

More Related