バイナリファイル生成
概要 バイトコードにコンパイルしたデータから,仮想マシンで読み込んで実行するためのファイル(バイナリファイル)を生成する.プログラム自身はバイトコードだけだが,それだけではプログラムは実行できず...
47 search resultsShowing 1~20 results
You need to log-in
概要 バイトコードにコンパイルしたデータから,仮想マシンで読み込んで実行するためのファイル(バイナリファイル)を生成する.プログラム自身はバイトコードだけだが,それだけではプログラムは実行できず...
概要 Javaにジェネリクスが導入され,型引数,パラメータ境界,共変,反変,不変,ワイルドカード,などなど,様々な構文,機能が追加されました.ジェネリクスの構文や,これら新しい機能(もう新しくな...
概要 プロセス間の同期をpthreadとmutexを使った方法から,System Vのセマフォに切り替える必要があったため,調べたり動作検証したことをまとめておく.以前,C++とpthreadを...
概要 コンパイラを作るため,まずは字句解析を自作する.構文解析でyacc(bison)を利用するつもりなので,その流儀に従って(要するにlexの役割を真似て)実装していく.なお,この実装にはgp...
概要 X86系CPUのエミュレータを実装するに当たり,ステータスレジスタのうち,キャリー/ボロー,オーバーフロー,ゼロ,マイナス,を判定する必要があるため,これらの基本概念と実装をまとめておく ...
概要 RUSTでオブジェクト同士の相互参照を(無理やり)やるための方法.オブジェクト指向でGCがある言語では,ごく普通にやりそうな構造ですが,RUSTでやろうとすると結構たいへん.大変ということ...
概要 半年ほど前にRUSTをかじった後放置していましたが,最近また触り始めて不変借用,可変借用,トレイトのメソッド呼び出しで混乱したのでサンプルコードを書いて動作を確認したことをまとめておく.た...
概要 ちょっとしたツールを作るために,RUSTをやり始めた.RUST初心者の備忘録です. 変数宣言のミュータブルとイミュータブル RUSTでは,一度変数が値に束縛されると変更できない.これをイミ...
概要 構文解析1で,自作の字句解析器とyaccを連携できたので,文法を追加し,抽象構文木(AST)を生成してみる. 簡単な言語とはいえ,それなりの構文を定義しなければいけないので,とりあえず式(...
概要 ある特定のキーワードとマッチするかどうかを判定するようなプログラムを書く場合,力任せにマッチさせてもういのだが,効率よくマッチさせるにはハッシュ法を用いれば良い.しかし,C言語を用いるとき...
DartのStreamとStreamTransformerを調査したときの話 Flutterを使い始めて疑問に思ったDartのStreamとStreamTransformerの話.ほぼ備忘録なの...
Mapの値にListを持つ 要求: Mapの値がListで,かつこのListで管理するオブジェクトにChild extends Parentという関係がある.そして,各Listのインスタンスが存...
概要 式の構文解析,AST作成ができたので,次は作成したASTを使って意味解析をしていく.意味解析では, 変数や関数宣言の登録 式の型を確定 キャストの追加 を行う.現在は式しかASTを作れてい...
概要 字句解析ができたので,実装した字句解析機を使って構文解析をしてみる.字句解析機の実装では,勝手にトークンの種類を定義したので,まずは構文解析で定義するトークンを使うように差し替える.その後...
概要 コード生成で生成したバイトコードを実行する仮想マシンを実装する.JVMなど,多くの仮想マシンがスタックマシンでの実行を採用しているので,ここでもスタックマシンで仮想マシンを実装する.この仮...
概要 以前,pthreadを使ってJavaライクなスレッドライブラリを作ったものの,c++11からネイティブでThreadがサポートされていることを後から知った.そこで,ネイティブのThread...
概要 意味解析まではできたので,簡単な算術演算と代入文だけに着目してバイトコードの生成,およびその実行を考える.今回はスタックマシンを採用するので,まずは算術演算と代入をどのようにスタックマシン...
概要 前回までのアプリケーションにルーティングを追加する.ルーティングとは,いわゆる画面遷移とほぼ等価で.SPAになる前のWebアプリケーションで,リンクをクリックするとページ全体が書き換わる処...
概要 独自のプログラム言語を作ってみたい.そして,プログラムをコンパイルして実行してみたい.という人は(少数ではあると思うけれども)存在すると思う.しかし,普通に使われている言語は既に構文が難し...
概要 ここでは,以前のシリアル設定を前提とし,シリアルデータの受信に割り込みを使ってみる.送信も割り込みを使うことができるが,まとまったデータを送るときには一気に送信できたほうが便利かつ楽だと思...
47 search resultsShowing 1~20 results
Qiita is a knowledge sharing service for engineers.