or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Sell Back Your Copy
For a $0.36 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Build Your Own .NET Language and Compiler
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Build Your Own .NET Language and Compiler [Paperback]

Edward G. Nilges (Author)
3.1 out of 5 stars  See all reviews (17 customer reviews)

List Price: $49.99
Price: $31.32 & this item ships for FREE with Super Saver Shipping. Details
You Save: $18.67 (37%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Monday, January 30? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more


Book Description

1590591348 978-1590591345 May 13, 2004 1

All software developers use languages – it’s the fundamental tool of the trade. Yet despite widespread curiosity about how languages work, few developers actually learn how they work. For one thing, most texts on language and compiler development are highly academic and theoretical tomes intended for use in college level computer science programs. This is a shame, because the techniques used to make a language work have widespread applications in general programming.

This book takes the mystery out of compiler and language development and makes it accessible to every programmer. Ruthlessly practical, this book teaches fundamental techniques that programmers can use in their every day work.

Developers will learn how to:

- add scripts and macro languages to their applications,

- generate code "on the fly",

- add runtime expression evaluation to their applications

- understand parsing techniques – essential for extracting information from any structured form of data ranging from text files to user input to XML or HTML.

As a unique added bonus, this book includes a complete QuickBasic compatible compiler with source code. Not only does this illustrate the techniques taught in the book, it provides a great new .NET language ideal for teaching kids, simple scripting, or just for fun.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Compiling for the .NET Common Language Runtime (CLR) $37.44

Build Your Own .NET Language and Compiler + Compiling for the .NET Common Language Runtime (CLR)
  • This item: Build Your Own .NET Language and Compiler

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Compiling for the .NET Common Language Runtime (CLR)

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



Editorial Reviews

About the Author

Edward G. Nilges has been developing software since 1970. In 1972, he worked on debugging an early Fortran compiler 1972 and made it available to a university community. In 1981, Nilges worked on compiler development where he developed the SL-1XT compiler for voice and data PBX programming, as well as a firmware assembler that was compiled automatically from the firmware reference manual while at Bell-Northern Research, the research arm of Nortel Networks. In 1993, Nilges began developing with VB3 and has developed a variety of projects in Basic. Edward also assisted mathematician John Nash (the real-life protagonist of the movie A Beautiful Mind) with C during a critical period in which Dr. Nash was being considered for the 1993 Nobel Prize. In 1999 Edward developed his vbExpression2Value VB-6 technology to parse and interpret SQL Server and VB expressions for his classes at DeVry. In 2001, acting upon a suggestion from a student colleague at Princeton, Nilges used his copy of VB. NET beta to write the fully OO quickBasicEngine. Nilges currently consults on the use of compiler technology in the real world to parse and interpret complex business rules in industries such as mortgage lending and credit evaluation. He finds that compiler optimization can be used to verify the consistency and completeness of business rule sets.


Product Details

  • Paperback: 388 pages
  • Publisher: Apress; 1 edition (May 13, 2004)
  • Language: English
  • ISBN-10: 1590591348
  • ISBN-13: 978-1590591345
  • Product Dimensions: 9.3 x 6.9 x 0.9 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 3.1 out of 5 stars  See all reviews (17 customer reviews)
  • Amazon Best Sellers Rank: #1,715,752 in Books (See Top 100 in Books)

More About the Author

Edward G. Nilges published Build Your Own .Net Language after a thirty year career as a software developer and educator, working for companies and organizations including Princeton University and Bell-Northern Research. At Princeton, he was honored to assist Nobelist John Nash: at Bell-Northern Research he was responsible for internal compiler development for the SL/I language.

Nilges has published on technology since 1976. An early discovery, made simultaneously with hundreds of other practitioners, was the fact that creating tools to do a job was both more fun and more productive than doing many of the dirty jobs that exist in the so-called real world. For example, when called upon to unsnarl an odious Cobol program that was supposed to bill users for complex PBX usage and did not, Nilges successfully persuaded his company to let him simulate the architecture of the switch in Cobol.

Some of these war stories appear in Build Your Own.

Today, however, Nilges is rather fed up with programming and programmers, although he still uses .Net C Sharp with enthusiasm and is learning F Sharp. Instead, he is a full time teacher with a huge number of students in China, ranging from small children to adults. He prefers at times the honesty and directness of small children to some of the utter nonsense he saw in the computer industry.

As spinoza1111 on the Internet, Nilges has a louche reputation because his writing style and dislike of bullying tends to get him into flame wars. These days he is sharpening his poetic skills for his teaching by replying, in some threads, exclusively in verse form.

Nilges has two adult children and lives today in Hong Kong, on an offshore island.


 

Customer Reviews

17 Reviews
5 star:
 (4)
4 star:
 (5)
3 star:
 (1)
2 star:
 (2)
1 star:
 (5)
 
 
 
 
 
Average Customer Review
3.1 out of 5 stars (17 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

57 of 59 people found the following review helpful:
1.0 out of 5 stars Waste of time, May 20, 2004
By A Customer
This review is from: Build Your Own .NET Language and Compiler (Paperback)
I have been waiting for a book like this for quite awhile. I've read John Gough's book and although that was too much Pascal for me; it was certainly closer to the topic than this book. This book is both incomplete and off the mark. One of the tools, a BNF Analyzer, is written (poorly) in Visual Basic 6. The downloaded source for the programs don't compile "out of the box" either. This was a rush job or done poorly in someone's spare time. Some of the code is from 1998.

Here's the kicker. The author talks about how to write BNF and analyze it, but he actually doesn't use it in his sample compiler. He wrote the compiler manually "in a few days". Then, he talks about producing MSIL, but doesn't, opting for his own opcode syntax with an interpreter. There is no information in this book about producing a compiler that will create .NET code.

This was a lazy and deceitful attempt and the author should be ashamed for not taking the time to do it properly using BNF to create the compiler engine and then producing MSIL, which is the whole point of the title "Build Your Own .NET Language and Compiler".

He clearly knows what he's talking about, but he tried to throw together a bunch of his compiler knowledge in hopes of making a quick buck. Sadly, I was suckered into it, but hopefully, you'll read this and skip it entirely.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


46 of 50 people found the following review helpful:
2.0 out of 5 stars Okay for the novice, I guess..., November 9, 2004
Amazon Verified Purchase(What's this?)
This review is from: Build Your Own .NET Language and Compiler (Paperback)
I preordered the book and I forced to admit that I was disappointed in the end product. The title implies that a compiler is created for .NET, but it does not create a MSIL compiler (such as C# or VB.NET). The provided code while it is written in a .NET language does not produce MSIL which is what the title of the book implies, instead the compiler runs it's own p-code. There is no partially correct statement as a previous review states, either it is or it is not and this is *not* a .NET compiler.

The fact that the author writes excuses for the book in his own review of the book should tip you off that something is not what you would think it is at face value. If you read the book you will find that he also makes such a statement that the code may not be what you were expecting in the book itself. Nilges knows that something is wrong.

That being said, if you have no background in writing compilers then this book may be of some value to you as an introductory text on the subject but don't expect to find anything here of any real use to your own work. If you think that you might enjoy the book then buy it used.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


30 of 33 people found the following review helpful:
3.0 out of 5 stars Great BNF coverage; but gets off subject too often, July 4, 2005
This review is from: Build Your Own .NET Language and Compiler (Paperback)

The book starts out explaing the standard notational language
used to define the syntax of a language: BNF (and extended BNF).
The authors VB6 EBNF-to-doc compiler "compiles" an EBNF
grammer into a documentation file! This is a novel idea
and it helps to show how EBNF relates to the syntax of the
language in question.

Although his presentation of EBNF is masterful, he didn't
use EBNF to generate the parser for his compiler. I expected
him to use a parser generator like ANTLR or coco/R to generate
a scanner and recursive decent parser automatically from
the grammer. Instead, he chose to "roll his own" scanner
and parser.

His scanner seems very good, and his discussion of
the scanner is thorough.

His parser is harder to judge by reading the book since he
kept getting off the main subject and he didn't really
explain the parsing code.

His code generator discussion has some nuggets of wisdom,
but is poorly organized.

One overriding concern with this author is that he
doesn't use terminology consistant with other
authors. He doesn't use common terms like p-code,
intermediate language, virtual machine, or the like.
His non-standard use of the word "assembling" is really
just a step that removes comments from his p-code!

The authors presentation can get off track frequently.
Its hard to find 5 pages in a row that stay on
subject completely. He also likes to quote famous people,
often out of context to the subject at hand.

His runtime interpreter (which some might call a virtual
machine) is called the "Nutty Professor Interpreter". The
heavy objects used in his design make for a terribly
inefficent runtime. His use of collections to implement
array elements is very elegant, but completely impractical
from a performance standpoint.

I like the author's concept of integrated testing, but
he seems to have left out the most important piece of the
testing architecture - a suite of test programs in the
target language.

I would have preferred these changes to the book:

1) a suite of test programs in basic.

2) compiler should save the pseudo-code into a file on
disk. His runtime "nutty professor" interpreter should
read from that pseudo-code file and execute the
program. This helps to separate the tiers.

3) his runtime architecture should have focused more
on efficiency. It's perhaps 100 times slower than any
other BASIC interpreter (maybe 1000 - I didn't
actually time it). And it should be faster than simple
interpreters because this uses a compiler in the
front-end - the runtime interpreter doesn't need to
analyze the syntax so it should be very fast.

4) he should NOT have implemented variants or user-defined
types. These took a lot of thought and effort which should
have been directed on the first 3 items instead.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
common declarations, scanned tokens, leftmost token, professor interpreter, inspect method, compiler procedures, stateful objects, lexical analyzer, common regular expressions, basic identifiers, grammar category, compiler developers, grammar categories, multiplicative operator, recursive descent
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Visual Basic, Nutty Professor, Apress Web, Language Design, General Declarations, Visual Studio, Backus-Naur Form, Returning Nothing, Reference Manual Options, John Von Neumann, Courier New, Edsger Dijkstra, Reverse Polish Notation, Norman Solomon, Brief Introduction, Common Language Runtime, Set Index, Nfodeling Figure, Evaluate Credit, Object Modeling, Jeffery Ullman, Compiler Figure, Brief Hïstor, New Version, Ravi Sethi
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
See all 2 discussions...  
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject