or
Sign in to turn on 1-Click ordering.
or
Amazon Prime free trial required. Sign up when you check out. Learn more
More Buying Choices
Have one to sell? Sell yours here
Compiling for the .Net Common Language Runtime (Clr) (.NET series)
 
See larger image
 
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.

Compiling for the .Net Common Language Runtime (Clr) (.NET series) [Paperback]

John Gough
4.0 out of 5 stars  See all reviews (1 customer review)
RRP: £28.99
Price: £27.99 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £1.00 (3%)
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.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want guaranteed delivery by Thursday, June 7? Choose Express delivery at checkout. See Details
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details.

Product details

  • Paperback: 416 pages
  • Publisher: Prentice Hall; 1 edition (26 Oct 2001)
  • Language English
  • ISBN-10: 0130622966
  • ISBN-13: 978-0130622969
  • Product Dimensions: 23.4 x 18.1 x 2.8 cm
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 972,592 in Books (See Top 100 in Books)

More About the Author

K. John Gough
Discover books, learn about writers, and more.

Visit Amazon's K. John Gough Page

Product Description

Product Description

This book covers thru .NET Common Language Runtime; the latest environment for component leased programming or Microsoft Platforms. This book deals with implementation of conventional programming languages. The book will have two examples used to illustrate the main points of the text.

From the Back Cover

  • Go "under the hood" with .NET's Common Language Runtime!
  • The definitive book for serious software engineers, compiler developers, and language implementers
  • Mapping any language's key features onto .NET's common object model
  • Comprehensive coverage of Microsoft Intermediate Language (MSIL)
  • Includes extensive examples drawn from C#

The first practical guide to Microsoft's .NET Common Language Runtime!

Compiling for the .NET Common Language Runtime (CLR) is the first book to give software engineers all the details and guidance they need to create full-featured .NET compilers or implement programming languages for the .NET environment. Renowned compiler expert John Gough presents an unprecedented "under the hood" inspection of Microsoft's .NET CLR, illuminating the key concepts underlying Microsoft's new technology and demonstrating exactly how CLR maximizes interoperability across multiple programming languages. The book uses a running example to illustrate its key points(Gough's own open source Gardens Point Component Pascal compiler(which can be used as a basis for sophisticated experimentation.

  • Reviews every element of CLR: Virtual Execution Engine, Base Instruction Set, Common Type System, and more
  • Shows how to map a language's key features onto the .NET Virtual Object System's common object model
  • Explains how CLR represents programs at compile time
  • Explores the semantic analysis performed by CLR prior to emitting Microsoft Intermediate Language (MSIL) code
  • Provides in-depth coverage of MSIL code generation
  • Covers features needed by a wide range of languages
  • Explores advanced topics such as accessing nonlocal variables and supporting multiple inheritance
  • Includes many examples drawn from Microsoft's new C# language

If you need absolute mastery over the .NET CLR, only one book delivers what you're looking for: Compiling for the .NET Common Language Runtime (CLR) by John Gough.


Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organise and find favourite items.
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 Reviews

5 star
0
3 star
0
2 star
0
1 star
0
Most Helpful Customer Reviews
4 of 4 people found the following review helpful
By A Customer
Format:Paperback
The book really does have two halves - a description of some CLR internals, and some details of a Pascal compiler design and implementation. The material devoted to the first is excellent, but I really didn't want compiler theory as well - the book doesn't cover the topic very widely (which is probably good anyway) but I wish it didn't go into as much depth as it does.

Certainly there are very useful snippets, such as showing how to map covariance into .Net code, but the general topics of constructing ASTs, for example, have little to do with .Net and are given much better coverage in other books on computer language theory.

However, even with that criticism, this book is a very good look at the production of a compiler for .Net though don't expect it to become your only book on compiler design.

Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  6 reviews
35 of 37 people found the following review helpful
Excellent coverage of IL and practical compilation for CLR 13 Nov 2001
By A Customer - Published on Amazon.com
Format:Paperback
Compiling for the .NET Common Language Runtime is a very complete book and an excellent reference. It provides a solid introduction to the CLR, type system and instruction set (IL). The discussion of code generation for the CLR is thorough.

An excellent aspect of the book is that it goes beyond the more mundane aspects to discuss broader issues (for example, in mapping language semantics to the CLR). It also manages to include very practical tips such as using the visitor pattern. The book has amazing breadth and depth, yet it is marvelously concise! The writing is clear and easy to understand.

Every compiler phase (from scanning to code generation) is covered, so the book is very accessible for programmers new to compilation (as I was). However I doubt that more experienced programmers will find it tedious as the chapters on scanning, parsing and semantic analysis could probably be skipped. The emphasis is obviously on code generation, and the usual language constructs (such as loops, etc.) are covered with some interesting discussion. The book also discusses other issues with compiling for the CLR-- using custom attributes, mangling names for languages that don't support method overloading, even dealing with languages with multiple inheritance (the CLR only supports single inheritance).

The book generates textual IL that is compiled with ilasm, but there is a chapter on using System.Reflection.Emit. This is the only real coverage of an API, so the book avoids any tiresome material that is better left to the MSDN.

30 of 33 people found the following review helpful
Review from CodeGuru.com 9 Nov 2001
By Webmaster At CodeGuru.com - Published on Amazon.com
Format:Paperback
The following review from a CodeGuru member was posted to CodeGuru.com for this book:

Finally a book written by an author who knows his material and is able to express himself clearly in written form. I have reviewed many books and most of them leave me unsatisfied with the depth of information or the breadth of coverage. This book did not disappoint in either of these areas. It is excellent for those wishing to learn precisely how a language is mapped onto the CLR. Granted not everyone will have a need for such information but if you do then I would not hesitate to recommend it.

That's the good news, the bad is that this book is not really needed to be a proficient C# programmer. I believe the audience for this book will be very specialized. People interested in squeezing the very last bit of performance out of C# will undoubtedly compare the IL code generated by the compiler and then modify their C# practices accordingly. Others faced with debugging in the absence of a symbolic debugger, embedded environments???, will need to code in C# and then debug in IL. For these types of situations this book will prove to be invaluable.

The book does an excellent job of taking sample C# code and showing the resulting generated IL code. I can't realistically think of an example of typical code or a typical code sequence that is not covered by one of the many examples. It digs into assemblies, unmanaged code, and interaction with COM. It even goes so far as to describe how name mangling can be accomplished in languages that traditionally do not support such a feature.

The assumed knowledge section indicates that the reader should be familiar with the basic concepts of programming languages, customary data structures and algorithm theory. I would also recommend that the reader have some knowledge of grammars, lexical analysis and parsing to the level of a first college course.

8 of 8 people found the following review helpful
essentially an IL generation book 24 Jun 2005
By doug - Published on Amazon.com
Format:Paperback
The book does NOT cover all phases of a compiler as a previous reviewer indicated, such as parsing or designing and constructing abstract syntax trees. It only covers the last phase of generating IL for equivalent Pascal code. In that sense, it duplicates what you can learn from the ildasm and reflector tools, as well as the more recent book Inside Microsoft .NET IL Assembler by Lidin. The book is well written, however I would have liked to have seen more coverage of emitting IL to handle non-Pascal or non-C# features. The book mentions a corresponding website with more code, but I couldn't find much there at all. Also the book suggests looking at "Project 7" by Microsoft which apparently years ago implemented many languages for .NET including Python, but there is nothing about that project available anywhere.

I would recommend the Lidin book instead, plus the use of ildasm and Reflector.
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges