Several years ago I did a take-home interview which asked me to write a TFTP server in Go. The job wasn't the right fit for me, but I enjoyed the assignment. Lately, in my spare time, I've been tinkering with a Rust implementation. Here's what I've done to parse the protocol. Caveat LectorIt's natural to write a technical blog post like this in a somewhat authoritative tone. However, I am not an a
nom 7.0 release: fast parser combinators, now without macros! And the new nom-bufreader! I'm happy to announce the release of nom 7.0! This is mostly a cleanup release: the BitSlice input type was moved to the nom-bitvec crate, and regex parsers to the nom-regex crate. This will fix build issues that have crept up this past months. Macro combinators, that were used since the beginning of nom, are
Writing parsers like it is 2017 Pierre Chifflier Agence Nationale de la Sécurité des Systèmes d’Information Geoffroy Couprie Clever Cloud Abstract—Despite being known since a long time, memory violations are still a very important cause of security problems in low-level programming languages containing data parsers. We address this problem by proposing a pragmatic solution to fix not only bugs, b
はじめに 使い方を学ぶのに、プロジェクトトップページの説明 と "Introduction to nom: a parsing framework written in Rust" という英語記事が参考になりました。 ここでは上記英語記事に倣って Hello, world! から始めつつ、簡単な計算機の例を解説します。 執筆時点では Rust は 1.13 で、nom は 1.2.4 です。 nom では楽に記述できるようにするためにマクロが多用されており、ソースコードを読むことでマクロの勉強になります。Rust のマクロの記述方法については「Rustのマクロを覚える」という記事を書きましたので参考にしてください。 特徴 lex & yacc (flex & bison) などと違い、書式ファイルを別に用意することなく、Rust のソースコードの中にルールを記述してパーサ関数を生成します。
Nearly one year ago, on November 15th 2015, I released the 1.0 version of nom, the fast parser combinators library I wrote in Rust. A lot happened around that project, and I have been really happy to interact with nom users around the world. TL;DR: it’s new nom day! The 2.0 release is here! Read the changelog. Follow the upgrade documentation if it breaks stuff. Interesting usage I wouldn’t be abl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く