Swift Fox. Programming sensor networks for fun and profit. Programing Languages and Translators (PLT) Computer Science Department Columbia University
|
|
- Mabel Watson
- 5 years ago
- Views:
Transcription
1 Programming sensor networks for fun and profit Marcin Szczodrak 1 Vasileios P. Kemerlis 1 Xuan Linh Vu 2 Yiwei Gu 2 Programing Languages and Translators (PLT) Computer Science Department Columbia University 1 {msz, vpk}@cs.columbia.edu 2 {xv2103, yg2181}@cs.columbia.edu 04/26/2010
2 Outline 1 (Marcin Szczodrak) language 2 (Vasileios Kemerlis) Language constructs Syntactic structures 3 (Yiwei Gu) Compiler architecture Development tools Testing tools 4 (Xuan Linh Vu) Lessons learned Why
3 Outline 1 (Marcin Szczodrak) language 2 (Vasileios Kemerlis) Language constructs Syntactic structures 3 (Yiwei Gu) Compiler architecture Development tools Testing tools 4 (Xuan Linh Vu) Lessons learned Why
4 Wireless Sensor Networks What are they? wireless ad-hoc networks multipurpose sensor nodes (motes) small low-cost, low-power self-organizing capabilities ultimately at the size of a grain of sand (smart dust) Figure: Tiny mote (courtesy of MIT Technology Review)
5 Wireless Sensor Networks Why bother? but... WSNs are pervasive military (battlefield surveillance, reconnaissance) environment (pollution monitoring, chemical detection) home automation ( smart home ) commercial domain no standardized system facilities absence of high-level abstractions single image implementations
6 Bringing back the fun in WSN programming simple, event-driven language for describing reconfiguration policies for WSNs event driven policy oriented simple robust network-savvy domain specific lightweight secure declarative service oriented Figure: Buzzwords for
7 Distinctive characteristics simple, simple, simple enables code/logic re-use releases the programmer from the burden of dealing with WSN OS internals, event handling, data scatter/gather, network and routing protocol details first programming language for WSN applications solve the problem and avoid plumbing
8 Outline Constructs Syntax 1 (Marcin Szczodrak) language 2 (Vasileios Kemerlis) Language constructs Syntactic structures 3 (Yiwei Gu) Compiler architecture Development tools Testing tools 4 (Xuan Linh Vu) Lessons learned Why
9 Essential constructs Constructs Syntax configuration: binding between an application and a network protocol event-condition: predicate that becomes true when a specific sensor reading satisfies a condition policy: transition specification between different configuration, upon event-conditions Example configuration too-cold {Send-Temp CTP} event-condition cold-day {Temperature < 70F} from any goto too-cold when cold-day
10 Constructs Syntax # define configurations configuration sleep-day {nothing CTP} configuration sleep-night {nothing CTP} configuration too-cold {Send-Temp CTP} # define time passing events event-condition day {Timer = 16hr} event-condition night {Timer = 8hr} # define temperature sensing events event-condition cold-day {Temperature < 70F } event-condition cold-night {Temperature < 60F } # reconfiguration policies from any goto sleep-day when day from any goto sleep-night when night from sleep-day goto too-cold when cold-day from sleep-night goto too-cold when cold-night from too-cold goto sleep-day when not cold-day from too-cold goto sleep-night when not cold-night # and finally, the initial configuration start sleep-day
11 Example tree Constructs Syntax swift-fox-program configurations event-conditions policies initial-state... configuration... event-condition policy start sleep-day configuration sleep-day { nothing CTP } event-condition cold-day { Temperature < 70F } from sleep-day goto too-cold when cold-day Figure: AST for the previous code snippet...
12 Outline Compiler architecture Development Testing 1 (Marcin Szczodrak) language 2 (Vasileios Kemerlis) Language constructs Syntactic structures 3 (Yiwei Gu) Compiler architecture Development tools Testing tools 4 (Xuan Linh Vu) Lessons learned Why
13 Compiler block diagram Compiler architecture Development Testing SWIFT FOX COMPILER FLEX BISON C CODE SWIFT FOX CODE LEXER PARSER CODE GENERATOR FENNEC FOX CODE - nesc FENNEC FOX CODE - nesc FENNEC FOX + PLATFORM + nesc with C cross-compiler system image machine code Figure: block diagram
14 Development tools Compiler architecture Development Testing development Lex (flex), YACC (bison) nesc, TinyOS make management & documentation Trac (web-management and bug-tracking) Subversion (revision control) L A T E X
15 Testing procedure Compiler architecture Development Testing assume correctness of the front-end generators and execution environment (e.g., Lex, YACC, nesc, TinyOS, Fennec Fox) combination of unit and regression testing separate regression testing suites for the lexer, parser, and code generator
16 Outline Lessons Why 1 (Marcin Szczodrak) language 2 (Vasileios Kemerlis) Language constructs Syntactic structures 3 (Yiwei Gu) Compiler architecture Development tools Testing tools 4 (Xuan Linh Vu) Lessons learned Why
17 What we learned Lessons Why testing is important keep it simple, add features steadily documentation helps! project management is hard
18 Why? Lessons Why first language (of that kind) out there simpler than coding in nesc solve the problem and avoid plumbing Try it! (coming soon...)
Introduction to Compiler Design
Introduction to Compiler Design Lecture 1 Chapters 1 and 2 Robb T. Koether Hampden-Sydney College Wed, Jan 14, 2015 Robb T. Koether (Hampden-Sydney College) Introduction to Compiler Design Wed, Jan 14,
More informationCOP 3402 Systems Software Syntax Analysis (Parser)
COP 3402 Systems Software Syntax Analysis (Parser) Syntax Analysis 1 Outline 1. Definition of Parsing 2. Context Free Grammars 3. Ambiguous/Unambiguous Grammars Syntax Analysis 2 Lexical and Syntax Analysis
More informationInterfacing Java-DSP with Sensor Motes
Interfacing Java-DSP with Sensor Motes by H. M. Kwon, V. Berisha and A. Spanias Ira A. Fulton School of Engineering, Department of Electrical Engineering, MIDL Lab Arizona State University, Tempe, AZ 85287-5706,
More informationStructure of a compiler. More detailed overview of compiler front end. Today we ll take a quick look at typical parts of a compiler.
More detailed overview of compiler front end Structure of a compiler Today we ll take a quick look at typical parts of a compiler. This is to give a feeling for the overall structure. source program lexical
More informationWhat is a compiler? Xiaokang Qiu Purdue University. August 21, 2017 ECE 573
What is a compiler? Xiaokang Qiu Purdue University ECE 573 August 21, 2017 What is a compiler? What is a compiler? Traditionally: Program that analyzes and translates from a high level language (e.g.,
More informationWhat is a compiler? var a var b mov 3 a mov 4 r1 cmpi a r1 jge l_e mov 2 b jmp l_d l_e: mov 3 b l_d: ;done
What is a compiler? What is a compiler? Traditionally: Program that analyzes and translates from a high level language (e.g., C++) to low-level assembly language that can be executed by hardware int a,
More informationYacc: A Syntactic Analysers Generator
Yacc: A Syntactic Analysers Generator Compiler-Construction Tools The compiler writer uses specialised tools (in addition to those normally used for software development) that produce components that can
More informationFormats of Translated Programs
Formats of Translated Programs Compilers differ in the format of the target code they generate. Target formats may be categorized as assembly language, relocatable binary, or memory-image. Assembly Language
More informationTinyOS. Lecture Overview. UC Berkeley Family of Motes. Mica2 and Mica2Dot. MTS300CA Sensor Board. Programming Board (MIB510) 1.
Lecture Overview TinyOS Computer Network Programming Wenyuan Xu 1 2 UC Berkeley Family of Motes Mica2 and Mica2Dot ATmega128 CPU Self-programming 128KB Instruction EEPROM 4KB Data EEPROM Chipcon CC1000
More informationImplementation of Lexical Analysis
Implementation of Lexical Analysis Outline Specifying lexical structure using regular expressions Finite automata Deterministic Finite Automata (DFAs) Non-deterministic Finite Automata (NFAs) Implementation
More informationLanguages and Compilers
Principles of Software Engineering and Operational Systems Languages and Compilers SDAGE: Level I 2012-13 4. Lexical Analysis (Scanning) Dr Valery Adzhiev vadzhiev@bournemouth.ac.uk Office: TA-121 For
More informationWhat do Compilers Produce?
What do Compilers Produce? Pure Machine Code Compilers may generate code for a particular machine, not assuming any operating system or library routines. This is pure code because it includes nothing beyond
More informationGroup Members: Chetan Fegade Nikhil Mascarenhas. Mentor: Dr. Yann Hang Lee
Group Members: Chetan Fegade Nikhil Mascarenhas Mentor: Dr. Yann Hang Lee 1. Introduction 2. TinyGALS programming model 3. TinyOS 4. NesC 5. Middleware 6. Conclusion 7. References 8. Q & A Event driven
More informationA program that performs lexical analysis may be termed a lexer, tokenizer, or scanner, though scanner is also a term for the first stage of a lexer.
Compiler Design A compiler is computer software that transforms computer code written in one programming language (the source language) into another programming language (the target language). The name
More informationThe Structure of a Syntax-Directed Compiler
Source Program (Character Stream) Scanner Tokens Parser Abstract Syntax Tree Type Checker (AST) Decorated AST Translator Intermediate Representation Symbol Tables Optimizer (IR) IR Code Generator Target
More informationInterpreters. Prof. Clarkson Fall Today s music: Step by Step by New Kids on the Block
Interpreters Prof. Clarkson Fall 2017 Today s music: Step by Step by New Kids on the Block Review Previously in 3110: functional programming modular programming data structures Today: new unit of course:
More informationData Management in Sensor Networks
Data Management in Sensor Networks Ellen Munthe-Kaas Jarle Søberg 1 Outline Sensor networks Characteristics Motes Application domains Data management TinyOS TinyDB 2 Sensor Networks Base station (gateway)
More informationParser Tools: lex and yacc-style Parsing
Parser Tools: lex and yacc-style Parsing Version 5.0 Scott Owens June 6, 2010 This documentation assumes familiarity with lex and yacc style lexer and parser generators. 1 Contents 1 Lexers 3 1.1 Creating
More informationCOMPILER CONSTRUCTION LAB 2 THE SYMBOL TABLE. Tutorial 2 LABS. PHASES OF A COMPILER Source Program. Lab 2 Symbol table
COMPILER CONSTRUCTION Lab 2 Symbol table LABS Lab 3 LR parsing and abstract syntax tree construction using ''bison' Lab 4 Semantic analysis (type checking) PHASES OF A COMPILER Source Program Lab 2 Symtab
More informationProgramming Sensor Networks
Programming Sensor Networks Distributed Computing Group Nicolas Burri Pascal von Rickenbach Overview TinyOS Platform Program Development Current Projects MOBILE COMPUTING 2 Sensor Nodes System Constraints
More informationImplementation of Lexical Analysis
Implementation of Lexical Analysis Outline Specifying lexical structure using regular expressions Finite automata Deterministic Finite Automata (DFAs) Non-deterministic Finite Automata (NFAs) Implementation
More informationThe Structure of a Syntax-Directed Compiler
Source Program (Character Stream) Scanner Tokens Parser Abstract Syntax Tree Type Checker (AST) Decorated AST Translator Intermediate Representation Symbol Tables Optimizer (IR) IR Code Generator Target
More informationNetworking Level Laboratory WSN Software Platform TinyOS: Installation and Configuration
A project sponsored by NSF 1 Networking Level Laboratory WSN Software Platform TinyOS: Installation and Configuration A project sponsored by NSF 2 Purpose/Objective: Learn how to install and setup the
More informationThe Structure of a Compiler
The Structure of a Compiler A compiler performs two major tasks: Analysis of the source program being compiled Synthesis of a target program Almost all modern compilers are syntax-directed: The compilation
More informationCMSC 330: Organization of Programming Languages. Formal Semantics of a Prog. Lang. Specifying Syntax, Semantics
Recall Architecture of Compilers, Interpreters CMSC 330: Organization of Programming Languages Source Scanner Parser Static Analyzer Operational Semantics Intermediate Representation Front End Back End
More informationCompilers and computer architecture From strings to ASTs (2): context free grammars
1 / 1 Compilers and computer architecture From strings to ASTs (2): context free grammars Martin Berger October 2018 Recall the function of compilers 2 / 1 3 / 1 Recall we are discussing parsing Source
More informationThe Emergence of Networking Abstractions and Techniques in TinyOS
The Emergence of Networking Abstractions and Techniques in TinyOS CS295-1 Paper Presentation Mert Akdere 10.12.2005 Outline Problem Statement & Motivation Background Information TinyOS HW Platforms Sample
More informationParser Tools: lex and yacc-style Parsing
Parser Tools: lex and yacc-style Parsing Version 6.11.0.6 Scott Owens January 6, 2018 This documentation assumes familiarity with lex and yacc style lexer and parser generators. 1 Contents 1 Lexers 3 1.1
More informationUndergraduate Compilers in a Day
Question of the Day Backpatching o.foo(); In Java, the address of foo() is often not known until runtime (due to dynamic class loading), so the method call requires a table lookup. After the first execution
More informationIntroduction to Lexical Analysis
Introduction to Lexical Analysis Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexical analyzers (lexers) Regular
More informationAlternatives for semantic processing
Semantic Processing Copyright c 2000 by Antony L. Hosking. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies
More informationImplementation of Lexical Analysis
Outline Implementation of Lexical nalysis Specifying lexical structure using regular expressions Finite automata Deterministic Finite utomata (DFs) Non-deterministic Finite utomata (NFs) Implementation
More informationSDCI Student Project 6 Sensing Capabilites Go Wireless. Mario Caruso Francesco Leotta Leonardo Montecchi Marcello Pietri
SDCI 2012 Student Project 6 Sensing Capabilites Go Wireless Mario Caruso Francesco Leotta Leonardo Montecchi Marcello Pietri Overview Wireless Sensor Network Is a collection of nodes organized into a cooperative
More informationOutline. Introduction Concepts and terminology The case for static typing. Implementing a static type system Basic typing relations Adding context
Types 1 / 15 Outline Introduction Concepts and terminology The case for static typing Implementing a static type system Basic typing relations Adding context 2 / 15 Types and type errors Type: a set of
More informationMicrocontroller-Based Wireless Sensor Networks Prof. Kasim M. Al-Aubidy Philadelphia University
Embedded Systems Design (0630414) Lecture 14 Microcontroller-Based Wireless Sensor Networks Prof. Kasim M. Al-Aubidy Philadelphia University Introduction: Wireless Sensor Networks (WSNs) have been identified
More informationCOMPILER CONSTRUCTION Seminar 02 TDDB44
COMPILER CONSTRUCTION Seminar 02 TDDB44 Martin Sjölund (martin.sjolund@liu.se) Adrian Horga (adrian.horga@liu.se) Department of Computer and Information Science Linköping University LABS Lab 3 LR parsing
More informationTDDD55 - Compilers and Interpreters Lesson 3
TDDD55 - Compilers and Interpreters Lesson 3 November 22 2011 Kristian Stavåker (kristian.stavaker@liu.se) Department of Computer and Information Science Linköping University LESSON SCHEDULE November 1,
More informationUNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division Fall, 2005 Prof. R. Fateman CS 164 Assignment 3 and 4: Parsing for MiniJava Due: Tuesday, Oct.
More informationCOMPILERS AND INTERPRETERS Lesson 4 TDDD16
COMPILERS AND INTERPRETERS Lesson 4 TDDD16 Kristian Stavåker (kristian.stavaker@liu.se) Department of Computer and Information Science Linköping University TODAY Introduction to the Bison parser generator
More informationProgramming Assignment III
Programming Assignment III First Due Date: (Grammar) See online schedule (submission dated midnight). Second Due Date: (Complete) See online schedule (submission dated midnight). Purpose: This project
More informationBuilding Pervasive Computing Applications on Sensor Networks. Rutgers, The State University of New Jersey
Building Pervasive Computing Applications on Sensor Networks Rutgers, The State University of New Jersey www.winlab.rutgers.edu 1 Introduction: Sensor Networks Wireless Sensor Nets Telecom Internet + Telecom
More informationNesJ: a translator for Java to NesC
NesJ: a translator for Java to NesC Jiannan Zhai, Luyao Cheng School of Computing, Clemson University Email: {jzhai, luyaoc}@clemson.edu Abstract Most sensor network research is based on how to program
More informationTDDD55- Compilers and Interpreters Lesson 3
TDDD55- Compilers and Interpreters Lesson 3 Zeinab Ganjei (zeinab.ganjei@liu.se) Department of Computer and Information Science Linköping University 1. Grammars and Top-Down Parsing Some grammar rules
More informationSyntax-Directed Translation. Lecture 14
Syntax-Directed Translation Lecture 14 (adapted from slides by R. Bodik) 9/27/2006 Prof. Hilfinger, Lecture 14 1 Motivation: parser as a translator syntax-directed translation stream of tokens parser ASTs,
More informationAutomated Tools. The Compilation Task. Automated? Automated? Easier ways to create parsers. The final stages of compilation are language dependant
Automated Tools Easier ways to create parsers The Compilation Task Input character stream Lexer Token stream Parser Abstract Syntax Tree Analyser Annotated AST Code Generator Code CC&P 2003 1 CC&P 2003
More informationRegular Expressions. Agenda for Today. Grammar for a Tiny Language. Programming Language Specifications
Agenda for Today Regular Expressions CSE 413, Autumn 2005 Programming Languages Basic concepts of formal grammars Regular expressions Lexical specification of programming languages Using finite automata
More informationTag a Tiny Aggregation Service for Ad-Hoc Sensor Networks. Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02
Tag a Tiny Aggregation Service for Ad-Hoc Sensor Networks Samuel Madden, Michael Franklin, Joseph Hellerstein,Wei Hong UC Berkeley Usinex OSDI 02 Outline Introduction The Tiny AGgregation Approach Aggregate
More informationService-Based Universal Application Interface for Demand Response Energy Systems (UC Berkeley Project)
Service-Based Universal Application Interface for Demand Response Energy Systems (UC Berkeley Project) Goal: Develop and demonstrate an application development environment for a scalable and extendible
More informationWireless Sensor Networks --- Concepts and Challenges
Outline Wireless Sensor Networks --- Concepts and Challenges Basic Concepts Applications Characteristics and Challenges 2 Traditional Sensing Method Basic Concepts Signal analysis Wired/Wireless Object
More informationBetter Extensibility through Modular Syntax. Robert Grimm New York University
Better Extensibility through Modular Syntax Robert Grimm New York University Syntax Matters More complex syntactic specifications Extensions to existing programming languages Transactions, event-based
More informationCompiler Lab. Introduction to tools Lex and Yacc
Compiler Lab Introduction to tools Lex and Yacc Assignment1 Implement a simple calculator with tokens recognized using Lex/Flex and parsing and semantic actions done using Yacc/Bison. Calculator Input:
More informationDevelopment of Emulation Projects for Teaching Wireless Sensor Networks 1
Development of Emulation Projects for Teaching Wireless Sensor Networks Deepesh Jain T. Andrew Yang University of Houston Clear Lake Houston, Texas Abstract In recent years research and development in
More informationTAG: A TINY AGGREGATION SERVICE FOR AD-HOC SENSOR NETWORKS
TAG: A TINY AGGREGATION SERVICE FOR AD-HOC SENSOR NETWORKS SAMUEL MADDEN, MICHAEL J. FRANKLIN, JOSEPH HELLERSTEIN, AND WEI HONG Proceedings of the Fifth Symposium on Operating Systems Design and implementation
More informationPart I: Introduction to Wireless Sensor Networks. Xenofon Fafoutis
Part I: Introduction to Wireless Sensor Networks Xenofon Fafoutis Sensors 2 DTU Informatics, Technical University of Denmark Wireless Sensor Networks Sink Sensor Sensed Area 3 DTU Informatics,
More informationCSE302: Compiler Design
CSE302: Compiler Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University March 27, 2007 Outline Recap General/Canonical
More informationCS 426 Fall Machine Problem 1. Machine Problem 1. CS 426 Compiler Construction Fall Semester 2017
CS 426 Fall 2017 1 Machine Problem 1 Machine Problem 1 CS 426 Compiler Construction Fall Semester 2017 Handed Out: September 6, 2017. Due: September 21, 2017, 5:00 p.m. The machine problems for this semester
More informationCompilers and Interpreters
Overview Roadmap Language Translators: Interpreters & Compilers Context of a compiler Phases of a compiler Compiler Construction tools Terminology How related to other CS Goals of a good compiler 1 Compilers
More informationBasics of Wireless Sensor Network
Basics of Wireless Sensor Network A sensor network is an infrastructure contain sensing (measuring), computing and communication elements that gives an administrator the ability to device to observe and
More informationWhen Modeling meets Productivity. Sven Efftinge - itemis
When Modeling meets Productivity Sven Efftinge - itemis I Eclipse JDT I GIT So what s the Problem? It s the Language not the Tooling! Level of Abstraction Reuse existing, proven technology and apply
More informationWireless Sensor Networks --- Concepts and Challenges
Wireless Sensor Networks --- Concepts and Challenges Outline Basic Concepts Applications Characteristics and Challenges 2 1 Basic Concepts Traditional Sensing Method Wired/Wireless Object Signal analysis
More informationAn IoT-Aware Architecture for Smart
An IoT-Aware Architecture for Smart Healthcare System Presented By: Amnah Allboani Abstract Smart hospital system (SHS) relies on complementary technologies specifically RFID, WSN, and smart mobile, interoperating
More informationWhen do We Run a Compiler?
When do We Run a Compiler? Prior to execution This is standard. We compile a program once, then use it repeatedly. At the start of each execution We can incorporate values known at the start of the run
More informationHardware Support for a Wireless Sensor Network Virtual Machine
Hardware Support for a Wireless Sensor Network Virtual Machine Hitoshi Oi The University of Aizu February 13, 2008 Mobilware 2008, Innsbruck, Austria Outline Introduction to the Wireless Sensor Network
More informationCSC344 Wireless and Mobile Computing. Department of Computer Science COMSATS Institute of Information Technology
CSC344 Wireless and Mobile Computing Department of Computer Science COMSATS Institute of Information Technology Wireless Sensor Networks A wireless sensor network (WSN) is a wireless network consisting
More informationCS131 Compilers: Programming Assignment 2 Due Tuesday, April 4, 2017 at 11:59pm
CS131 Compilers: Programming Assignment 2 Due Tuesday, April 4, 2017 at 11:59pm Fu Song 1 Policy on plagiarism These are individual homework. While you may discuss the ideas and algorithms or share the
More informationOutline for Today CSE 142. CSE142 Wi03 G-1. withdraw Method for BankAccount. Class Invariants
CSE 142 Outline for Today Conditional statements if Boolean expressions Comparisons (=,!=, ==) Boolean operators (and, or, not - &&,,!) Class invariants Conditional Statements & Boolean Expressions
More informationDatabase Languages and their Compilers
Database Languages and their Compilers Prof. Dr. Torsten Grust Database Systems Research Group U Tübingen Winter 2010 2010 T. Grust Database Languages and their Compilers 4 Query Normalization Finally,
More informationThe Substitution Model
The Substitution Model Prof. Clarkson Fall 2017 Today s music: Substitute by The Who Review Previously in 3110: simple interpreter for expression language abstract syntax tree (AST) evaluation based on
More informationMote Design Supported with Remote Hardware Modifications Capability for Wireless Sensor Network applications
Mote Design Supported with Remote Hardware Modifications Capability for Wireless Sensor Network applications ABSTRACT Ali El Kateeb University of Michigan-Dearborn Email: elkateeb@umich.edu Many Wireless
More informationLR Parsing of CFG's with Restrictions
LR Parsing of CFG's with Restrictions B. J. McKenzie University of Canterbury, Christchurch, New Zealand Postal Address: Dr. B.J.McKenzie, Phone: +64 3 642-349 Department of Computer Science, Fax: +64
More informationReferences. The vision of ambient intelligence. The missing component...
References Introduction 1 K. Sohraby, D. Minoli, and T. Znadi. Wireless Sensor Networks: Technology, Protocols, and Applications. John Wiley & Sons, 2007. H. Karl and A. Willig. Protocols and Architectures
More informationLexical Analysis. Chapter 2
Lexical Analysis Chapter 2 1 Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexers Regular expressions Examples
More informationPreparing for the ACW Languages & Compilers
Preparing for the ACW 08348 Languages & Compilers Introductory Lab There is an Introductory Lab Just involves copying the lab task See separate Lab slides Language Roadmaps Convenient way of showing syntax
More informationUNIVERSITY OF CALIFORNIA
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS164 Fall 1997 P. N. Hilfinger CS 164: Midterm Name: Please do not discuss the contents of
More informationSoftware Engineering for Wireless Sensor Networks A Case Study
Software Engineering for Wireless Sensor Networks A Case Study Rachel Cardell-Oliver Joint work with Mark Kranz, Keith Smettem, Anna Parsons, David Glance (UWA), Kevin Mayer (ANU) http://www.csse.uwa.edu.au/adhocnets/wsngroup/soil-water-proj/
More informationThe Structure of a Syntax-Directed Compiler
Source Program (Character Stream) Scanner Tokens Parser Abstract Syntax Tree (AST) Type Checker Decorated AST Translator Intermediate Representation Symbol Tables Optimizer (IR) IR Code Generator Target
More informationMauveDB: Statistical Modeling inside Database Systems
MauveDB: Statistical Modeling inside Database Systems Amol Deshpande, University of Maryland (joint work w/ Sam Madden, MIT) Motivation Unprecedented, and rapidly increasing, instrumentation of our every-day
More informationUndergraduate projects, technical papers and articles done by Mr. Sumant U. Tambe PROJECTS. 1. Node Listing Based Global Data Flow Analysis
PROJECTS 1. Node Listing Based Global Data Flow Analysis This is my final year BE (Bachelor of Engineering) project under Asst. Prof. Uday Khedker of I.I.T., Bombay. The final goal of the research work
More informationAn Evaluation of Domain-Specific Language Technologies for Code Generation
An Evaluation of Domain-Specific Language Technologies for Code Generation Christian Schmitt, Sebastian Kuckuk, Harald Köstler, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, System Simulation,
More informationReading Assignment. Scanner. Read Chapter 3 of Crafting a Compiler.
Reading Assignment Source Program (Character Stream) Scanner Tokens Parser Abstract Syntax Tree (AST) Type Checker Decorated AST Read Chapter 3 of Crafting a Compiler. Translator Intermediate Representation
More informationSmarter Planet. Dr. Thorsten Kramp IBM Zurich Research Laboratory Wien, im Oktober 2010
1 IBM Mote Runner: Drahtlose Sensornetze für Smarter Planet Dr. Thorsten Kramp IBM Zurich Research Laboratory Wien, im Oktober 2010 Wireless Sensor Networks A wireless sensor network (WSN) is a wireless
More informationLR Parsing LALR Parser Generators
LR Parsing LALR Parser Generators Outline Review of bottom-up parsing Computing the parsing DFA Using parser generators 2 Bottom-up Parsing (Review) A bottom-up parser rewrites the input string to the
More informationStatic Analysis of Embedded C
Static Analysis of Embedded C John Regehr University of Utah Joint work with Nathan Cooprider Motivating Platform: TinyOS Embedded software for wireless sensor network nodes Has lots of SW components for
More informationSystem Software for Sensor Networks
System Software for Sensor Networks IST Co-operating Objects Workshop Brussels, June 23 rd 24 th, 2005 Dr. Pedro José Marrón pedro.marron@informatik.uni-stuttgart.de University of Stuttgart, Group 1/30
More informationMIDTERM EXAM (Solutions)
MIDTERM EXAM (Solutions) Total Score: 100, Max. Score: 83, Min. Score: 26, Avg. Score: 57.3 1. (10 pts.) List all major categories of programming languages, outline their definitive characteristics and
More informationInter-Context Control-Flow Graph for NesC, with Improved Split-Phase Handling
Inter-Context Control-Flow Graph for NesC, with Improved Split-Phase Handling Arne Wichmann Institute for Software Systems July 30, 2010 Abstract Control-flow graphs (CFG) are a common intermediate representation
More informationEnergy-aware Reconfiguration of Sensor Nodes
Energy-aware Reconfiguration of Sensor Nodes Andreas Weissel Simon Kellner Department of Computer Sciences 4 Distributed Systems and Operating Systems Friedrich-Alexander University Erlangen-Nuremberg
More informationSmart Dusts. EE453 Project Report submitted by. Chanz Murata Fall 2008
Smart Dusts EE453 Project Report submitted by Chanz Murata muratac2@unlv.nevada.edu, Fall 2008 Smart dusts are many small wireless devices that form a network of microelectromechanical sensors (MEMS).
More informationIntroduction to TinyOS
Fakultät Informatik Institut für Systemarchitektur Professur Rechnernetze Introduction to TinyOS Jianjun Wen 21.04.2016 Outline Hardware Platforms Introduction to TinyOS Environment Setup Project of This
More informationCompiler Design (40-414)
Compiler Design (40-414) Main Text Book: Compilers: Principles, Techniques & Tools, 2 nd ed., Aho, Lam, Sethi, and Ullman, 2007 Evaluation: Midterm Exam 35% Final Exam 35% Assignments and Quizzes 10% Project
More informationCrafting a Compiler with C (II) Compiler V. S. Interpreter
Crafting a Compiler with C (II) 資科系 林偉川 Compiler V S Interpreter Compilation - Translate high-level program to machine code Lexical Analyzer, Syntax Analyzer, Intermediate code generator(semantics Analyzer),
More informationProgramming Assignment II
Programming Assignment II 1 Overview of the Programming Project Programming assignments II V will direct you to design and build a compiler for Cool. Each assignment will cover one component of the compiler:
More informationLecture Outline. COMP-421 Compiler Design. What is Lex? Lex Specification. ! Lexical Analyzer Lex. ! Lex Examples. Presented by Dr Ioanna Dionysiou
Lecture Outline COMP-421 Compiler Design! Lexical Analyzer Lex! Lex Examples Presented by Dr Ioanna Dionysiou Figures and part of the lecture notes taken from A compact guide to lex&yacc, epaperpress.com
More informationCS 321 IV. Overview of Compilation
CS 321 IV. Overview of Compilation Overview of Compilation Translating from high-level language to machine code is organized into several phases or passes. In the early days passes communicated through
More informationCOMP 181 Compilers. Administrative. Last time. Prelude. Compilation strategy. Translation strategy. Lecture 2 Overview
COMP 181 Compilers Lecture 2 Overview September 7, 2006 Administrative Book? Hopefully: Compilers by Aho, Lam, Sethi, Ullman Mailing list Handouts? Programming assignments For next time, write a hello,
More informationProgramming Assignment I Due Thursday, October 7, 2010 at 11:59pm
Programming Assignment I Due Thursday, October 7, 2010 at 11:59pm 1 Overview of the Programming Project Programming assignments I IV will direct you to design and build a compiler for Cool. Each assignment
More informationWireless Sensor Networks. Atiq Ahmed
Wireless Sensor Networks Atiq Ahmed Outline Motes & Wireless Sensor Networks WSN Applications 9/8/2016 Introduction to WSN 2 Mote Radio Transceiver D/A A/D Analog I/O Ports Sensor Microcontroller External
More informationMinecraft 101. Sandbox game Fighting Survival Building. (Quick demo)
MineTime Mirza Ali - Project Manager Tanay Jaipuria - Language and Tools Guru Don Yu - System Architect Patrice Liang - System Integrator Stephen Zhou - System Tester Minecraft 101 Sandbox game Fighting
More informationHow do LL(1) Parsers Build Syntax Trees?
How do LL(1) Parsers Build Syntax Trees? So far our LL(1) parser has acted like a recognizer. It verifies that input token are syntactically correct, but it produces no output. Building complete (concrete)
More informationLR Parsing LALR Parser Generators
Outline LR Parsing LALR Parser Generators Review of bottom-up parsing Computing the parsing DFA Using parser generators 2 Bottom-up Parsing (Review) A bottom-up parser rewrites the input string to the
More information