An Embedded Engineer’s Blog

とある組み込みエンジニアの備忘録的なブログです。

C#

ClangNet(libclangの.NET(C#) Binding) Ver.1.1.0リリース

リリースノート ClangNetのVer1.1.0をリリースしました。 変更点: 1. LLVM/Clang Ver.9.0.0に対応 2. いくつかの不具合を修正 ダウンロード先&インストール方法 libclang.dllやClangNetは以下からダウンロードしてください。 LLVM/Clang Ver.9.0.0 : Link Gi…

ClangNet(libclangの.NET(C#) Binding)によるC/C++ソースコードの解析 - その1

まえがき LLVM/Clangに同梱されているlibclangの.NET(C#) Bindingライブラリ(ClangNet)を作成しました。 libclangはC/C++/Objective-Cソースコードの解析や自動補完機能を提供する高レベルのAPIで、オリジナルはC言語ベースのAPIが提供されています。 C言語…

Excelの列名 <—> 列番号相互変換

まえがき Excelの列名(A, B, ..., AA, AB)と列番号(1, 2, ...)を相互変換する方法のメモです。 ついでに、相互変換するWindows用アプリケーションも作成しました。 列名 <--> 列番号相互変換 共通定数 まずは、共通で使用する定数を定義します。 // アルファ…

UMLのステートマシン図を実装する for C# - まとめ

まとめ 「UMLのステートマシン図を実装する for C#」のまとめ記事です。 次のようなステートマシンをC#で実装する方法について紹介しています。 エアコンステートマシン No. 内容 Link 備考 その1 ステートマシンベースクラス実装 Link その2 ステートマシン…

UMLのステートマシン図を実装する for C# - その7

まえがき ステートマシンをGUI(WPF)で動作させるアプリケーションを実装していきます。 エアコンステートマシン 事前準備 今回は、WPF + MVVM + リアクティブプログラミングでGUIアプリケーションを実装しようと思います。 MVVMのフレームワークにはLivet…

UMLのステートマシン図を実装する for C# - その6

まえがき ステートマシンをCUI(コマンドライン)で動作させるアプリケーションを実装していきます。 エアコンステートマシン Messenger クラス 状態遷移など、ステートマシンの内部状態を把握しやすくするために、任意の文字列(ログなど)をアプリケーションに…

UMLのステートマシン図を実装する for C# - その5

まえがき 今回は、エアコンモデル(AirConditionerクラス)を実装していきます。 エアコンモデルは、今回のテーマである「ステートマシン図の実装」からは離れてしまうので、それっぽく動作するものに留めておきます。 エアコンステートマシン StainLevel 列挙…

UMLのステートマシン図を実装する for C# - その4

まえがき 今回は、前回に引き続きサンプルのエアコンステートマシンを実装していきます。 エアコンステートマシン State クラス State クラスを継承した各状態を実装します。 エアコンステートマシンでは、4 つのメイン状態と、6つのサブ状態を実装する必…

UMLのステートマシン図を実装する for C# - その3

まえがき 今回は、前回説明したサンプルのエアコンステートマシンを実装していきます。 エアコンステートマシン StateMachine クラス StateMachine クラスを継承したステートマシンを実装します。 エアコンステートマシンでは、3 つのステートマシンを実装す…

UMLのステートマシン図を実装する for C# - その2

まえがき 今回は、前回作成したベースクラスを使って実装するステートマシンのサンプルについて説明します。 エアコンステートマシン 上記ステートマシンは、エアコンの状態遷移を表したものになります。 なお、今回作成するステートマシンはサンプルのため…

UMLのステートマシン図を実装する for C# - その1

まえがき ステートマシン(状態機械)の実装方法にはいくつか方法があり、有名なものとして GoF デザインパターンのState パターンがありますが、UML で表記されるステートマシン図の実装方法について書かれた Web ページなどをあまり見かけないので、State パ…