ブックマーク / qiita.com/uint256_t (5)

  • ブラウザがJavaScriptを直接サポートしない世界 - Qiita

    TL;DR WASMって凄いね.JavaScript処理系すら実装できるんだって. ならブラウザはWASMだけをサポートすれば楽なんじゃないかな. という考察記事です. 経緯 私は少し前からRustJavaScript処理系を書いています.(まだまだ機能不足ですが) ある日,ふと思いました.Rustで書いてるんだからWASMに変換するのも楽なんじゃないか?と. 面白そうなので,試してみたわけです. 意外と面倒だった RustからWASMへと変換する方法を説明した記事は,調べればいくらでもでてきます.無論そのとおりに手を動かしてみるわけです. しかし,いざやってみるとコンパイラに結構文句を言われます.考えてみれば当たり前ですが,libcなんて使っていたらWASMには変換できません. なので余分なコードは削り,WASMに変換できるようコードを書き直しました. すると,すんなりWASMに変換す

    ブラウザがJavaScriptを直接サポートしない世界 - Qiita
  • [メモ] JavaScriptエンジンを作る話 - Qiita

    Rapidusの進捗を記していく。逐次更新 どんなJSエンジンを目指してるのか 自作ブラウザ(Naglfar)に組み込めるようなもの ↑でも当分はNodeJSみたいなのを目指すと思う (それ単体で使えるような物、という意味) JITに対応し、速い (LLVM使う?) 8/11追記: Tracing JITが部分的に動いた 課題 グローバル変数の呼び出し、遅い ネストした関数、実装してない 実装しました VMとVMのコード生成に関するコードのテストを書いてない (最近書き始めた) よく考えたら、字句解析器がコメントに対応してない 対応 参照渡しできない 進捗 日数は、Gitでコミットした日を数えてます。(7/1 7/2 7/5 とコミットしていたら、7/5は3日目としてカウント) 1日目 字句解析器がほぼ完成

    [メモ] JavaScriptエンジンを作る話 - Qiita
  • Webブラウザの作り方 - Qiita

    この記事は何? ほとんどタイトル通りです。 順番に読み進めていけば簡単なWebページが表示できるレベルのWebブラウザを作ることができるように執筆していく予定です。 またアルゴリズムだけをなるべくわかり易く解説していきたいので、記事内で紹介するコードは誰でも読める程度の擬似コードです。 自分で実装したい方は、面倒かもしれませんがそれぞれの言語に翻訳してください。 必要な知識としては: HTML/CSSが困らない程度に読める やる気 これだけです。 (あとこれはただの宣伝ですが、個人的にWeb ブラウザを作ってるので(http://github.com/maekawatoshiki/naglfar) スターをつけてもらえると喜びます) いろいろとパースする Webページは基的にHTMLで書かれていますね。あとCSSも。 HTMLCSSもそのままではただの文字列であって扱いづらいので、パー

    Webブラウザの作り方 - Qiita
  • ヒトでもわかるWebブラウザ自作入門 - Qiita

    この記事は何? こんにちは。現在私は趣味でWebブラウザを実装しようとしています。 この記事にはその中で気づいたことをまとめていきたいと思います。 ブラウザがやること ブラウザは壮大で、複雑で、当に様々なことをしています。(少なくとも、BlinkやServoのコードを見た私はそう思いました) そのためこの章ではシンプルに、ブラウザがどのように画面のレンダリングを行うのかに重点を置いて説明していこうと思います。 HTML/CSSの解析 Webページはほとんどの場合、当たり前ですがHTMLで書かれています。そんなHTML文書を、ブラウザは扱いやすくするためにツリー構造にします。これが俗に言うDOM(Document Object Model)です。 例えば、以下のようなコードがあったとしましょう。 <html> <body> hello, <span style="color:red;">w

    ヒトでもわかるWebブラウザ自作入門 - Qiita
  • 人でもわかる型推論 - Qiita

    追記: この記事を書いてから早2年弱。今は数式のほうがわかりやすいなあと思うようになりました。 これは何? この記事は、最近 Hindley Milner (Algorithm W) 型推論を理解したばかりの私が、型推論のことをなるべくわかりやすく解説するものです。 簡略化したOCamlのようなコードが登場します。 わかりやすさ重視で書いていくつもりなので、専門用語(自由変数とか)はあまり出てきません。 間違いなどあったらコメントしていただけると幸いです。 まずは単相から ここからは図を使って説明していきます。(ビジュアルなほうがわかりやすいハズ) とても簡単な例 以下にとても簡単なコードを示します。 見ればわかりますが、xの型はintですね。 ですが、どのようにしてintだとわかったのでしょうか。 すでにわかっていることを書き出しだしてみました。リテラルの右肩を見てください。 1の型は当

    人でもわかる型推論 - Qiita
  • 1