Gift Guide

Programming Language Fundamentals by Example / Edition 0

Hardcover (Print)
Buy New
Buy New from
Buy Used
Buy Used from
(Save 27%)
Item is in good condition but packaging may have signs of shelf wear/aging or torn packaging.
Condition: Used – Good details
Used and New from Other Sellers
Used and New from Other Sellers
from $5.19
Usually ships in 1-2 business days
(Save 94%)
Other sellers (Hardcover)
  • All (12) from $5.19   
  • New (5) from $39.00   
  • Used (7) from $5.19   


Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models used to design phases, and the foundations of languages including linguistics and logic.

To give students a thorough, working knowledge of programming languages, this textbook uses a semester-long project in which students create a programming language. This project brings to life the concepts and theories fundamental to computer languages. The author incorporates "thinking tools" such as concept maps, matrices for analysis, and flowcharts.

Designed for fourth year undergraduates and first year graduates with enough exposure to programming to absorb the technical foundations of languages, this textbook offers a unique approach to understanding how programming languages are created and function.

Read More Show Less

Product Details

  • ISBN-13: 9780849370168
  • Publisher: Taylor & Francis
  • Publication date: 10/28/2006
  • Edition description: 1ST
  • Edition number: 0
  • Pages: 256
  • Product dimensions: 6.00 (w) x 9.00 (h) x 0.80 (d)

Table of Contents

Expectations for the Student and Instructor
Opening Comments
Possible Semester Course
Detailed Semester Plan
Milestone Maps

Memorandum From the President
Primitive Data and Primitive Operations
Primitive Data Operations
Control Structures
Input File Structures and File Scope
Derived Types
Scope and Persistence
Type System
Primitive Functions and Arguments
Built-in Values, Functions and Pseudo-Functions
Type Conversions
Part 1. Milestones

General Information on Milestones
Milestone Report
General Resources
Makefile Prototype
Milestone I. Learning a New Language: gForth
Milestone Requirements: Introduction to gForth
Case 1. String Representation
Introduction to gForth
Programming in gForth
Introduction to Milestone Cases
Case 2. Elementary Arithmetic Statements
Case 3. Round 2: More Arithmetic
Case 4. if, while Statements and User-Defined Functions
Case 5. Complex Data Types
Case 6. Functions
Milestone II. Lexical Structure and Scanner
Case 7. Project Management
Professional Methods and Values
Special Reporting Requirements
Additional Information
Scanner Design
Case 8. Designing the Tokens
Case 9. Development of Finite State Automata Definitions
Case 10. Finite State Machine Design
Scanner Design Extended
Case 11. Reasoning about Design
Work Breakdown Structure
Case 12. Scanner Work Breakdown Structure
Symbol Tables
Case 13. Symbol Table Design
Milestone III. Parsing
Professional Methods and Values
Case 14. Do We Have To Work Hard?
Testing Requirement
Grammars and Things Grammatical
Case 15. Conversion of FSA Graphs to Grammars
Parser Design Using Production Systems
Parser Design II
Case 16. Converting the S Production to Code
Testing the Parser: Context Free Language Generation
Case 17. Structural Induction of Words
Case 18. Developing the Parsing Grammar
Milestone IV. Type Checking
Professional Methods and Values
Performance Objectives
Milestone Report
What is a Type?
Reasoning about Types
Case 19. Historically Important Languages
Developing Type Rules
Case 20. ML Type System
Design Issues
Developing Type-Checking Rules
Case 21. Type Conversion Matrix
Specification for the Whole Type Checker
Case 22. Form of Input
The Search Algorithm
Case 23. Should bools be allowed?
Unification and Type Checking Algorithm
Case 24. Type Checking and the Symbol Table
Case 25. Developing the Type Checking Algorithm
Milestone V. Elementary Compiling: Constants Only
Professional Methods and Values
Performance Objectives
String Implementation
Ifs and Whiles
Milestone Report
Milestone VI. Scoping and Local Variables
Variables and Local Values
Scoping and SOL
Case 26. Binding Times and Scope
Case 27. Scopes: Filling in the Details
Compiling Issues for SOL
Case 28. Handling Nested Scopes
Case 29. Getting to the Details: Scope and Forth
Case 30. Stack Effects
Milestone VII. User-Defined Functions
Performance Objectives
Milestone Report
Binding the Function Name to the Function
Recursive and Non-Recursive Functions
Implementation Issues
Case 31. Passing Parameters in SOL
Case 32. Return Values
Milestone VIII. User-Defined Complex Data
Performance Objectives
Milestone Report
Fundamental Concepts
Writing Arrays and Structures in SOL
Case 33. gForth Structures
Milestone IX. Classes and Objects
Classess and Classs
Performance Objectives
Milestone Report
Encapsulation and Information Hiding
Part 2. General Information

Mind Maps

Focus Problem
Philosophy of Linguistics
Meaning: Language, Mind and World
Case 34. What Does An Infinite Loop Mean?
What is Syntax?
Case 35. What Can We Learn From A Dictionary?
Case 36. How Does What We learned Play Out In Programming Languages?
Case 37. English Grammar with Production Rules
Case 38. Grammars in Programming Languages
Focused SQRRR

Meta language versus Object language
Surface Structure and Deep Structure
Case 39. What is the Proper Way to Form Java Symbols?
Case 40. What are the Parts of Speech in Java?
Case 41. How is the Syntax of Java Presented to Developers?
Case 42. Graph Models of Syntax
3. Structural Induction
Case 43. Structural Induction
Interpretation Semantics
What about Pragmatics?

A General Framework
Case 44. Merging Linguistics and Compiling
Case 45. Process Ordering
Case 46. Primitive Data Types
Defining a Language
Case 47. Designing Modules
Introduction to Design
Two Elements
Using These Ideas in Design
Case 48. Match-case semantics
Design Recap

Case 49. Early History of Programming Languages
Binding Times: When Do We Know?
Case 50. SOL Definitional Environments
The _-Calculus Model
Case 51. Argument Passing
Implementation Issues

Computer Memory 261
Determining the Size Required
Case 52. Design an Algorithm to Calculate Size
Case 53. Why Does sizeof compute 16 and not 13?
Case 54. Design an Addressing Polynomial for Arrays
Case 55. Develop Extended Addressing Polynomial
Case 56. General 2-Dimensional Array Addressing Polynomial
Runtime Storage Management
Case 57. Stack Frame Manipulation
Case 58. Listing Activation Records

PERSONAL SOFTWARE DESIGN PROCESS PORTFOLIO Time Management for Computer Science Students
Case 59. Tracking Your Time Usage
Discovering How Long It Takes to Write a Program
Earned Value Computations
Appendix: Templates
Summary Information for PDSPP0
Requirements Template (RWT)
Time Recording Log (TRT)
Schedule Planning Template (SPT)
Defect Log Template (DLT)

Looking Behind
The Role of the _-calculus
Moving Forward from 1954
From 1954 Until 1965
Programming Languages from 1965-1980
The 1980s and 1990s: The Object Oriented Paradigm
The Parallel Processing Revolution
Critique of the Present
Appendix A. Reflections by One Good Student
Milestone I
Milestone II-III
Milestone IV

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)