エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

2009-03-01から1ヶ月間の記事一覧

続・S式パーサ

C++

文字列(二重引用符で囲まれた文字列)と整数値を識別するようにしました。 パースに失敗した時にgotoで後始末に跳ぶようになっています。この部分、当初は例外で実装しようとしたんですがパースエラーは例外じゃないだろう、ということで書き直し。いろいろ言…

S式パーサ

C++

無駄にでかくなってしまいました。 半端ですがさらしておきます。できること: S式をパースしてオブジェクトにします。オブジェクトは出力できます。 (,),.,空白以外は全部識別しに使える文字扱いです。引用符とか関係ありません。

著作物は誰のものか

このリリースで注目すべき点は、彼らがJASRAC登録を回避したことだった。業界の常識では、メジャーの流通に乗せるなら著作権登録は当たり前なわけだが、彼らはその常識には従わなかったわけだ。そうした理由は簡単で、ユーザーの二次利用を妨げないためだ。…

UMTP認定試験を受けてきた

UMTP認定試験去年のLevel1 Test1に続き、Level1 Test2を受けてきました。今回受験するにあたって要項をよく読んでみると、Test2が合格すればLevel1認定されるとのこと。ってことは、去年のTest1の受験は意味なかったのかと思えてくるけれど、おかげで弱点わ…

自作の中置演算子で広がる世界

C++

おとといのエントリで書いた演算子を、汎用的に使えるようにしてみました。 // Operators.h #ifndef OPERATORS_H #define OPERATORS_H template<typename T, typename U> struct Operator { explicit Operator(const T& lhs) : lhs(lhs) {} const T& lhs; }; template<typename T, typename U> inline Operator<T, U></t,></typename></typename>…

自作の演算子その2

C++

#include <iostream> // 例:三次元ベクトルクラス class Vec3 { public: explicit Vec3(double x = 0, double y = 0, double z = 0) : x_(x), y_(y), z_(z) {} double x() const { return x_; } double y() const { return y_; } double z() const { return z_; } Vec3</iostream>…