F# のパーサーコンビネーター FParsec を使って、左再帰の文法を書くとどうなるか試してみた。左再帰についての説明は Wikipedia から引用しておく。 左再帰(英: Left recursion)とは、言語(普通、形式言語について言うが、自然言語に対しても考えられ得…
まずひらがな。 Regex.IsMatch("あ", "\p{IsHiragana}") // => true F# では .Net の Regex クラスによって正規表現を扱う。Unicodeのコードポイントの範囲ごとに IsHiragana のような名前が付けられており、その名前を \p{IsHiragana} のように指定すること…
Vim で置換や検索をした際に、パターンが見つからなかった場合は E486: Pattern not found エラーが返る。たとえばマクロはエラーが発生するとそこで停止してしまうので、エラーが返らないようにしたくなるケースもある。ということで今回はその方法について…
前に書いたこの記事に関連して。 F#で要素数が1つのリストをマッチさせる 今度は要素数が2つ以上のリストにマッチさせる方法について。こちらも前回同様 Cons パターン :: を使って次のように書ける。 match some_list with | _::_::_ -> printfn "two or mo…
Vim で置換する際に、正規表現でマッチした文字列をそのまま置換先でも使いたいという場面にちょくちょく遭遇するのでやり方を調べた。後方参照と呼ぶらしい。 (後方参照というワードを知らなかったので調べるのにちょっと苦労した) やり方 (ヘルプ) はこち…
F# で書かれているとあるコードを読んでいて、以下のようなコードが出てきてよくわからなかったので調べた。 a::[] の部分。 match some_list with | a::[] -> printfn "%A" a | b -> printfn "%A" b まず :: は Cons パターンというもので、パターンマッチ…
はじめに もう一週間以上経ってしまいましたが、justCTF [*] 2020に参加してpwnを解いた(解こうとした)ので、writeupと他の方のwriteupを見て復習した内容を書いておきます。といっても一問しか解けなかったのですが… justCTF [*] 2020 土, 30 1月 2021, 0…
前々からCTF(特にpwn)に興味があったので、Malleus CTF Pwnを読みました。 sanya.sweetduet.info ページ数もそこまで多くないしさらっと読めるかなと思って買ったのですが、CTFやpwnに関する事前知識ゼロだったので、結局時間をかけてじっくり読むことにな…
はじめに はじめてCTFというものに参加しました。というのも、最近 Malleus CTF Pwn という本を読んでpwnめちゃくちゃおもしろいなと思っていたところに、ちょうど初心者向けっぽいCTFが開催されるという噂を耳にしたからです。どうせならということで、思い…