56,966 blogs · [ { "id": "01a0871f-03b3-7201-a383-91b6db4c7133", "title": "Building a Lexer Framework Part 3 - Executing the state machine", "url": "https://www.abstractsyntaxseed.com/blog/lexer/executing-the-state-machine", "published_at": "2026-08-09T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6db55eb2e", "title": "Building a Lexer Framework Part 2 - The state machine", "url": "https://www.abstractsyntaxseed.com/blog/lexer/building-the-state-machine", "published_at": "2026-08-02T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6dbc25fea", "title": "Building a Lexer Framework Part 1 - Introduction", "url": "https://www.abstractsyntaxseed.com/blog/lexer/introduction", "published_at": "2026-07-24T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6dbef057d", "title": "The complex art of writing simple code for a business", "url": "https://www.abstractsyntaxseed.com/blog/writing-simple-code-business", "published_at": "2025-10-07T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6dc7ffdb7", "title": "Defining ASTs with dynamic classes in Javascript", "url": "https://www.abstractsyntaxseed.com/blog/defining-asts-with-dynamic-classes-in-javascript", "published_at": "2024-01-03T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6dd58ecbc", "title": "Building an Autocomplete Library for ANTLR4 Part 5 - Improving the error recovery", "url": "https://www.abstractsyntaxseed.com/blog/antlr4-autocomplete-library/improving-error-recovery", "published_at": "2023-05-15T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6ddde1429", "title": "Building an Autocomplete Library for ANTLR4 Part 4 - Experimenting with error recovery", "url": "https://www.abstractsyntaxseed.com/blog/antlr4-autocomplete-library/error-recovery-test", "published_at": "2023-04-22T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6deb76f74", "title": "Building an Autocomplete Library for ANTLR4 Part 3 - Rules", "url": "https://www.abstractsyntaxseed.com/blog/antlr4-autocomplete-library/rules", "published_at": "2023-03-12T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6deff4b76", "title": "Building an Autocomplete Library for ANTLR4 Part 2 - Writing the core", "url": "https://www.abstractsyntaxseed.com/blog/antlr4-autocomplete-library/writing-the-core", "published_at": "2023-01-07T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6dfae9cac", "title": "Building an Autocomplete Library for ANTLR4 Part 1 - Introduction", "url": "https://www.abstractsyntaxseed.com/blog/antlr4-autocomplete-library/introduction", "published_at": "2022-12-24T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6dfb476a7", "title": "Defining languages with sets - A horrible yet correct alternative to grammars", "url": "https://www.abstractsyntaxseed.com/blog/languages-as-sets", "published_at": "2022-08-09T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e05365e8", "title": "NFA vs DFA - Building a Regex Engine Part 10", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/nfa-vs-dfa", "published_at": "2022-06-12T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e05f5a0d", "title": "Backreferences - Building a Regex Engine Part 9", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/backreferences", "published_at": "2022-05-28T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e1050edf", "title": "Atomic groups - Building a Regex Engine Part 8", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/atomic-groups", "published_at": "2022-05-14T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e1c7f13a", "title": "Finding multiple matches - Building a Regex Engine Part 7", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/multiple-matches", "published_at": "2022-04-30T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e2368294", "title": "Anchors and multiline mode - Building a Regex Engine Part 6", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/anchors", "published_at": "2022-04-16T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e2443709", "title": "Character classes and escape characters - Building a Regex Engine Part 5", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/character-classes", "published_at": "2022-04-02T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e32e950f", "title": "Adding capturing groups - Building a Regex Engine Part 4", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/capturing-groups", "published_at": "2022-03-10T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e3ef6336", "title": "Creating a NFA from a regex - Building a Regex Engine Part 3", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/regex-to-nfa", "published_at": "2022-02-22T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e4a652f8", "title": "Implementing a NFA - Building a Regex Engine Part 2", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/implementing-a-nfa", "published_at": "2022-02-03T00:00:00+00:00" }, { "id": "01a0871f-03b3-7201-a383-91b6e4dda0d0", "title": "Building a Regex Engine Part 1 - Introduction", "url": "https://www.abstractsyntaxseed.com/blog/regex-engine/introduction", "published_at": "2022-01-22T00:00:00+00:00" } ] posts Claim your blog
Back to abstractsyntaxseed.com
Blog · corpus.blog/blogs/abstractsyntaxseed.com/posts

abstractsyntaxseed.com

abstractsyntaxseed.com

2026

2025

2024

2023

2022