2019-01-01から1年間の記事一覧
まえがき 今回はClangNet(libclangの.NET(C#) Binding)を使った実用的な構文解析のサンプルを作成してみます。 今回作成するサンプルでは、以下の2つの情報を出力する機能を実装します。 関数コールツリー 関数クロスリファレンス(宣言/定義/コール)情報 Cla…
リリースノート ClangNetのVer1.1.0をリリースしました。 変更点: 1. LLVM/Clang Ver.9.0.0に対応 2. いくつかの不具合を修正 ダウンロード先&インストール方法 libclang.dllやClangNetは以下からダウンロードしてください。 LLVM/Clang Ver.9.0.0 : Link Gi…
まえがき LLVM/Clangに同梱されているlibclangの.NET(C#) Bindingライブラリ(ClangNet)を作成しました。 libclangはC/C++/Objective-Cソースコードの解析や自動補完機能を提供する高レベルのAPIで、オリジナルはC言語ベースのAPIが提供されています。 C言語…
まえがき 最近、Python を勉強し始めたので、その学習メモです。 今回はディクショナリ(Dictionary)についてです。 ディクショナリ(Dictionary) ディクショナリはユニーク(一意)なキーとそれに対応する値を格納するコレクションです。 例えば、IDとそれに対…
まえがき 最近、Python を勉強し始めたので、その学習メモです。 今回はセット(Set)についてです。 セット(Set) セットはタプルやリストと同様、複数のデータをまとめて扱う場合に使用しますが、ユニーク(一意)な値を格納する順序なしのコレクションです。 …
まえがき 最近、Python を勉強し始めたので、その学習メモです。 今回はリスト(List)についてです。 リスト(List) リストは前回説明したタプルと同様、複数のデータをまとめて扱う場合に使用しますが、タプルとの違いは要素の追加や挿入、削除などが可能なこ…
まえがき 最近、Python を勉強し始めたので、その学習メモです。 今回はタプル(Tuple)についてです。 タプル(Tuple) プログラミングをしていると、複数のデータをまとめて扱いたいときがあります。 例えば、座標などがそうです。 座標は、x軸とy軸(3次元の場…
まえがき 最近、Python を勉強し始めたので、その学習メモです。 今回はビット演算、比較演算、論理演算についてです。 ビット演算 ビット演算はC言語などとほぼ変わらないので、特別異なる点のみ説明します。 シフト演算 print(2 << 3) print(4 >> 2) 実行…
まえがき 最近、Python を勉強し始めたので、その学習メモです。 今回は基数についてです。 基数 基数は、各桁を構成する数値や記号の数を表し、簡単に言うと桁が繰り上がる数です。 この基数を使った数の表現方法を記数法と言います。 例えば、普段生活で使…
まえがき 最近、Pythonを勉強し始めたので、その学習メモです。 今回は数値演算、数学関数についてです。 数値演算 まずは、数値演算です。 Pythonでは、標準で整数、浮動小数点数、複素数を取り扱うことができます。 整数や浮動小数点は、C / C++ / C#など…
まえがき 最近、Pythonを勉強し始めたので、その学習メモです。 Hello, World まずは、おなじみの「Hello, World」から。 print('Hello, World') 実行結果 Hello, World 余計なものは何もいらない。そうPythonならね。 文字列処理 続いてはよく使う文字列処…
まえがき Excelの列名(A, B, ..., AA, AB)と列番号(1, 2, ...)を相互変換する方法のメモです。 ついでに、相互変換するWindows用アプリケーションも作成しました。 列名 <--> 列番号相互変換 共通定数 まずは、共通で使用する定数を定義します。 // アルファ…
まとめ 「UMLのステートマシン図を実装する for C#」のまとめ記事です。 次のようなステートマシンをC#で実装する方法について紹介しています。 エアコンステートマシン No. 内容 Link 備考 その1 ステートマシンベースクラス実装 Link その2 ステートマシン…
まえがき ステートマシンをGUI(WPF)で動作させるアプリケーションを実装していきます。 エアコンステートマシン 事前準備 今回は、WPF + MVVM + リアクティブプログラミングでGUIアプリケーションを実装しようと思います。 MVVMのフレームワークにはLivet…
まえがき ステートマシンをCUI(コマンドライン)で動作させるアプリケーションを実装していきます。 エアコンステートマシン Messenger クラス 状態遷移など、ステートマシンの内部状態を把握しやすくするために、任意の文字列(ログなど)をアプリケーションに…
まえがき 今回は、エアコンモデル(AirConditionerクラス)を実装していきます。 エアコンモデルは、今回のテーマである「ステートマシン図の実装」からは離れてしまうので、それっぽく動作するものに留めておきます。 エアコンステートマシン StainLevel 列挙…
まえがき 今回は、前回に引き続きサンプルのエアコンステートマシンを実装していきます。 エアコンステートマシン State クラス State クラスを継承した各状態を実装します。 エアコンステートマシンでは、4 つのメイン状態と、6つのサブ状態を実装する必…
まえがき 今回は、前回説明したサンプルのエアコンステートマシンを実装していきます。 エアコンステートマシン StateMachine クラス StateMachine クラスを継承したステートマシンを実装します。 エアコンステートマシンでは、3 つのステートマシンを実装す…
まえがき 今回は、前回作成したベースクラスを使って実装するステートマシンのサンプルについて説明します。 エアコンステートマシン 上記ステートマシンは、エアコンの状態遷移を表したものになります。 なお、今回作成するステートマシンはサンプルのため…
まえがき ステートマシン(状態機械)の実装方法にはいくつか方法があり、有名なものとして GoF デザインパターンのState パターンがありますが、UML で表記されるステートマシン図の実装方法について書かれた Web ページなどをあまり見かけないので、State パ…