~/talk

Parsing in C# from first principles

Talkat NDC Sydney 2018 · 2018-09-17..09-21· [compilers-and-language-design, dotnet]
links:none on file
slides:none on file

Argues that full parsers fit easily into C# apps and shows code that proves it: writing parser-combinators, using LINQ-style select many composition, and the Superpower library to tokenize and parse. Builds a duration-expression language (numbers, units, + - /, parentheses), adds a now - 7 days construct, and wires an evaluator and tests. Demonstrates readable user errors via token-driven parsing*, and claims real wins — one project’s 18-month form rewrite drops to hours — the parser approach works in practice.

AI-written summary · about

  1. 0:00Introduction
  2. 1:09Dependency Injection
  3. 3:54Query Design
  4. 5:25ObjectOriented Programming
  5. 7:20Trees
  6. 10:43What is a parser
  7. 12:14How does a parser work
  8. 13:39Parse functions
  9. 16:08Delegate type
  10. 17:18Many
  11. 18:44Return function
  12. 20:16Csharp
  13. 21:05Return
  14. 21:37Superpower
  15. 23:04Magnitude
  16. 26:24Durations
  17. 27:37Testing
  18. 29:26Passing operators
  19. 33:34Semantics
  20. 39:02Token Driven Passing
  21. 39:22Character Stream
  22. 39:46Tokenization
  23. 41:48Tokenizer
  24. 44:25Factor
  25. 45:02Example
  26. 46:58Token parsing
  27. 48:10Token keyword
  28. 49:11Token match
  29. 52:42Subtract
  30. 54:20Text parsers
  31. 54:57Recap
  32. 55:37Sbrocco
  33. 56:22Limitations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.