a23_useSelfMade #7

2023.03.19 Sun #1


2023.03.20 Mon #1


2023.03.22 Wed #1


2023.03.22 Wed #2


2023.03.23 Thu #1

2023.03.23 Thu #2

int getMonthDays(int y, int m)
{
    static int days[12] = {
        31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
    };
    if (m == 2 && y % 4 == 0) return 29; // 手抜きの閏年判定.
    return days[m - 1];
}

#define fixDate(y, m, d)    ACA_fixDate(aCA, y, m, d)
void ACA_fixDate(AComArg *aCA, int y, int m, int d)
{
    while (d > getMonthDays(y, m)) {
        d -= getMonthDays(y, m); m++;
        if (m > 12) { m -= 12; y++; }
    }
    aCA->com->retValInt[0] = y;
    aCA->com->retValInt[1] = m;
    aCA->com->retValInt[2] = d;
}
HL9>!int y, d; AXFnc_i3(y, m, d, =, fixDate(2023,1,100)); printf("%d/%d/%d", y, m, d)
2023/4/10


2023.03.24 Fri #1

[開発環境としてみたときのeasy-Cの特徴]小計+3.9点
ワンライナーができる。+1.0点
別ファイルに関数を書いておくと、それを組み込み関数のように使える。+0.9点(参考: 2023.03.22 Wed #1)現状ではインタプリタモードで使えないのでその分を減点。
プロンプトで$や$$を使えばシェルコマンドが実行できる。+1.0点
gcc実行モードのほかにインタープリタ実行モードがある。+1.0点
[言語拡張としてみたときのeasy-Cの特徴]小計+2.2点
prなどの便利命令が使える。+1.0点
簡易ループ演算子が使える。+0.9点現状の実装はまだちょっと手抜きがある。
AXFncを使うと、関数の返値を複数で受け取れる。+0.3点インタプリタモードでも使えるようになれば+0.4にしてもいい。構文がもっとすっきりしたら+0.5にしてもいい。
[プログラミング入門としてみたときのeasy-Cの特徴]小計+4.5点
入門に最適なPLAY命令がある。+1.0点
入門者が使いそうな命令については、大文字でも入力できる。PRやPLAYやIFなど。+1.0点
「NEW ファイル名」「$$ファイル名」によって、ファイルエクスプローラ無しで操作できる。+1.0点すごく簡単な機能なのに効果は大きい。
I~N(i~n)については、変数がintで宣言済みなので、宣言せずに使える。+0.5点
グラフィック描画ライブラリが使える(簡単なゲームが作れるように)。+1.0点
インタプリタモードの時だけ、演算子の優先順位を変更できる。+0.3点(gccモードでもできるようにするには結構な改造が必要。でもそれができたら+0.5点にしてもいい。)
gccモードでの、#longdef, #endlongdef, #longuse+0.8点(プリプロセッサ拡張、昨年別の開発のために作って便利だった)
Uniform Function Call Syntax に対応。+1.0点これはすぐにはできなさそう。でもいつかやりたい・・・。

こめんと欄


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS