JavaParser: Visited
JavaParser: Visited
Free!
Minimum price
$15.00
Suggested price
JavaParser: Visited

This book is 50% complete

Last updated on 2018-05-31

About the Book

This book will introduce readers to the core library from JavaParser.org. The JavaParser project aims to provide a collection of simple lightweight tools to process Java source code programatically.

The first part of this book takes a look at the principal features of the library. Here users will work through step by step examples that demonstrate how to get started with analysing and transforming code.

For the second part, the team behind the ongoing support of the library will take you through some of their favourite use cases for the library.

Case Studies:

Case studies are currently being written, if you have a great idea please feel free to suggest it.

Please be aware that this book is being released incrementally, when a new version is published you will get a notification via email to download the latest version.

About the Authors

Nicholas Smith
Nicholas Smith

Nicholas is a seasoned Software Engineer currently applying his trade in London. He has been fortunate enough to travel a little with his work as well, working in Denmark, India and Italy during his career.

His educational background is principally in focused on Software Engineering, with both a Bachelors and Masters degree, the later specialising in Financial Services.

Although he has dabbled in several languages in his time he considers himself principally a Java programmer, having used the language since 1.3

When he has the free time he like to contribute to JavaParser an open source project that provides tooling to analyse, transform and generate Java code based on an Abstract Syntax Tree representation.

Federico Tomassetti
Federico Tomassetti

I am a Consultant Software Architect specialized in Language Engineering: I build languages, editors, parsers, compilers, interpreters and simulators. You can read regular posts on my blog on language engineering.

I have an insane passion about Software Development: I love it since I was 8 years old and I keep thinking about it all the time. I have done several things: got my PhD in Software Engineering, done research and worked in Italy, Germany, Ireland and France. I spoke at meetups and scientific conferences, wrote papers and article, worked for TripAdvisor and Groupon.

I contribute heavily to open-source and spend my time thinking about software development and looking for the next challenge. So far I had an incredible amount of fun and I have no intention to stop any time soon.

Table of Contents

  • Preface
    • What is JavaParser?
    • JavaParser is not
    • Who is this book for?
    • This book is not for
    • How to use this book?
    • Conventions used in this book
    • Code Samples
    • How to Contact Us
    • The Authors
    • Acknowledgements
  • A Brief Introduction to Abstract Syntax Trees
    • Everything is a node
    • When is a node, not a node?
    • Growing our first tree
    • Beyond Abstract
  • A Flying Visit
    • Travelling Companions
    • A Simple Visitor
    • A Simple Visitor With State
    • A Simple Modifying Visitor
    • A Simple Comment Reporter
  • Comments - Here Be Dragons
    • Comment Attribution
    • Comments In Practice
  • Pretty Printing and Lexical Preservation
    • What is Pretty-Printing?
    • What is Lexical-Preserving Printing?
    • Choosing between Pretty Printing and Lexical-Preserving Printing
    • Using Pretty Printing
    • Using Lexical-Preserving Printing
    • How it works: the NodeText and the Concrete Syntax Model
    • Summary
  • Solving Symbols and References
    • How to setup the JavaSymbolSolver?
    • How to get the type of references: a first example
    • Specifying where to look for types
    • Resolving a type using an absolute name
    • Resolving a Type in a context
    • Resolving method calls
    • Using the CombinedTypeSolver
    • Using the MemoryTypeSolver
    • Summary
  • Appendix A - ReversePolishNotation.java
  • Appendix B - Visitable Nodes
  • Notes

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub