PHPでtypedef名から元の型名を引き当てる 公開日:2021年12月9日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 引き続きPHPでC言語の前処理を行う話題になります。前回、前々回で、PHPからC言語の型の情報を取得する方法について解説しました。今回は、C言語では同じ型であっても別名が付いていることがあるので、 […] 続きを読む
PHPで生成したC言語プログラムでPHPのコードを自動生成する 公開日:2021年12月9日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 いつものようにPHPでC言語の前処理をする話題です。ただし、今回はちょっと複雑です。何をやろうとしているのか、その手順を次に挙げます。 PHPを使ってC言語のソースコードを自動生成する。 生成され […] 続きを読む
C言語の型の特性をPHPで定義する 更新日:2021年12月8日 公開日:2021年12月7日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 例によって、今回もPHPでC言語の前処理を行う話題です。前処理を行うにあたって、ちょっと凝ったことをやろうとすると、C言語の処理系に依存する情報が必要になってきます。今回は、算術型(正確には実数型 […] 続きを読む
PHPの閉じタグと三文字表記の微妙な関係 更新日:2021年12月8日 公開日:2021年12月6日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 今回もまたまたPHPでC言語の前処理を行う話題です。前回までで主立った内容は書いてしまったので、今回は簡単に済ませるつもりです。 PHPで前処理するためには、当然PHPの開きタグ(<?php […] 続きを読む
#line指令等に埋め込むパス名のエンコーディング問題について 更新日:2021年12月8日 公開日:2021年12月5日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 相変わらず今回もPHPでC言語の前処理をする話題です。前回、前々回と、#line指令を埋め込んだり、__FILE__をパス名にすり替えたりする処理を作ってきました。そこでは、話を簡単にするため、A […] 続きを読む
PHPによる前処理でソースコードを取り込む 更新日:2021年12月8日 公開日:2021年12月5日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 今回も例によってPHPでC言語の前処理をする話題の続きです。C言語には#include指令があり、これによって別のソースファイルを取り込むことができます。また、PHPにはincludeおよびreq […] 続きを読む
PHPの閉じタグに#line指令を埋め込む 更新日:2021年12月8日 公開日:2021年12月4日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 ここのところPHPでC言語の前処理をする話題を連載しています。今回のその一貫なのですが、これまでとはちょっと違うテーマになります。 PHPで前処理して生成したC言語のソースコードは、ほとんどの場合 […] 続きを読む
PHPでC言語の関数を他言語と連携させる 更新日:2021年12月8日 公開日:2021年12月2日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回は、PHPでC言語の関数宣言をさせると何が嬉しいのかという問いかけをして終わりました。今回は、その「なぜ嬉しいのか」について書くことにします。 C言語で実装した関数は、C++をはじめ、さまざま […] 続きを読む
PHPで関数の宣言を生成する 更新日:2021年12月22日 公開日:2021年12月2日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 ここのところPHPでC言語の前処理を行う話題が続いています。今回のその一環として、PHPでC言語の関数宣言を自動生成してみることにします。 今回は例として、標準Cライブラリのfgets関数の宣言を […] 続きを読む
PHPを使って列挙定数を文字列化する 更新日:2021年12月8日 公開日:2021年12月1日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回まではPHPで構造体を自動生成してきました。今回は構造体ではなく列挙体を作ってみることにします。それだけでは面白みがないので、列挙定数を与えると、その名前の文字列に変換する関数も自動生成してみ […] 続きを読む