Programming

人工無脳を作ってみようとするよ5

なんかいいかげん日記につづる形式が適当とも思えないような気もしなくはないので、Wikiとか設置してそっちで書くかも。なんかフラフラと自然言語処理の知識を遠くから眺めて思ったんだが、この分野ってすげえエキサイティングなんじゃなかろうか。適当に自…

人工無脳を作ってみようとするよ4

Perlオブジェクト指向プログラミング Perl&CGI最強講座 このあたりの記事を読みつつ、今まで書いたスクリプトをモジュール化。書き方まずいところあったか、ベタ書き時より遅くなってる処理あるけどよしとする。そのかわりに処理の流れがわかりやすくなって…

人工無脳づくりを再開する前にすること

ロシア語の予習 物理学実験のレポート Perlのリファレンス変数を理解する。(ポインタみたいなもんっぽい) Perlの手続き型的プログラミング方法を理解する。 Perlのオブジェクト指向的プログラミング方法をさらっと眺める。 今まで書いたPerlスクリプトはま…

人工無脳を作ってみようとするよ3

先人の知恵は高尚で、理解に時間がかかってしまう。なのでMeCabにわかち書きさせる以外は適当な「こうやったら文章っぽくなるんじゃね?」アルゴリズムで開発中。「人工無脳目指すスクリプト」さん、喋りなさい。 以下妄想。 おそらくは元々アカウント名は10…

人工無脳を作ってみようとするよ2

まずいまずい。日常が意外と楽しいですよ。人工無脳製作目指してますよ。 製作中の人工無脳の欠片さん、さあ10回発言しなさい。 今ソース今日とある。人さらなる男はでととか。となるた帰結立ち読みないいるはと来でF俺けどにて あと無のでメールなんてに 今…

人工無能を作ってみるよみようとしてみるよ。

大学の自然言語処理の講義で、課題が出された。「自然言語処理についてのレポートを書くor人工無脳プログラムを作成する」の好きな方を選択してください、と。 最初は「伺か」的な、仕込んである特定のワードが出てきたら、それに反応するみたいな無能さんし…

Makefile(TeX用)

TARGET = hoge XDVI = xdvi DVIPS = dvips TEX = platex .SUFFIXES: .ps .dvi .tex .eps all: $(TARGET).ps clean: -rm -f *.aux *.toc *.lot *.lof *.dvi *.log .tex.dvi: $(TEX) $< .dvi.ps: $(DVIPS) $< $(TARGET).dvi: $(TARGET).tex今貼り付けて気付い…

csvファイルをTeXのtabularに

表計算ソフトの結果とかをTeXのtabular環境下にぶちこみたい。手書き? 勘弁してくれ。 #!/usr/bin/perl foreach(@ARGV){ $file = $_; open(IN, $file); @buf = <IN>; close(IN); foreach(@buf){ s/,/ & /g; s/\n/ \\\\\n/g; s/([^,]+)/\$ \1 \$/g; s/([0-9]+\.[</in>…

letとletrecの違いとか

自然言語でletとletrecの違いが書いてあるのを読んでもよくわからなんだ。自分で書いてみてわかった。 書いたのは与えられたリストをconsで再帰的に定義してそのまま返すだけの関数。

なんかリストとlambdaとか憶えたからちょっと色々してみる

簡単なリストの扱い方と、lambda式の書き方とかを憶えたらちょっと便利なことさせれる気がしてきたのでちょっと色々書いてみよう。

lambda式でほげほげするぞ。

lambdaは無名関数を作ってくれる感じ。 gosh> (lambda () 10) ; lambdaは「引数を取らず、10を返す無名関数」を返す #<closure 009DDE00()> gosh> ((lambda () 10)) ; lambdaが生成した無名関数を評価 10 gosh> ((lambda (x) (+ x 1)) 30) ; 引数に+1する関数に30を与えて評価 31</closure>…

Lisp系言語なんだからリストを使えないと

主にもうひとつの Scheme 入門を参考にあれこれ。 リストを扱えるようにならにゃ、Schemeでプログラミングはできねえ。らしい。さてやってみよう。

なんか色々やってみよう

アルゴリズム言語Schemeに関する第五改訂報告書 Practical Scheme Scheme Programming もうひとつの Scheme 入門 などを参考にしつつ適当に動かしてみよう。まず適当に四則演算とかさせてみよう gosh> (+ 32) 32 gosh> (+ 223 27) 250 gosh> (- 10 6) 4 gosh…

まずはインストールとか

さてなんかLispでもやってみようかなと思いついた。今は主にCommon LispとSchemeが有名どころだとか。Common LispがでっかいLisp、SchemeがちっちゃいLispということらしい。じゃあちっちゃいの、ということでSchemeを学ぼう。なんかSchemeって数あるLispの…

バグだらけのコードを書かないようにしたい

とりあえずなんでもunsignedをつけてるとfor(unsigned int i=10;i>0;--i)とかやって無限ループやりがち 一文字変数名は制御用の変数としてi, jとか使う程度にしてほしい。l(小文字のエル)とか使う奴は、なんの嫌がらせですかそれ。

こんだけわかれば大学のMIPSのアセンブリ言語の課題程度はできねーかな

もちろん適当だ。 各種命令 データ転送系 文法 説明 lw r1, n(r2) load word。r2レジスタの数値+nが示すメモリ番地の内容を1ワードをr1レジスタに代入(ロード)するぞ。 メモリ番地の単位はバイト。 sw r1, n(r2) store word。r2レジスタの数値+nが示すメモ…

arc.nsaをデコードしようとしてみる。

nscript.datをデコードして遊んだついでにarc.nsaをデコードしようとしてみる。NScripterをダウンロードしてきて、適当にちっさいarc.nsaを作っておいてそれを展開させてみる。ディレクトリの作り方とかからして調べないとわからないレベルなので、それなり…

nscript.datをデコードしてみる

まったく関係無いけど「ひぐらしのなく頃に」はつまらなかった。序盤はギャルゲ的日常風景、しかもとてもつまらない。「あんなに評判なんだから、これからきっと面白いはず」と我慢。絵が変。修羅場になると眉毛がすごいことになって、これは笑わせたいのだ…

gccのアセンブリ出力を読んでみよう。

% cat main.c int main(){exit(0);} % gcc main.c -S -Os % cat -n main.s 1: #.file 1 "main.c" 2: .set nobopt 3: .option pic2 4: .section .text,0x1,0x6,4,4 5: .text 6: .align 2 7: .globl main 8: .ent main 9: main: 10: .LFB3: 11: .frame $sp,32,…

再帰関数を書いてみよう

.text .globl fact .ent fact fact: subu $sp, 32 # $sp(スタックポインタ)-32を$spに代入。スタックフレームを32バイト確保ってこと sw $31, 28($sp) # $31(戻り先アドレス)を$sp+28が示すメモリ(確保したスタックフレームの一個目)に退避。store word move…

書こうとする度に、以前学んだことを忘れていることに気付く

gccの手続き呼び出し規約ではスタックフレームは6語(24バイト)以上確保することになっている。 スタックフレームは4語(16バイト)単位で確保するって聞いた。大学の講義で。 じゃあスタックフレームは最小でも32バイト確保しないといけないのかもしれない。 …

test