Skip to content

Ivan Enderlin's thoughts

Swapped memory of a hacker

  • Twitter
  • Github
  • Home
  • Computer Science
  • Life
  • Trips
  • My Résumé

Tag: peg

From Rust to beyond: Prelude

At my work, I've started an experiment: Write a single parser implementation in Rust, and use in many contexts, like JavaScript, or PHP. The parser analyses Gutenberg posts, which is the next WordPress editor.

Ivan Enderlin Computer Science, Projects, Work 7 Comments August 21, 2018October 29, 2018 4 Minutes

Archives

  • October 2021 (1)
  • January 2021 (1)
  • May 2020 (1)
  • August 2019 (1)
  • May 2019 (1)
  • April 2019 (1)
  • March 2019 (1)
  • October 2018 (1)
  • September 2018 (1)
  • August 2018 (3)
  • February 2018 (1)
  • January 2018 (2)
  • November 2017 (3)
  • October 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • June 2017 (6)
  • May 2017 (5)
  • April 2017 (4)
  • January 2017 (6)
  • December 2016 (2)
  • November 2016 (4)
  • October 2016 (3)
  • September 2016 (2)
  • April 2016 (2)
  • November 2015 (1)
  • October 2015 (1)
  • August 2015 (1)
  • July 2015 (1)
  • June 2015 (1)
  • February 2015 (1)
  • January 2015 (1)
  • December 2014 (1)
  • November 2014 (3)
  • September 2014 (5)
  • August 2013 (1)
  • March 2013 (1)

Subjects

  • Computer Science (59)
  • Life (6)
  • Projects (19)
    • atoum (3)
    • Hoa (3)
    • Tagua VM (2)
    • wasmer (5)
  • Talks (36)
  • Trips (5)
  • Uncategorized (1)
  • Work (16)

Tags

asmjs automattic bindings browser c++ caldav carddav cbindgen challenge-one-conference-per-day compiler console coroutine cpp css data dav documentation elm emacs event evil-mode extension ffi finite-state machine from-rust-to-beyond functional-reactive-programming generation graphic gutenberg haskell Hoa intermediate-representation iterator java javascript jetbrains just-in-time-compilation linux llvm nom operating-system parallelism parser peg performance php pijul proof quickcheck regular-expression rfc rust servo shell signal ssl string swift Tagua VM teamcity terminal test text-editor tls type variance version-control vim virtual-machine vulkan wasm wasmer webassembly webdav whatsapp
Mastodon
  • (no title)
    The technology behind GitHub’s new code search , https://github.blog/2023-02-06-the-technology-behind-githubs-new-code-search/.That’s very impressive. Congrats to GitHub on this project!#code #SearchEngine #BigData
  • (no title)
    Next stop: Defining a type for representing alignments. It must be a power of two, non zero unsigned integer. Easy. https://github.com/Hywan/weld/commit/f2e9f00dc65634b6b8145ad04c9221c6f478aaf3With that, still zero copy but more and more semantics by leveraging the type system. Nice :-).Note: Option in Rust has the same size as u64. Cool! Zero cost abstraction once again.#elf #parser #RustLang
  • (no title)
    Each program header and section header in Elf has a content. It's represented by the new `Data` type in weld, https://github.com/Hywan/weld/commit/f541364004c99aa7d666687767cb4005da3c9263 and https://github.com/Hywan/weld/commit/4ec23096b64775494226fea2e0e662bb24a410cb.I'm experimenting this zero-copy API to request the content. Let's see where it goes. But it's very handy for debugging!#elf #parser
  • (no title)
    I've added a new `SectionIndex` type, https://github.com/Hywan/weld/commit/9ecaef702532bc399c12229e58e688aa05cbf3a6.It helps dealing with the semantics of section index in Elf64, and it also helps having a valid usize, which is helpful when used as a Vec index.It's finally less error-prone: Using the Rust type system as much as possible.#elf #parser
  • (no title)
    Next Rust Compiler, https://matklad.github.io/2023/01/25/next-rust-compiler.html.The article discusses what the ideal next Rust compiler should look like, and which features it should provide.#RustLang #compiler
  • (no title)
    OK. Things are clearer. Let’s find time to improve the Elf64 parser. Maybe I’ll be able to link a super super basic object file “soon”.I want `weld` to be a cross-linker: like you specify a triple target and it links object files whatever the format and the platform you run.
  • (no title)
    Why did I start this project… 🤦‍♂️
  • (no title)
    @jedisct1 👋
  • (no title)
    A living snake. With 2 heads. It’s a real one.
  • (no title)
    Servo 2023 Roadmap, https://servo.org/blog/2023/02/03/servo-2023-roadmap/.This makes me really happy.#web #rendering #engine #RustLang
  • (no title)
    @servo 👋
  • (no title)
    Souper, https://github.com/google/souper.Souper is a superoptimizer for LLVM IR. It uses an SMT solver to help identify missing peephole optimizations in LLVM's midend optimizers.#compiler #optimiser #performance #llvm #smt
  • (no title)
    Forking Chrome to render in a terminal, https://fathy.fr/carbonyl.Really fun. Totally useless. But really fun!#web #terminal
  • (no title)
    Falsehoods programmers believe about undefined behaviour, https://predr.ag/blog/falsehoods-programmers-believe-about-undefined-behavior/.The article explains what is an undefined behaviour exactly. It’s funny.#UndefinedBehaviour
  • (no title)
    GCC undefined behaviors are getting wild, http://blog.pkh.me/p/37-gcc-undefined-behaviors-are-getting-wild.html.Interesting to see how GCC assumptions on integers behaviors can lead to UB in some cases.#gcc #compiler #safety
Website Powered by WordPress.com.
  • Follow Following
    • Ivan Enderlin's thoughts
    • Join 32 other followers
    • Already have a WordPress.com account? Log in now.
    • Ivan Enderlin's thoughts
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...