Related lectures (32)
Scallion tutorial: building Parser[A]
Covers the basics of building Parser[A] using Scallion, LL(1) conflicts, and left factoring.
Parsing with Combinators
Explores parsing text into trees using parser combinators in Scala, covering filtering, transforming, sequencing, alternatives, recursion, spaces handling, lexing, monadic nature, and for-notation.
Object-Oriented Parser Combinators
Covers object-oriented parser combinators in Scala for building parsers, including JSON parsing and testing.
LL(1) Parsing
Covers LL(1) parsing, formalization, automation, constraints, and parsing tables.
Translation of for
Explains the translation of for-expressions in Scala using map, flatmap, and filter functions, with examples and a discussion on its generalization to different types.
CYK Parsing Algorithm for General Grammars
Introduces the CYK parsing algorithm for context-free grammars, explaining its handling of ambiguity and importance in parsing general grammars.
High-Order Functions: Unification Theory
Covers high-order functions, parser, and type checker concepts.
Rod Cutting and Change-Making Problem
Covers the rod cutting problem and the change-making problem to optimize recursive calls and find the minimum number of coins needed for a given amount of money.
How Classes are Organized
Covers how classes and objects are organized in packages, imports, Scala's class hierarchy, traits, top types, the Nothing type, exceptions, and includes an exercise on type determination.
Dynamic Programming: Introduction and Fibonacci Numbers
Introduces Dynamic Programming, focusing on saving computation by remembering previous calculations and applying it to solve optimization problems efficiently.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.