Udemyintermediateen

Parsing Algorithms

Learn syntactic analysis: theory & practical application. Understand sentence structure and improve language skills. Perfect for students & professionals.

4.8(121)
789students
4h 27m
Certificate
Dmitry Soshnikov
Dmitry SoshnikovSoftware engineer and Instructor

Course Content

Parsing Algorithms is an intermediate-level Udemy course taught by Dmitry Soshnikov. It runs 4h 27m, is taught in English, and includes a certificate of completion. Learners rate it 4.8 out of 5 from 121 reviews, with 789 students enrolled. It is a paid course, first published October 2020.

Unlock the Secrets of Parsing Algorithms: A Deep Dive into Compiler Design

This course provides a comprehensive understanding of parsing theory and its practical application in compiler construction. Learn to design and implement robust parsers for programming languages, gaining a valuable skill for any aspiring software engineer.

Why is Parsing Important?

A well-defined syntax is crucial for language adoption. The quality of your language's structure significantly impacts its usability and appeal. Mastering parsing empowers you to create languages that are both powerful and easy to use.

Addressing the Challenges of Parsing Theory

Traditional parsing theory can be intimidating, often delving into complex formal concepts from the Theory of Computation. This course bridges the gap, avoiding overly abstract approaches and focusing on practical implementation. We move beyond superficial explanations of manual parsing techniques like recursive descent, providing a deep understanding of automated parser generators.

Learn by Doing: Hands-On Parser Development

This course uniquely combines theoretical knowledge with a hands-on approach. You'll build an automatic parser for a full-fledged programming language, inspired by JavaScript and Python, from scratch. This parallel development process reinforces theoretical concepts and provides immediate practical application.

What You'll Achieve:

  • Understand the inner workings of parser generators.
  • Build parsers for programming languages using industry-standard tools.
  • Gain a deeper understanding of compiler and interpreter design.
  • Develop transferable skills applicable to complex system development.
  • Enhance your proficiency in popular programming languages like JavaScript and Python.

Who Should Take This Course?

This course is ideal for:

  • Engineers seeking to build complex systems.
  • Individuals interested in compilers, interpreters, and source code transformation.
  • Developers with a foundational understanding of data structures and algorithms (trees, lists, traversal).

Technology Stack: JavaScript & Syntax

We leverage JavaScript, a versatile language well-suited for language implementation, due to its multi-paradigm structure. We utilize Syntax, a language-agnostic parser generator, allowing you to easily adapt your parser to other languages (Python, Ruby, C#, PHP, Java, Rust, etc.). The full source code is available, encouraging independent implementation and understanding.

What Makes This Course Unique?

  • Concise & Focused Lectures: Each lecture is self-contained and directly addresses the topic.
  • Animated Presentations & Live Coding: Visual aids and real-time coding demonstrations enhance understanding.
  • End-to-End Project: Follow the development of the entire programming language, from initial concepts to the final parser.
  • Complete Source Code: Access the full codebase to understand the implementation details.

Course Curriculum (22+ Lectures):

  • Part 1: Context-Free Grammars & Languages: Formal grammars, derivations, ambiguity, and building the foundation of our programming language.
  • Part 2: Top-Down LL Parsing: Recursive and backtracking parsers, and the LL(1) parsing algorithm.
  • Part 3: Bottom-Up LR Parsing: LR parsing algorithm, shift-reduce conflicts, and continued language development.
  • Part 4: Practice & Final Parser: Implementing variables, functions, loops, control structures, object-oriented programming, and the final parser for the "Letter" language.
$ whoami — the devs behind tutorialsearch.io

Need a web app built? Hire the team behind TutorialSearch.io

We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.

5.0(55)
5h 9m
beginner
5.0(3)
12h 49m
all

Dealing with Algorithms

by Jimsha Malayil

5.0(16)
14h 3m
all
5.0(12)
13h 46m
beginner
5.0(1,006)
16h 12m
all
5.0(5)
2h 59m
beginner