青木日記

<前の日 | この月 | 次の日>

2002-05-01

C#

なんとここまでできるとは、dotGNU やるなあ。さっそくインストールしてみます。

日付の表記

英語の「日月年」の順序にはどうにも馴染めない。馴染みたいとも思わない。

dotGNU インストール

pnet は Portable.NET の略ですか。うーんと、treecc → pnet → pnetlib の順番でいいのかな。

treecc ってコンパイラコンパイラか。セマンティックパーサを実用的に使ってるのは始めて見た。

おっと、CVS 版だから autoconf が必要だ。しくしく。Makefile.in がナイって言われるヨー。automake もいるようだ。

む、pnet の support/locale.c が止まるな。CODESET が未定義? うわー、嫌だなあ。この Plamo はロケールまわりボロボロなんだわ。とりあえず _NLCTYPE_CODESET_NAME にしとこう (glibc 2.2.5 の定義を見てきただけ)。……よし、通った。

なんだ、HACKING ってファイルに CVS 版のインストール方法が書いてあるじゃん。

ところでさ、cscc って C が一個多くない? それじゃ C# Compiler Compiler になってしまうぞ。あうー、これも書いてあった。C Sharp Code Compiler だってさ。

む、バックエンドに cscc-cs なんてのがあるぞ? これは別の言語への対応用ですね?

csdoc ……また XML か。向こうの奴は好きだなあ XML。

始めての、Linux で C#

よしっ、テストだ! Hello World だ!


% cat hello.cs
public class C
{
    public static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}
% cscc hello.cs
% ilrun a.out.exe
Hello, World!

おお、動いた!

ふむふむ、root で ilrun --register としておくと ./hello で実行することもできるのだな (要 Linux 2.2 以上)。


% ilrun --register
% cscc -ohello hello.cs
% ./hello
Hello, World!

本当だ。へー。

つーわけで Portable.NET

おかしいなあ、foreach がパースエラーになる。

public static void Main(string[] args)
{
    foreach (string a in args) {
        cat(a);
    }
}

で文法合ってるはずだが。エラーメッセージが unexpected "identifier" なのでスキャナがバグってるのかな。

本日のツッコミ(全1件)
arton (2002-05-02 02:33)

合ってるように見えるけど。catが非staticか、全体をclassで囲ってないか、かな? (foreachが未実装とか?)


<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|