Booking options
£93.99
£93.99
On-Demand course
2 hours 31 minutes
All levels
Parsing or syntactic analysis is one of the first stages in designing and implementing a compiler. Implementing a full manual parser from scratch allows understanding and seeing this process from the inside, demystifying internal structures, and turning building parsers into an interesting engineering task.
Parsing or syntactic analysis is one of the first stages in designing and implementing a compiler. A well-designed syntax of your programming language is a big motivation why users would prefer and choose your language. Recursive descent parsers are the group of parsers that are widely used in practice in many production programming languages. In contrast with automated parsing algorithms, the manual implementation allows having full control over the parsing process and handling complex constructs, which may not be possible in the automatic parsers.
Besides, implementing a full manual parser from scratch allows understanding and seeing this process from inside, demystifying internal structures, and turning building parsers into an interesting engineering task. In the Building a Parser from Scratch class, we dive into pure practical implementation, building and learning different aspects of parsers.
In this course, you will learn the concept of recursive descent parsing, understand what is tokenizer and how it cooperates with the parser module, learn what is Abstract Syntax Tree (AST) and how to have different formats of these ASTs, what is 'lookahead' and predictive parsing, and eventually build a parser for a full programming language, similar to Java or JavaScript. All resources and code files are placed here: https://github.com/PacktPublishing/Building-a-Parser-from-scratch
Learn about recursive descent parsers
Learn about top-down parsing
Learn about Abstract Syntax Trees (AST)
Learn about tokenizer and tokens
Learn about different AST formats
Learn about regular expressions specification
This course is for any curious engineer who would like to gain skills in building complex systems (and building a parser for a programming language is a pretty advanced engineering task!) and obtain transferable knowledge for building such systems.
If you are interested specifically in compilers, interpreters, and source code transformation tools, then this class is also for you.
The prerequisites for this course are the basic data structures and algorithms: trees, lists, traversal, and regular expressions.
Each lecture is self-sufficient and concise, and describes information related to the topic, not distracting on unrelated materials or talks. Usage of animated presentations combined with live-editing notes makes understanding of the topics easier and shows how (and when in time) the object structures are connected.
Learn about basic expression and tokenizer * Learn about program structure and AST formats * Learn about control flow and functions
https://github.com/PacktPublishing/Building-a-Parser-from-scratch
Dmitry Soshnikov is a software engineer and a lecturer on different computer science topics. He is passionate about education and focuses on high-quality educational content: concise and straight-to-the-point animated lectures with live-editing notes.
1. Basic expressions and Tokenizer
2. Program structure
3. Control flow and Functions
4. Object-oriented programming