サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
azaika.hateblo.jp
この記事は TSG Advent Calendar 2021 の 18 日目の記事です。 この記事を執筆しているのは年末ですが (本当)、年内は Advent なので (大嘘) セーフです (大嘘)。 寝ていたら新年になっていました。議論の余地なくアウトです。 目次 目次 三行で要約 はじめに 前提知識 パーサーとレキサー レキサー/パーサージェネレーターについて Nested Comment とは Nested Comment の問題点 Rust のパーサージェネレーター事情 plex と LALRPOP 実装 作っていく言語 前準備 Nested Comment に対応したレキサーを作る LALRPOP でパーサーを作る パーサーを呼び出す まとめ 三行で要約 Rust で Nested Comment に対応した言語処理系を書くときには plex と lalrpop を組み合わせると
C++ において intptr_t 同士の演算がどの程度許可されているのか気になって調べたら意外な事が見つかったのでメモ。 記事中の C++ 規格は 2020/08/09 現在の C++20 の最終 WD である N4861 を参照しています。 intptr_t の定義 そもそも intptr_t や uintptr_t はどう定義されているのか確認しましょう。C++ の規格においてはこれらの型は <cstdint> ヘッダの中に定義される適当な符号付き/符号なし整数型の using であって、コンパイラが実装するかは optional であるとだけ述べられており、その詳細は C ISO 7.20 を参照せよとぶん投げられています。仕方なく C11 の規格を参照し、§7.20.1.4 を読むと intptr_t について The following type (引用注:intptr_tのこ
この記事は C++AdC 2017 19 日目の記事です。 n 番煎じ過ぎてみなさんがやらなかったやつをやります。 色々と cpprefjp と 江添さんのやつ を参考にしています。記述が被っている場所すらあるかもしれません。ごめんなさい。 言語機能 コードでの説明が必要なやつから紹介。だんだん雑になるかも。 構造化束縛(structured bindings) 今まで std::tuple を扱うのは面倒で、例えば std::tuple<int, double, std::string> tup = f(); // auto tup = f(); でも良い auto x = std::get<0>(tup); auto d = std::get<1>(tup); auto s = std::get<2>(tup); または int x; double d; std::string s;
Haskellをやろうと思ったら、Visual Studio CodeがまだHaskellに対応してなかったので、Visual Studio CodeでHaskell環境を整える備忘録。 シンタックスハイライトの追加 初めに、最低限のシンタックスハイライトを追加する。 VS Codeを起動して Ctrl+P を入力し、出てきた入力欄にext install haskellと入力し、候補にあるHaskell Syntax Highlightingを選択。 mattn.runnerのインストール mattn.runnnerとはVS Codeで書いたコードを実行するためのキーボードショートカットを追加できるExtension。 詳細はこちらに mattn.kaoriya.net これもVisual Studio Marketplaceに登録されているので、先程と同様にしてext install
このページを最初にブックマークしてみませんか?
『azaika.hateblo.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く