簡単なテキストの表組みツール (C言語)
ソースコード
txtbl-130416.tgz
インストール
$ make
$ sudo cp txtbl /usr/local/bin/
実行例
$ txtbl < foo.txt
+------+----------------------------------------------------------------------+
|関数名|int foo_send(const unsigned char *buf, unsigned bytes) |
+------+----------------------------------------------------------------------+
|説明 |データ送信開始 |
+------+----------------------------------------------------------------------+
|引数 |
+------+--------+---------------------+---------------------------------------+
|項番 |仮引数名| 型 | 説明 |
+------+--------+---------------------+---------------------------------------+
|1 |buf |const unsigned char *|送信するデータの先頭アドレス |
+------+--------+---------------------+---------------------------------------+
|2 |bytes |unsigned |送信するデータのバイト数(最大4096*9=36K|
| | | |バイトまで指定可能) |
+------+--------+---------------------+---------------------------------------+
|返却値 |
+------+----+-----------------------------------------------------------------+
|項番 |型 | 説明 |
+------+----+---+---------------------+---------------------------------------+
|1 |int |0 |FOO_OK |正常終了 |
| | +---+---------------------+---------------------------------------+
| | |<0 |FOO_EINVAL |パラメータの値が異常である |
| | | +---------------------+---------------------------------------+
| | | |FOO_EBUSY |現在送信中である |
| | | +---------------------+---------------------------------------+
| | | |FOO_EIO |エラーが検出された |
| | | +---------------------+---------------------------------------+
| | | |FOO_ETIMEDOUT |タイムアウト発生 |
+------+----+---+---------------------+---------------------------------------+
| 前提 |
| FOOドライバが初期化されていること。すでに送信中でないこと。 |
| 結果 |
| 指定した長さのデータが、送信開始される。送信の完了はドライバ状態の通知を |
| 利用すること。 |
| 概略説明 |
| 指定されたデータを、DMA送信バッファにコピーして、送信を開始する。 |
+-----------------------------------------------------------------------------+
foo.txt
関数名 \|
int foo_send(\
const unsigned char *buf, \
unsigned bytes) \-
説明 \| データ送信開始 \-
引数 \-
項番 \| 仮引数名 \w2 \| 型 \c \| 説明 \c \-
1 \| buf \w2 \|const unsigned char * \|
送信するデータの先頭アドレス \-
2 \| bytes \w2 \| unsigned \|
送信するデータのバイト数(最大4096*9=36K\nバイトまで指定可能) \-
返却値 \-
項番 \| 型 \| 説明 \c \-
1 \h5 \| int \h5 \|
0 \| FOO_OK \| 正常終了 \-
<0 \h4 \| FOO_EINVAL \| パラメータの値が異常である \-
FOO_EBUSY \| 現在送信中である \-
FOO_EIO \| エラーが検出された \-
FOO_ETIMEDOUT \| タイムアウト発生 \-
前提
FOOドライバが初期化されていること。\
すでに送信中でないこと。
結果
指定した長さのデータが、送信開始される。\
送信の完了はドライバ状態の通知を
利用すること。
概略説明
指定されたデータを、DMA送信バッファにコピーして、\
送信を開始する。\~
仕様
- '\|' : 列の区切り
- '\-' : 行の区切り
'\|' と '\-' は、
基本的に前後に続く空白文字(空白、改行、タブ)は無視する
- '\c' : セルのセンタリング指定
- '\w' : 続く10進文字列でセルの横方向の連結サイズ指定
- '\h' : 続く10進文字列でセルの縦方向の連結サイズ指定
- '\~' : セルの先頭に連続する空白とタブを無視しない
- '\$' : セルの末尾に連続する空白とタブを無視しない
- '\n' : 改行
- '\t' : タブ
- '\'+改行 (行末に'\')
: 改行を無視
- '\\' : '\'
- それ以外の '\' + 何かは '\\' 扱い
- 漢字コードは EUC なら、なんとかなってる様子 (^^;;