Advanced JAPE. Mark A. Greenwood

Size: px
Start display at page:

Download "Advanced JAPE. Mark A. Greenwood"

Transcription

1 Advanced JAPE Mark A. Greenwood

2 Recap Installed and run GATE Understand the idea of LR Language Resources PR Processing Resources ANNIE Understand the goals of information extraction Loaded ANNIE into GATE Constructed one or more gazetteer lists Created JAPE rules with simple RHS

3 Overview Simple RHS Limitations The RHS API Accessing Annotations and Features Adding New Annotations Hands-On

4 Simple RHS Limitations The simple RHS of a JAPE rule can only add simple annotations and features Feature values are hard coded or can be copied from annotations matched by the LHS You may need more complex processing Removing temporary annotations Building complex features... Fortunately the RHS of a rule can consist of arbitrary Java code the possibilities are endless!

5 The RHS API Java code provided as a RHS is used as the body of this method: public void doit(document doc, Map bindings, AnnotationSet annotations, AnnotationSet inputas, AnnotationSet outputas, Ontology ontology) throws JapeException This provides easy access to the document, rule bindings and annotations. DO NOT USE annotations IT IS DEPRECATED!

6 Accessing Annotations and Features Each labelled section of the LHS results in an Annotation Set These Annotation Sets can be retrieved from the bindings map AnnotationSet set = (AnnotationSet)bindings.get("labelname");

7 Accessing Annotations and Features When writing complex JAPE you will often need to access annotation features All features of an annotation are stored in a map FeatureMap map = annotation.getfeatures() Each feature is accessed by name Each feature is accessed by name Object obj = map.get( featurename )

8 Adding New Annotations New annotations should always be created in the outputas To create an annotation you need The annotation name The start and end offset A FeatureMap instance (can be empty) outputas.add(start,end,label,features)

9 Shorthand Notation for JAVA RHS Where a Java block refers to a single lefthand-side binding, JAPE provides a shorthand notation: Rule: RemoveDoneFlag ( {Instance.flag == "done"} ):inst --> :inst{ } Annotation theinstance = (Annotation)instAnnots.iterator().next(); theinstance.getfeatures().remove("flag");

10 Shorthand Notation for JAVA RHS A label :<label> on a Java block creates a local variable <label>annots within the Java block which is the AnnotationSet bound to the <label> label. The Java code in the block is only executed if there is at least one annotation bound to the label

11 Hands On: Extending the IE Example In the previous JAPE session you wrote a rule to annotate phrases such as Whitbread shares closed up 2p at 645p. Annotating the phrase is useful but there is lots of information which would be useful to extract as features Starting price Change in price Closing price

12 Hands On: Extending the IE Example You will need to Extract the closing price and change assume they are always in pence so you can get the value by removing the trailing p Get the minortype of the Lookup Calculate the starting price Create a new annotation with these values as features

13 Your Turn! Feel Free To Refer To The User Guide And To Ask For Help

14 Hands On: Extending the IE Example Phase: Shares Input: Token Organization Lookup Money Options: control = appelt Rule:ShareChange ( {Organization} ({Token})[0,3] ({Lookup.majorType=="change"}):lookup ({Token})[0,3] ({Money}):delta {Token.string == "at"} ({Money}):closing ):change --> { try { AnnotationSet change = (AnnotationSet)bindings.get("change"); Annotation delta = ((AnnotationSet)bindings.get("delta")).iterator().next(); Annotation closing = ((AnnotationSet)bindings.get("closing")).iterator().next(); boolean rise = ((AnnotationSet)bindings.get("lookup")).iterator().next().getFeatures().get("minorType").equals("Changes-up"); int deltavalue = Integer.parseInt(doc.getContent().getContent(delta.getStartNode().getOffset(),delta.getEndNode().getOffset()-1).toString()); int closingvalue = Integer.parseInt(doc.getContent().getContent(closing.getStartNode().getOffset(),closing.getEndNode().getOffset()-1).toString()); int startvalue = (rise? closingvalue - deltavalue : closingvalue + deltavalue); FeatureMap features = Factory.newFeatureMap(); features.put("rule","sharechange"); features.put("opening",startvalue+"p"); features.put("change",deltavalue+"p"); features.put("closing", closingvalue+"p"); features.put("direction", (rise? "up" : "down")); outputas.add(change.firstnode(),change.lastnode(),"sharechange",features); } catch (Exception e) { // ignore this for now } }

Advanced JAPE. Module 1. June 2017

Advanced JAPE. Module 1. June 2017 Advanced JAPE Module 1 June 2017 c 2017 The University of Sheffield This material is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence (http://creativecommons.org/licenses/by-nc-sa/3.0/)

More information

GATE APIs. Track II, Module 6. Third GATE Training Course August September 2010

GATE APIs. Track II, Module 6. Third GATE Training Course August September 2010 GATE APIs Track II, Module 6 Third GATE Training Course August September 2010 c 2010 The University of Sheffield This material is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike

More information

Module 3: Introduction to JAPE

Module 3: Introduction to JAPE Module 3: Introduction to JAPE The University of Sheffield, 1995-2010 This work is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence About this tutorial As in previous modules,

More information

OwlExporter. Guide for Users and Developers. René Witte Ninus Khamis. Release 2.1 December 26, 2010

OwlExporter. Guide for Users and Developers. René Witte Ninus Khamis. Release 2.1 December 26, 2010 OwlExporter Guide for Users and Developers René Witte Ninus Khamis Release 2.1 December 26, 2010 Semantic Software Lab Concordia University Montréal, Canada http://www.semanticsoftware.info Contents 1

More information

LODtagger. Guide for Users and Developers. Bahar Sateli René Witte. Release 1.0 July 24, 2015

LODtagger. Guide for Users and Developers. Bahar Sateli René Witte. Release 1.0 July 24, 2015 LODtagger Guide for Users and Developers Bahar Sateli René Witte Release 1.0 July 24, 2015 Semantic Software Lab Concordia University Montréal, Canada http://www.semanticsoftware.info Contents 1 LODtagger

More information

LODtagger. Guide for Users and Developers. Bahar Sateli René Witte. Release 1.1 October 7, 2016

LODtagger. Guide for Users and Developers. Bahar Sateli René Witte. Release 1.1 October 7, 2016 LODtagger Guide for Users and Developers Bahar Sateli René Witte Release 1.1 October 7, 2016 Semantic Software Lab Concordia University Montréal, Canada http://www.semanticsoftware.info Contents 1 LODtagger

More information

CSC 5930/9010: Text Mining GATE Developer Overview

CSC 5930/9010: Text Mining GATE Developer Overview 1 CSC 5930/9010: Text Mining GATE Developer Overview Dr. Paula Matuszek Paula.Matuszek@villanova.edu Paula.Matuszek@gmail.com (610) 647-9789 GATE Components 2 We will deal primarily with GATE Developer:

More information

OwlExporter. Guide for Users and Developers. René Witte Ninus Khamis. Release 1.0-beta2 May 16, 2010

OwlExporter. Guide for Users and Developers. René Witte Ninus Khamis. Release 1.0-beta2 May 16, 2010 OwlExporter Guide for Users and Developers René Witte Ninus Khamis Release 1.0-beta2 May 16, 2010 Semantic Software Lab Concordia University Montréal, Canada http://www.semanticsoftware.info Contents

More information

The GATE Embedded API

The GATE Embedded API The GATE Embedded API Track II, Module 5 Third GATE Training Course August September 2010 c 2010 The University of Sheffield This material is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike

More information

Advanced GATE Applications

Advanced GATE Applications Advanced GATE Applications The University of Sheffield, 1995-2015 This work is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence Topics covered This module is about adapting

More information

Module 1: Information Extraction

Module 1: Information Extraction Module 1: Information Extraction Introduction to GATE Developer The University of Sheffield, 1995-2014 This work is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence About

More information

UvA-DARE (Digital Academic Repository) Making sense of legal texts de Maat, E. Link to publication

UvA-DARE (Digital Academic Repository) Making sense of legal texts de Maat, E. Link to publication UvA-DARE Digital Academic Repository) Making sense of legal texts de Maat, E. Link to publication Citation for published version APA): de Maat, E. 2012). Making sense of legal texts General rights It is

More information

License Inventory Management Functions

License Inventory Management Functions CHAPTER 7 This chapter provides information about the following license inventory management functions: asyncannotatelicenses, page 7-1 asyncdeploylicenses, page 7-3 asyncobtainlicense, page 7-4 getdeviceidswithundeployedlicenses,

More information

Creating new Resource Types

Creating new Resource Types Creating new Resource Types Module 8 Eleventh GATE Training Course June 2018 c 2018 The University of Sheffield This material is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike

More information

Information Extraction with GATE

Information Extraction with GATE Information Extraction with GATE Angus Roberts Recap Installed and run GATE Language Resources LRs documents corpora Looked at annotations Processing resources PRs loading running Outline Introduction

More information

Advanced Java Concepts Unit 2: Linked Lists.

Advanced Java Concepts Unit 2: Linked Lists. Advanced Java Concepts Unit 2: Linked Lists. The List interface defines the structure of a linear collection. Here are some of its methods. boolean add( E element ) Appends the element to the end of the

More information

University of Sheffield, NLP GATE: Bridging the Gap between Terminology and Linguistics

University of Sheffield, NLP GATE: Bridging the Gap between Terminology and Linguistics GATE: Bridging the Gap between Terminology and Linguistics Diana Maynard University of Sheffield, UK Why do terminologists need GATE? Terminologists face the problem of lack of suitable tools to process

More information

Agenda. Objects and classes Encapsulation and information hiding Documentation Packages

Agenda. Objects and classes Encapsulation and information hiding Documentation Packages Preliminaries II 1 Agenda Objects and classes Encapsulation and information hiding Documentation Packages Inheritance Polymorphism Implementation of inheritance in Java Abstract classes Interfaces Generics

More information

interface MyAnno interface str( ) val( )

interface MyAnno interface str( ) val( ) Unit 4 Annotations: basics of annotation-the Annotated element Interface. Using Default Values, Marker Annotations. Single-Member Annotations. The Built-In Annotations-Some Restrictions. 1 annotation Since

More information

CS211 Computers and Programming Matthew Harris and Alexa Sharp July 9, Boggle

CS211 Computers and Programming Matthew Harris and Alexa Sharp July 9, Boggle Boggle If you are not familiar with the game Boggle, the game is played with 16 dice that have letters on all faces. The dice are randomly deposited into a four-by-four grid so that the players see the

More information

Machine Learning in GATE

Machine Learning in GATE Machine Learning in GATE Angus Roberts, Horacio Saggion, Genevieve Gorrell Recap Previous two days looked at knowledge engineered IE This session looks at machine learned IE Supervised learning Effort

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

Syntax and Grammars 1 / 21

Syntax and Grammars 1 / 21 Syntax and Grammars 1 / 21 Outline What is a language? Abstract syntax and grammars Abstract syntax vs. concrete syntax Encoding grammars as Haskell data types What is a language? 2 / 21 What is a language?

More information

Objectives for this class meeting. 1. Conduct review of core concepts concerning contracts and pre/post conditions

Objectives for this class meeting. 1. Conduct review of core concepts concerning contracts and pre/post conditions CSE1720 Click to edit Master Week text 01, styles Lecture 02 Second level Third level Fourth level Fifth level Winter 2015! Thursday, Jan 8, 2015 1 Objectives for this class meeting 1. Conduct review of

More information

Teamware: A Collaborative, Web-based Annotation Environment. Kalina Bontcheva, Milan Agatonovic University of Sheffield

Teamware: A Collaborative, Web-based Annotation Environment. Kalina Bontcheva, Milan Agatonovic University of Sheffield Teamware: A Collaborative, Web-based Annotation Environment Kalina Bontcheva, Milan Agatonovic University of Sheffield Outline Why Teamware? What s Teamware? Teamware for annotation Teamware for quality

More information

Compilers and computer architecture: Semantic analysis

Compilers and computer architecture: Semantic analysis 1 / 1 Compilers and computer architecture: Semantic analysis Martin Berger Alex Jeffery October 2018 Recall the function of compilers 2 / 1 3 / 1 Recall the structure of compilers Source program Lexical

More information

Getting Started in Java. Bill Pugh Dept. of Computer Science Univ. of Maryland, College Park

Getting Started in Java. Bill Pugh Dept. of Computer Science Univ. of Maryland, College Park Getting Started in Java Bill Pugh Dept. of Computer Science Univ. of Maryland, College Park Hello, World In HelloWorld.java public class HelloWorld { public static void main(string [] args) { System.out.println(

More information

Introduction to Typed Racket. The plan: Racket Crash Course Typed Racket and PL Racket Differences with the text Some PL Racket Examples

Introduction to Typed Racket. The plan: Racket Crash Course Typed Racket and PL Racket Differences with the text Some PL Racket Examples Introduction to Typed Racket The plan: Racket Crash Course Typed Racket and PL Racket Differences with the text Some PL Racket Examples Getting started Find a machine with DrRacket installed (e.g. the

More information

public static void negate2(list<integer> t)

public static void negate2(list<integer> t) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

Maps and Binary Search

Maps and Binary Search CITS2200 Data Structures and Algorithms Topic 10 Maps and Binary Search Definitions what is a map (or function)? Specification List-based representation (singly linked) Sorted block representation binary

More information

Topic 10: The Java Collections Framework (and Iterators)

Topic 10: The Java Collections Framework (and Iterators) Topic 10: The Java Collections Framework (and Iterators) A set of interfaces and classes to help manage collections of data. Why study the Collections Framework? very useful in many different kinds of

More information

Comp Intermediate Programming EXAM #2 Supplement April 02, 2003 Rice University - Instructors: Cox & Nguyen

Comp Intermediate Programming EXAM #2 Supplement April 02, 2003 Rice University - Instructors: Cox & Nguyen For your convenience, below is the UML class diagram for the mutable list framework LRStruct studied in class. You are free to use the public methods of IAlgo and LRStruct without explanation/implementation.

More information

Large-scale, Parallel Automatic Patent Annotation

Large-scale, Parallel Automatic Patent Annotation Overview Large-scale, Parallel Automatic Patent Annotation Thomas Heitz & GATE Team Computer Science Dept. - NLP Group - Sheffield University Patent Information Retrieval 2008 30 October 2008 T. Heitz

More information

What is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1

What is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1 CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,

More information

About this exam review

About this exam review Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review

More information

this keyword (1). this with constructor (2). cisc3120 design and implementation of software applications I spring 2015 lecture # I.

this keyword (1). this with constructor (2). cisc3120 design and implementation of software applications I spring 2015 lecture # I. topics: introduction to java, part 4 this references exception handling comparing objects vectors utility classes cisc3120 design and implementation of software applications I spring 2015 lecture # I.4

More information

CS 101 Spring 2006 Final Exam Name: ID:

CS 101 Spring 2006 Final Exam Name:  ID: This exam is open text book but closed-notes, closed-calculator, closed-neighbor, etc. Unlike the midterm exams, you have a full 3 hours to work on this exam. Please sign the honor pledge here: Page 1

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

Building a Parser Part III

Building a Parser Part III COMP 506 Rice University Spring 2018 Building a Parser Part III With Practical Application To Lab One source code IR Front End Optimizer Back End IR target code Copyright 2018, Keith D. Cooper & Linda

More information

Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue

Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue Queues CSE 2011 Fall 2009 9/28/2009 7:56 AM 1 Queues: FIFO Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue Applications,

More information

A problem?... Exceptions. A problem?... A problem?... Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Error Handling with Exceptions

A problem?... Exceptions. A problem?... A problem?... Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Error Handling with Exceptions A problem?... Exceptions Suggested Reading: Bruce Eckel, Thinking in Java (Fourth Edition) Error Handling with Exceptions 2 A problem?... A problem?... 3 4 A problem?... A problem?... 5 6 A problem?...

More information

context free grammars

context free grammars context free grammars in JavaMOP CS 119 a property can be seen as a language defined by a grammar 2 http://fsl.cs.uiuc.edu/index.php/special:cfgplugin Instances of MOP MOP JavaMOP BusMOP HardwareMOP languages

More information

Domain-Driven Design Activity

Domain-Driven Design Activity Domain-Driven Design Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Entities and Value Objects are special types of objects

More information

Assessing the quality factors found in in-line documentation written in natural language: The JavadocMiner

Assessing the quality factors found in in-line documentation written in natural language: The JavadocMiner Assessing the quality factors found in in-line documentation written in natural language: The JavadocMiner Ninus Khamis, Juergen Rilling, René Witte Department of Computer Science and Software Engineering,

More information

Defining Classes. Chap 1 introduced many concepts informally, in this chapter we will be more formal in defining

Defining Classes. Chap 1 introduced many concepts informally, in this chapter we will be more formal in defining Defining Classes Chap 1 introduced many concepts informally, in this chapter we will be more formal in defining Classes, fields, and constructors Methods and parameters, mutators and accessors Assignment

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 24 Exceptions Overview Problem: Can we detect run-time errors and take corrective action? Try-catch Test for a variety of different program situations

More information

Analyzing Software using Deep Learning

Analyzing Software using Deep Learning Analyzing Software using Deep Learning Lecture 3: Sequence-to-Sequence Networks and their Applications Prof. Dr. Michael Pradel Software Lab, TU Darmstadt 1 Plan for Today (Part 2) Sequence-to-sequence

More information

Getting Familiar with the API Data Types

Getting Familiar with the API Data Types CHAPTER 4 This module describes the various API data types used in the SCMS SCE Subscriber API. Subscriber ID, page 4-1 Information About Network ID Mappings, page 4-2 Information About SCA BB Subscriber

More information

Performance Assessment using Text Mining

Performance Assessment using Text Mining Performance Assessment using Text Mining Mrs. Radha Shakarmani Asst. Prof, SPIT Sardar Patel Institute of Technology Munshi Nagar, Andheri (W) Mumbai - 400 058 Nikhil Kedar Student, SPIT 903, Sai Darshan

More information

Module 9: Ontologies and Semantic Annotation

Module 9: Ontologies and Semantic Annotation Module 9: Ontologies and Semantic Annotation The University of Sheffield, 1995-2012 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike Licence About this tutorial This

More information

The GATE Embedded API

The GATE Embedded API The GATE Embedded API Module 5 Tenth GATE Training Course June 2017 c 2017 The University of Sheffield This material is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence

More information

COMP 202 Java in one week

COMP 202 Java in one week COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of

More information

Project #1 Computer Science 2334 Fall 2008

Project #1 Computer Science 2334 Fall 2008 Project #1 Computer Science 2334 Fall 2008 User Request: Create a Word Verification System. Milestones: 1. Use program arguments to specify a file name. 10 points 2. Use simple File I/O to read a file.

More information

Introduction to IE and ANNIE

Introduction to IE and ANNIE Introduction to IE and ANNIE The University of Sheffield, 1995-2013 This work is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence. About this tutorial This tutorial comprises

More information

Ontology-based Web Information Extraction in Practice

Ontology-based Web Information Extraction in Practice Ontology-based Web Information Extraction in Practice erecruitment etourism - eprocurement Japan-Austria Joint Workshop on ICT Tokyo, October 18-19, 2010 Institute for Application Oriented Knowledge Processing

More information

public class TicketMachine Inner part omitted. public class ClassName Fields Constructors Methods

public class TicketMachine Inner part omitted. public class ClassName Fields Constructors Methods Main concepts to be covered Understanding class definitions Looking inside classes fields constructors methods parameters assignment statements 5.0 2 Ticket machines an external view Exploring the behavior

More information

Reflection (in fact, Java introspection)

Reflection (in fact, Java introspection) Reflection (in fact, Java introspection) Prof. Dr. Ralf Lämmel Universität Koblenz-Landau Software Languages Team Elevator speech So programs are programs and data is data. However, programs can be represented

More information

An Introduction to Subtyping

An Introduction to Subtyping An Introduction to Subtyping Type systems are to me the most interesting aspect of modern programming languages. Subtyping is an important notion that is helpful for describing and reasoning about type

More information

CS 321 Homework 4 due 1:30pm, Thursday, March 15, 2012 This homework specification is copyright by Andrew Tolmach. All rights reserved.

CS 321 Homework 4 due 1:30pm, Thursday, March 15, 2012 This homework specification is copyright by Andrew Tolmach. All rights reserved. CS 321 Homework 4 due 1:30pm, Thursday, March 15, 2012 This homework specification is copyright 2002-2012 by Andrew Tolmach. All rights reserved. Typechecking In this assignment, you will build a type-checker

More information

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018 Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 22 Mar 2018 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment

More information

OCaml. History, Variants. ML s holy trinity. Interacting with ML. Base type: Integers. Base type: Strings. *Notes from Sorin Lerner at UCSD*

OCaml. History, Variants. ML s holy trinity. Interacting with ML. Base type: Integers. Base type: Strings. *Notes from Sorin Lerner at UCSD* OCaml 1. Introduction Rapid introduction to what s in OCaml 2. Focus on Features Individually as Needed as Semester Progresses *Notes from Sorin Lerner at UCSD* History, Variants Meta Language Designed

More information

Plan (next 4 weeks) 1. Fast forward. 2. Rewind. 3. Slow motion. Rapid introduction to what s in OCaml. Go over the pieces individually

Plan (next 4 weeks) 1. Fast forward. 2. Rewind. 3. Slow motion. Rapid introduction to what s in OCaml. Go over the pieces individually Plan (next 4 weeks) 1. Fast forward Rapid introduction to what s in OCaml 2. Rewind 3. Slow motion Go over the pieces individually History, Variants Meta Language Designed by Robin Milner @ Edinburgh Language

More information

CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017

CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017 CS-140 Fall 2017 Test 2 Version A Nov. 29, 2017 Name: 1. (10 points) For the following, Check T if the statement is true, the F if the statement is false. (a) T F : An interface defines the list of fields

More information

Program Fundamentals

Program Fundamentals Program Fundamentals /* HelloWorld.java * The classic Hello, world! program */ class HelloWorld { public static void main (String[ ] args) { System.out.println( Hello, world! ); } } /* HelloWorld.java

More information

Syntax Errors; Static Semantics

Syntax Errors; Static Semantics Dealing with Syntax Errors Syntax Errors; Static Semantics Lecture 14 (from notes by R. Bodik) One purpose of the parser is to filter out errors that show up in parsing Later stages should not have to

More information

Exploring the Use of Semantic Technologies for Cross-Search of Archaeological Grey Literature and Data

Exploring the Use of Semantic Technologies for Cross-Search of Archaeological Grey Literature and Data Exploring the Use of Semantic Technologies for Cross-Search of Archaeological Grey Literature and Data Presented by Keith May @keith_may Based on the work of Andreas Vlachidis, Ceri Binding, Keith May,

More information

BD003: Introduction to NLP Part 2 Information Extraction

BD003: Introduction to NLP Part 2 Information Extraction BD003: Introduction to NLP Part 2 Information Extraction The University of Sheffield, 1995-2017 This work is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike Licence. Contents This

More information

Simple Data Source Crawler Plugin to Set the Document Title

Simple Data Source Crawler Plugin to Set the Document Title Simple Data Source Crawler Plugin to Set the Document Title IBM Content Analytics 1 Contents Introduction... 4 Basic FS Crawler behavior.... 8 Using the Customizer Filter to Modify the title Field... 13

More information

Segment #10 Java Embedding

Segment #10 Java Embedding Segment #10 Java Embedding Problem/Use Case I have a Customer Entity Bean that allows me to retrieve a SSN based on an email id. How can I invoke that bean from within my BPEL process? BPEL call A BPEL

More information

The Compiler So Far. CSC 4181 Compiler Construction. Semantic Analysis. Beyond Syntax. Goals of a Semantic Analyzer.

The Compiler So Far. CSC 4181 Compiler Construction. Semantic Analysis. Beyond Syntax. Goals of a Semantic Analyzer. The Compiler So Far CSC 4181 Compiler Construction Scanner - Lexical analysis Detects inputs with illegal tokens e.g.: main 5 (); Parser - Syntactic analysis Detects inputs with ill-formed parse trees

More information

CPSC 411, 2015W Term 2 Midterm Exam Date: February 25, 2016; Instructor: Ron Garcia

CPSC 411, 2015W Term 2 Midterm Exam Date: February 25, 2016; Instructor: Ron Garcia CPSC 411, 2015W Term 2 Midterm Exam Date: February 25, 2016; Instructor: Ron Garcia This is a closed book exam; no notes; no calculators. Answer in the space provided. There are 8 questions on 14 pages,

More information

QUEEN MARY, UNIVERSITY OF LONDON DCS128 ALGORITHMS AND DATA STRUCTURES Class Test Monday 27 th March

QUEEN MARY, UNIVERSITY OF LONDON DCS128 ALGORITHMS AND DATA STRUCTURES Class Test Monday 27 th March QUEEN MARY, UNIVERSITY OF LONDON DCS128 ALGORITHMS AND DATA STRUCTURES Class Test Monday 27 th March 2006 11.05-12.35 Please fill in your Examination Number here: Student Number here: MODEL ANSWERS All

More information

Compilers CS S-01 Compiler Basics & Lexical Analysis

Compilers CS S-01 Compiler Basics & Lexical Analysis Compilers CS414-2005S-01 Compiler Basics & Lexical Analysis David Galles Department of Computer Science University of San Francisco 01-0: Syllabus Office Hours Course Text Prerequisites Test Dates & Testing

More information

Singleton Pattern Creational

Singleton Pattern Creational Singleton Pattern Creational Intent» Ensure a class has only one instance» Provide a global point of access Motivation Some classes must only have one instance file system, window manager Applicability»

More information

CSE 431S Type Checking. Washington University Spring 2013

CSE 431S Type Checking. Washington University Spring 2013 CSE 431S Type Checking Washington University Spring 2013 Type Checking When are types checked? Statically at compile time Compiler does type checking during compilation Ideally eliminate runtime checks

More information

1 of 6 11/08/2011 10:14 AM 1. Introduction 1.1. Project/Component Working Name: SJSAS 9.1, Support for JDBC 4.0 in JDBC RA, RFEs 1.2. Name(s) and e-mail address of Document Author(s)/Supplier: Jagadish

More information

Informatica 3. Marcello Restelli. Laurea in Ingegneria Informatica Politecnico di Milano 9/15/07 10/29/07

Informatica 3. Marcello Restelli. Laurea in Ingegneria Informatica Politecnico di Milano 9/15/07 10/29/07 Informatica 3 Marcello Restelli 9/15/07 10/29/07 Laurea in Ingegneria Informatica Politecnico di Milano Structuring the Computation Control flow can be obtained through control structure at instruction

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

Any questions. Say hello to OCaml. Say hello to OCaml. Why readability matters. History, Variants. Plan (next 4 weeks)

Any questions. Say hello to OCaml. Say hello to OCaml. Why readability matters. History, Variants. Plan (next 4 weeks) Any questions Say hello to OCaml? void sort(int arr[], int beg, int end){ if (end > beg + 1){ int piv = arr[beg]; int l = beg + 1; int r = end; while (l!= r-1){ if(arr[l]

More information

Compilers CS S-01 Compiler Basics & Lexical Analysis

Compilers CS S-01 Compiler Basics & Lexical Analysis Compilers CS414-2017S-01 Compiler Basics & Lexical Analysis David Galles Department of Computer Science University of San Francisco 01-0: Syllabus Office Hours Course Text Prerequisites Test Dates & Testing

More information

Random Testing in 321

Random Testing in 321 Random Testing in 321 1 Test Cases So Far Each test relates a particular input to a particular output. (test (bound-ids (with 'x (id 'y) (id 'x))) '(x)) (test (binding-ids (with 'x (id 'y) (id 'x))) '(x))

More information

CSE431 Translation of Computer Languages

CSE431 Translation of Computer Languages CSE431 Translation of Computer Languages Semantic Analysis Doug Shook Control Structure Analysis Three major phases for Java: Type Checking How might this apply to control structures? Reachability Analysis

More information

Project Compiler. CS031 TA Help Session November 28, 2011

Project Compiler. CS031 TA Help Session November 28, 2011 Project Compiler CS031 TA Help Session November 28, 2011 Motivation Generally, it s easier to program in higher-level languages than in assembly. Our goal is to automate the conversion from a higher-level

More information

public static boolean isoutside(int min, int max, int value)

public static boolean isoutside(int min, int max, int value) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Spring 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions

More information

License Line Management Functions

License Line Management Functions CHAPTER 8 License Line Management Functions This chapter provides information about the following license line management functions: asyncannotatelicenselines, page 8-1 asyncdeploylicenselines, page 8-3

More information

Programming Languages

Programming Languages CSE 130 : Fall 2008 Programming Languages Lecture 2: A Crash Course in ML Ranjit Jhala UC San Diego News On webpage: Suggested HW #1, sample for Quiz #1 on Thu PA #1 (due next Fri 10/10) No make-up quizzes

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Copyright 1992-2015 by Pearson Education, Inc. All Rights Reserved. Data structures Collections of related data items. Discussed in depth in Chapters 16 21. Array objects Data

More information

DD2460 Software Safety and Security: Part III Exercises session 2: Type + Jif

DD2460 Software Safety and Security: Part III Exercises session 2: Type + Jif DD2460 Software Safety and Security: Part III Exercises session 2: Type + Jif Gurvan Le Guernic adapted from Aslan Askarov DD2460 (III, E2) February 22 st, 2012 1 Noninterference type systems challenge

More information

Using Type Annotations to Improve Your Code

Using Type Annotations to Improve Your Code Using Type Annotations to Improve Your Code Birds-of-a-Feather Session Werner Dietl, University of Waterloo Michael Ernst, University of Washington Open for questions Survey: Did you attend the tutorial?

More information

20-CS Programming Languages Fall Final Exam! Answer all questions Be sure to put your name on the paper in the space provided!

20-CS Programming Languages Fall Final Exam! Answer all questions Be sure to put your name on the paper in the space provided! 20-CS-4003-001 Programming Languages Fall 2018 Final Exam! Answer all questions Be sure to put your name on the paper in the space provided! Name Signature The code below compiles and runs just fine (worse

More information

Documenting Java Code. Javadoc: The Tool and the Legend

Documenting Java Code. Javadoc: The Tool and the Legend Documenting Java Code Javadoc: The Tool and the Legend Comments in Java Regular Java comments: /* */ for programmers who must read or modify your code. One Liners : // for programmers who must read or

More information

Binary Search. Roland Backhouse February 5th, 2001

Binary Search. Roland Backhouse February 5th, 2001 1 Binary Search Roland Backhouse February 5th, 2001 Outline 2 An implementation in Java of the card-searching algorithm is presented. Issues concerning the correctness of the implementation are raised

More information

Object Model. Object Oriented Programming Spring 2015

Object Model. Object Oriented Programming Spring 2015 Object Model Object Oriented Programming 236703 Spring 2015 Class Representation In Memory A class is an abstract entity, so why should it be represented in the runtime environment? Answer #1: Dynamic

More information

On a Java based implementation of ontology evolution processes based on Natural Language Processing

On a Java based implementation of ontology evolution processes based on Natural Language Processing ITALIAN NATIONAL RESEARCH COUNCIL NELLO CARRARA INSTITUTE FOR APPLIED PHYSICS CNR FLORENCE RESEARCH AREA Italy TECHNICAL, SCIENTIFIC AND RESEARCH REPORTS Vol. 2 - n. 65-8 (2010) Francesco Gabbanini On

More information

CS11 Java. Fall Lecture 7

CS11 Java. Fall Lecture 7 CS11 Java Fall 2006-2007 Lecture 7 Today s Topics All about Java Threads Some Lab 7 tips Java Threading Recap A program can use multiple threads to do several things at once A thread can have local (non-shared)

More information

Programming Languages

Programming Languages CSE 130: Spring 2010 Programming Languages Lecture 2: A Crash Course in ML Ranjit Jhala UC San Diego News On webpage: Suggested HW #1 PA #1 (due next Wed 4/9) Please post questions to WebCT Today: A crash

More information

CSE 143 Au03 Midterm 2 Page 1 of 7

CSE 143 Au03 Midterm 2 Page 1 of 7 CSE 143 Au03 Midterm 2 Page 1 of 7 Question 1. (4 points) (a) If a precondition is not true when a method is called, two possible ways to detect and handle the situation are to use an assert statement

More information

Design of my planned contribution to the PDFBox Project

Design of my planned contribution to the PDFBox Project ATHENS UNIVERSITY OF ECONOMICS AND BUSINESS DEPARTMENT OF MANAGEMENT SCIENCE AND TECHNOLOGY Maintenance and Refactoring Design of my planned contribution to the PDFBox Project 1 Communication with Mr.

More information

CS S-01 Compiler Basics & Lexical Analysis 1

CS S-01 Compiler Basics & Lexical Analysis 1 CS414-2017S-01 Compiler Basics & Lexical Analysis 1 01-0: Syllabus Office Hours Course Text Prerequisites Test Dates & Testing Policies Projects Teams of up to 2 Grading Policies Questions? 01-1: Notes

More information