47 search resultsShowing 1~20 results

Stocked
hiro4669

@hiro4669

バイナリファイル生成

概要 バイトコードにコンパイルしたデータから,仮想マシンで読み込んで実行するためのファイル(バイナリファイル)を生成する.プログラム自身はバイトコードだけだが,それだけではプログラムは実行できず...

1
1
Comment0
hiro4669

@hiro4669

Javaのジェネリクス再考

概要 Javaにジェネリクスが導入され,型引数,パラメータ境界,共変,反変,不変,ワイルドカード,などなど,様々な構文,機能が追加されました.ジェネリクスの構文や,これら新しい機能(もう新しくな...

1
2
Comment2
hiro4669

@hiro4669

日本一詳しいSystem V Semaphores

概要 プロセス間の同期をpthreadとmutexを使った方法から,System Vのセマフォに切り替える必要があったため,調べたり動作検証したことをまとめておく.以前,C++とpthreadを...

2
4
Comment0
hiro4669

@hiro4669

字句解析を自作する

概要 コンパイラを作るため,まずは字句解析を自作する.構文解析でyacc(bison)を利用するつもりなので,その流儀に従って(要するにlexの役割を真似て)実装していく.なお,この実装にはgp...

24
14
Comment0
hiro4669

@hiro4669

RUSTで相互参照

概要 RUSTでオブジェクト同士の相互参照を(無理やり)やるための方法.オブジェクト指向でGCがある言語では,ごく普通にやりそうな構造ですが,RUSTでやろうとすると結構たいへん.大変ということ...

2
0
Comment2
hiro4669

@hiro4669

RUSTの型とメソッド呼び出し

概要 半年ほど前にRUSTをかじった後放置していましたが,最近また触り始めて不変借用,可変借用,トレイトのメソッド呼び出しで混乱したのでサンプルコードを書いて動作を確認したことをまとめておく.た...

2
2
Comment0
hiro4669

@hiro4669

構文解析2

概要 構文解析1で,自作の字句解析器とyaccを連携できたので,文法を追加し,抽象構文木(AST)を生成してみる. 簡単な言語とはいえ,それなりの構文を定義しなければいけないので,とりあえず式(...

1
4
Comment0
hiro4669

@hiro4669

gperf超入門

概要 ある特定のキーワードとマッチするかどうかを判定するようなプログラムを書く場合,力任せにマッチさせてもういのだが,効率よくマッチさせるにはハッシュ法を用いれば良い.しかし,C言語を用いるとき...

5
3
Comment0
hiro4669

@hiro4669

Javaのジェネリクス(備忘録)

Mapの値にListを持つ 要求: Mapの値がListで,かつこのListで管理するオブジェクトにChild extends Parentという関係がある.そして,各Listのインスタンスが存...

0
0
Comment0
hiro4669

@hiro4669

意味解析

概要 式の構文解析,AST作成ができたので,次は作成したASTを使って意味解析をしていく.意味解析では, 変数や関数宣言の登録 式の型を確定 キャストの追加 を行う.現在は式しかASTを作れてい...

0
1
Comment0
hiro4669

@hiro4669

構文解析1

概要 字句解析ができたので,実装した字句解析機を使って構文解析をしてみる.字句解析機の実装では,勝手にトークンの種類を定義したので,まずは構文解析で定義するトークンを使うように差し替える.その後...

6
5
Comment0
hiro4669

@hiro4669

仮想マシンの実装

概要 コード生成で生成したバイトコードを実行する仮想マシンを実装する.JVMなど,多くの仮想マシンがスタックマシンでの実行を採用しているので,ここでもスタックマシンで仮想マシンを実装する.この仮...

4
2
Comment0
hiro4669

@hiro4669

バイトコード生成

概要 意味解析まではできたので,簡単な算術演算と代入文だけに着目してバイトコードの生成,およびその実行を考える.今回はスタックマシンを採用するので,まずは算術演算と代入をどのようにスタックマシン...

6
2
Comment0
hiro4669

@hiro4669

React-Redux超入門(5)

概要 前回までのアプリケーションにルーティングを追加する.ルーティングとは,いわゆる画面遷移とほぼ等価で.SPAになる前のWebアプリケーションで,リンクをクリックするとページ全体が書き換わる処...

6
5
Comment1
hiro4669

@hiro4669

シリアルの割り込み設定

概要 ここでは,以前のシリアル設定を前提とし,シリアルデータの受信に割り込みを使ってみる.送信も割り込みを使うことができるが,まとまったデータを送るときには一気に送信できたほうが便利かつ楽だと思...

1
0
Comment0

47 search resultsShowing 1~20 results

Qiita is a knowledge sharing service for engineers.

  1. You can follow users and tags
  2. You can stock useful information
  3. You can make edit suggestions for articles
Functions that can be used after logging in