#lalrpop — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #lalrpop, aggregated by home.social.
-
Компилятор языка моделирования в одиночку: от C++ к Rust — находки и откровения
Тема специального языка для моделирования многокомпонентных динамических систем давно меня зацепила и хотелось написать свою реализацию для него, так как было жгучее желание сделать лучше: чтобы работало надёжнее и быстрее, чем у авторов языка (MVL - в статье подробнее про язык), и к тому же ещё и кроссплатформенно. Расскажу про заходы к задаче на C++, почему перешёл в итоге к Rust - что приобрёл, где потерял - поделюсь деталями и самой реализации, которые, надеюсь, будут интересны и растаманам, и плюсовикам, и всем прочим доморощенным компиляторостроителям, а также тем, кого привлекают темы реализации языков, DSL или численного моделирования.
https://habr.com/ru/articles/980924/
#compiler_development #индиразработка #язык_моделирования #AnyDynamics #MVL #parser #lexer #lalrpop #lexgen #dsl
-
Context free grammars (CFG) are better than parsing expression grammars (PEG), because CFGs represent how we think.
Parser combinators are similar to PEGs, so they are worse than CFGs, too.
So, don't use Rust libraries
nom,combine. Uselalrpop.Don't use Haskell libraries
parsec,gigaparsec,attoparsec,megaparsec,trifecta. UseEarley,happy.See more detailed story in my new article https://safinaskar.writeas.com/this-is-why-you-should-never-use-parser-combinators-and-peg .
The story also includes some cases, where PEG and parser combinators may still be useful. Also, the article gives links to my Haskell parsing libraries.
#haskell #rust #parsing #parse #cfg #peg #combinators #parsercombinators #parsingcombinators #nom #combine #lalrpop #parsec #earley #happy
-
Context free grammars (CFG) are better than parsing expression grammars (PEG), because CFGs represent how we think.
Parser combinators are similar to PEGs, so they are worse than CFGs, too.
So, don't use Rust libraries
nom,combine. Uselalrpop.Don't use Haskell libraries
parsec,gigaparsec,attoparsec,megaparsec,trifecta. UseEarley,happy.See more detailed story in my new article https://safinaskar.writeas.com/this-is-why-you-should-never-use-parser-combinators-and-peg .
The story also includes some cases, where PEG and parser combinators may still be useful. Also, the article gives links to my Haskell parsing libraries.
#haskell #rust #parsing #parse #cfg #peg #combinators #parsercombinators #parsingcombinators #nom #combine #lalrpop #parsec #earley #happy
-
Context free grammars (CFG) are better than parsing expression grammars (PEG), because CFGs represent how we think.
Parser combinators are similar to PEGs, so they are worse than CFGs, too.
So, don't use Rust libraries
nom,combine. Uselalrpop.Don't use Haskell libraries
parsec,gigaparsec,attoparsec,megaparsec,trifecta. UseEarley,happy.See more detailed story in my new article https://safinaskar.writeas.com/this-is-why-you-should-never-use-parser-combinators-and-peg .
The story also includes some cases, where PEG and parser combinators may still be useful. Also, the article gives links to my Haskell parsing libraries.
#haskell #rust #parsing #parse #cfg #peg #combinators #parsercombinators #parsingcombinators #nom #combine #lalrpop #parsec #earley #happy
-
Context free grammars (CFG) are better than parsing expression grammars (PEG), because CFGs represent how we think.
Parser combinators are similar to PEGs, so they are worse than CFGs, too.
So, don't use Rust libraries
nom,combine. Uselalrpop.Don't use Haskell libraries
parsec,gigaparsec,attoparsec,megaparsec,trifecta. UseEarley,happy.See more detailed story in my new article https://safinaskar.writeas.com/this-is-why-you-should-never-use-parser-combinators-and-peg .
The story also includes some cases, where PEG and parser combinators may still be useful. Also, the article gives links to my Haskell parsing libraries.
#haskell #rust #parsing #parse #cfg #peg #combinators #parsercombinators #parsingcombinators #nom #combine #lalrpop #parsec #earley #happy
-
Context free grammars (CFG) are better than parsing expression grammars (PEG), because CFGs represent how we think.
Parser combinators are similar to PEGs, so they are worse than CFGs, too.
So, don't use Rust libraries
nom,combine. Uselalrpop.Don't use Haskell libraries
parsec,gigaparsec,attoparsec,megaparsec,trifecta. UseEarley,happy.See more detailed story in my new article https://safinaskar.writeas.com/this-is-why-you-should-never-use-parser-combinators-and-peg .
The story also includes some cases, where PEG and parser combinators may still be useful. Also, the article gives links to my Haskell parsing libraries.
#haskell #rust #parsing #parse #cfg #peg #combinators #parsercombinators #parsingcombinators #nom #combine #lalrpop #parsec #earley #happy