Published onAugust 9, 2022Defining languages with sets - A horrible yet correct alternative to grammarsgrammarsformal-languagesstandaloneGrammars define a language, and a language is a set of strings... So is it possible to define a language by directly defining the set? Somehow it is
Published onJune 12, 2022NFA vs DFA - Building a Regex Engine Part 10regex-engineregexformal-languagesWith all the features of the engine finished the only question left is, what would have changed if instead of a NFA engine we had made a DFA engine?
Published onMay 28, 2022Backreferences - Building a Regex Engine Part 9regex-engineregexformal-languagesBackreferences match the same text captured by a previous capturing group. To implement them, we need to evolve the concept of matchers/transitions.
Published onMay 14, 2022Atomic groups - Building a Regex Engine Part 8regex-engineregexformal-languagesAtomic groups can be used to avoid unnecessary backtracking and optimize regex. In this post we explain them in detail and add them to the engine
Published onApril 30, 2022Finding multiple matches - Building a Regex Engine Part 7regex-engineregexformal-languagesWe finally modernize the interface of the regex to allow searching for multiple matches