Michael Lubinsky's homepage

Programming, Math and Physics

View My GitHub Profile

https://mpov.timmorgan.org/i-built-a-ruby-parser/

Book: craftinginterpreters.com/

http://venge.net/graydon/talks/CompilerTalk-2019.pdf?utm_source=thenewstack&utm_medium=website&utm_campaign=platform

https://news.ycombinator.com/item?id=32780472

Recursive descent parsing library for Python based on functional combinators https://github.com/vlasovskikh/funcparserlib

https://lobste.rs/s/x0b8wo/practical_parsing_with_flex_bison

https://begriffs.com/posts/2021-11-28-practical-parsing.html bison flex

lark . http://blog.erezsh.com/5-lark-features-you-probably-didnt-know-about/

https://tomassetti.me/parsing-in-python/ python

https://craftinginterpreters.com/introduction.html Java and C

https://interpreterbook.com/ go

https://www.toptal.com/scala/writing-an-interpreter Scala

https://news.ycombinator.com/item?id=21092698 crafting interpreters

ANTLR

https://habr.com/ru/company/sberdevices/blog/597553/

https://medium.com/@vladimirkozhaev/antlr-an-informal-introduction-609f885a38f7

Advanced compilers

https://news.ycombinator.com/item?id=25386756

https://github.com/ashutoshbsathe/yacv

JSON parsing

https://news.ycombinator.com/item?id=25498364

Code analysis and visualizer

https://www.sourcetrail.com/

https://codemap.app/

https://analysis-tools.dev/

https://news.ycombinator.com/item?id=24221708

https://rotemtam.com/2020/08/13/python-ast/. Python

https://github.com/krlvi/jar-graph. Java

Create Prog languages

http://createyourproglang.com/

https://habr.com/ru/post/497402/ make your own language in Python

https://youtu.be/flVqPLkIK-E How to Create Your Own Programming Language -Part 1- Paradigm, Roadmap and Tools

https://cuelang.org/ Validate, define, and use dynamic and text-based data

https://koka-lang.github.io/koka/doc/kokaspec.html

picat-lang.org https://news.ycombinator.com/item?id=24608997

SAT solvers

https://codingnest.com/modern-sat-solvers-fast-neat-underused-part-1-of-n/

JIT

https://habr.com/ru/company/mailru/blog/513290/

https://hacks.mozilla.org/2017/02/a-crash-course-in-just-in-time-jit-compilers/

https://carolchen.me/blog/jits-intro/ J

Regular Expression:

https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/

https://blog.robertelder.org/regular-expression-visualizer/

JavaScript

https://lihautan.com/json-parser-with-javascript/ https://news.ycombinator.com/item?id=21772336 JavaScript

Parsing with Go

https://blog.gopheracademy.com/advent-2014/parsers-lexers/

Parsers

https://chelseatroy.com/2019/11/11/building-a-parser/

https://siddhesh.in/posts/gcc-under-the-hood.html gcc under the hood https://deniskyashif.com/translation-using-syntactic-rules/ https://habr.com/ru/post/469213/ Parser combinator RUST https://habr.com/ru/post/462781/

https://www.booleanworld.com/building-recursive-descent-parsers-definitive-guide/ Recursive decendt parsers

https://news.ycombinator.com/item?id=23187239 Compiling classes

https://zserge.com/posts/cucu-part1/ small compiler

https://tomassetti.me/why-you-should-not-use-flex-yacc-and-bison/

https://news.ycombinator.com/item?id=22491536

https://www.sanity.io/blog/why-we-wrote-yet-another-parser-compiler

https://habr.com/ru/post/489534/

https://devlog.hexops.com/2021/zig-parser-combinators-and-why-theyre-awesome

http://dmitrysoshnikov.com/courses/parsing-algorithms/

https://news.ycombinator.com/item?id=24898210

https://tiarkrompf.github.io/notes/?/just-write-the-parser/

https://news.ycombinator.com/item?id=24837898

https://github.com/gnebehay/parser A Handwritten Math Parser in 100 lines of Python

https://news.ycombinator.com/item?id=24502293

https://stackoverflow.com/questions/5975741/what-is-the-difference-between-ll-and-lr-parsing

https://tratt.net/laurie/blog/entries/which_parsing_approach.html

https://matklad.github.io/2018/06/06/modern-parser-generator.html

https://rust-analyzer.github.io/blog/2020/09/16/challeging-LR-parsing.html

https://news.ycombinator.com/item?id=24480504

https://www.robertjacobson.dev/designing-a-pratt-parser-generator Pratt

https://www.drdobbs.com/cpp/building-your-own-c-interpreter/184408184

Better, Fewer, Syntax Errors for LR Parsers:

https://soft-dev.org/pubs/html/diekmann_tratt__dont_panic/

SQL to C via Scala:

https://www.cs.purdue.edu/homes/rompf/papers/rompf-icfp15.pdf

https://opensourc.es/blog/basics-multiple-dispatch/. Multiple Dispatch

https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/

There are the two types of memory available to a process or a thread, the stack and the heap. 
It is important to distinguish between these two types of process memory because each thread will have its own stack, 
but all the threads in a process will share the heap.

Threads are sometimes called lightweight processes because they have their own stack but can access shared data.
Because threads share the same address space as the process and other threads within the process, 
the operational cost of communication between the threads is low, which is an advantage. 
The disadvantage is that a problem with one thread in a process will certainly affect other threads and the viability of the process itself.

https://ollef.github.io/blog/posts/query-based-compilers.html

https://ncona.com/2020/06/create-diagrams-with-code-using-graphviz/ Graphviz

https://news.ycombinator.com/item?id=23475225

Developing lang in C https://www.youtube.com/playlist?list=PLvdK1vRmp8wMzH4w_8sQ30NKU3Bt4Cc-M&feature=share

Build JavaScript compiler in C: https://hacks.mozilla.org/2020/06/compiler-compiler-working-on-a-javascript-engine/

PEG

https://habr.com/ru/post/471860/

https://www.youtube.com/watch?v=QppWTvh7_sI Guido PEG talk

https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97c PEG from Guido

https://medium.com/@gvanrossum_83706/building-a-peg-parser-d4869b5958fb PEG part 2

The Packrat Parsing and Parsing Expression Grammars Page https://bford.info/packrat/

https://news.ycombinator.com/item?id=30395775

https://www3.nd.edu/~dthain/compilerbook/ . Compiler Book

«https://tech.yandex.ru/tomita/doc/dg/concept/about-docpage/> . Tomita parser

https://www.youtube.com/watch?v=1axJDmK_pnE . Parser Combinators https://youtu.be/1axJDmK_pnE

https://medium.com/@cdiggins/beyond-regular-expressions-an-introduction-to-parsing-context-free-grammars-ee77bdab5a92 . Parsing

https://engineering.desmos.com/articles/pratt-parser/ . Pratt parser

https://tomassetti.me/parsing-in-python/ Parsing in Python