派遣に内定もらった。2008年7月2日コメント (12)
卒研が忙しいので就職活動を休止することにしました。
絵を描いたり例の作品を仕上げる時間が
つぎつぎと研究室滞在時間や睡眠時間に潰されて消えていきます。
<戦果>
某特定派遣 1社 内々定
…以上 ヽ(`Д´)ノウワァァァン!!
しかもココ、吸収合併されて来年には社名が消えるんだぜ?
でも自分の力は客観的に見ればこの程度なんだろう。たぶん。
夏・秋採用も成果は期待して無いけど突撃する予定。
夏休みすぎれば大学に行かなくて済むし
地元岐阜を中心に愛知岐阜三重3県行けるから
実家の場所とかマジ便利だわ。
…でも岐阜、ざっと調べてみただけだけど派遣業が多くね?
最近ドリルキング社歌を口ずさんでいる事が多くなってきて欝です。
絵を描いたり例の作品を仕上げる時間が
つぎつぎと研究室滞在時間や睡眠時間に潰されて消えていきます。
<戦果>
某特定派遣 1社 内々定
…以上 ヽ(`Д´)ノウワァァァン!!
しかもココ、吸収合併されて来年には社名が消えるんだぜ?
でも自分の力は客観的に見ればこの程度なんだろう。たぶん。
夏・秋採用も成果は期待して無いけど突撃する予定。
夏休みすぎれば大学に行かなくて済むし
地元岐阜を中心に愛知岐阜三重3県行けるから
実家の場所とかマジ便利だわ。
…でも岐阜、ざっと調べてみただけだけど派遣業が多くね?
最近ドリルキング社歌を口ずさんでいる事が多くなってきて欝です。

コメント
この調子でガンガンいけるといいですね。
日本コントロール工業に就職したけど、仕事がなかったという人も知ってます。
結婚して子供も産まれたのに、大丈夫だろうか、と心配になりますね。
紀乃さんご結婚は?
すごいパワーですね。
湾岸戦争の時の日本は民間の船会社に輸送を頼んで断られたとか・・・。リーダーがそんな風だから戦争に負けてしまう。
ましゅう級輸送船を3日で建造とかして欲しいです。
何故なら、あそこは変態クラブだからだ。
覆面をして皮のパンツをはき、手に鞭を持った性的倒錯者がのさばっている。
建設的な情報交換はまれで、通常は他人を貶めて傷つける事が当たり前になっている。
基本的に、基地外を隔離するための空間である。
ありがとうございます。
この調子で大学卒業まで何事もなく終わればいいのですが…
>sexok1-2-3 様
新卒という肩書きがそろそろ剥がれ落ちてきていて焦ってます。
まだまだハングリー精神全開で行きまする。
一度休学期間にうつ病治療として
ストレスに負けない方法のカウンセリングを受けたとか
迂闊に言っちゃってたのが敗因かも。
うつ病と聞くだけで完治しているなど現状に関わらず
マイナスイメージを抱く人がまだ結構いるんだとか
今更知ったところで遅いっての。
>優希 様
自分の行くところは輸送船を建造するというより
運用保守点検する仕事が多いらしい(案件的に)。
もとろん製造機械の運用に携わる事もあるらしいけど
コア業務にはなかなか関われなそうだし
そこでの仕事に技術面でのスキルアップは期待できなそう
どうせなら3日で大型船を建造する仕事より
2日で製造可能な生産ラインを作りだす仕事がやりたい。
簡単にはそれが出来るチャンスは巡ってこなさそうだけど。
>ぺんた 様
俺はマリオ3が嫌いだ。
何故なら、あそこは変態クラブだからだ。
狸のコスプレをしてありえないセンスの全身タイツを着て、
手にヤバイ色のキノコを持った変態配管工がのさばっている。
2Pの協力的なプレイはまれで、通常は相手が重なった所をボタン連打でハメて
相手の行動順を奪えるまで進ませないのが当たり前になっている。
基本的に時間を無駄に過ごすためだけのゲームである。
誠実に真面目な事を書き込むと、「うんこ」「ちんぽやろう」だぜ。
2chクォリティに染まったら、就職活動で転落するだろう。
いや、して欲しいものだな。
「吹いたwww」
「wwwwwwwwwwwwwwww」
「ワロタ」
なんてことを、書き込んでる奴等が、いい大学出て出世したら、日本は終わる。
頼むから、ニートになってくれ。
なんて言葉が出るなんていったい何が起こったんだ。
もしかしたら某無法地帯のことか。
それじゃ嫌いになるのは当然じゃないか。
でもwwwなんてしょっちゅう言ってるけど?
ワールドワイドうぇ
でも日本の終わりはたぶん大丈夫、
とっくに腐るところは腐ってるから大して変わりはないだろうし。
ここにも一人出世街道から外れてるやつがいるから安心しなって。
はじめてのスレだったから、気がつかずに連絡先を載せちまったぜ。
真面目な書き込みだったんだが、凸依頼だと思ったみたいだな。
恋人に手紙を送ったつもりが、暴力団の事務所に届いていた。
みたいな、取り返しのつかない事をしたという恐怖に襲われたぞ。
コンパイラ作ってみるかも編−その1で始めたコンパイラ作成ですが、VBで軽く字句解析・構文解析の基礎を学んでみました。
そこで、ようやくここから実際のコンパイラを作成しようと思います。
まず、今回作成するコンパイラの大まかな仕様を決めておきます。
VisualC++2005で作成。
字句解析にはflex、構文解析にはbisonを用いる。
生成されるコードはJavaのクラスコード。
今回はx86のコードは生成せず、Javaのクラスコードを生成します。
この利点として、メモリ管理をJavaVMに丸投げできることや、多少変なコードでもPCの動作に影響を与えず実行できるという利点があります。
.exeを吐くコンパイラを作ると、まともに動くまで何度もおかしな動作しそうでちょっと怖いし(^^;
flex(Wikipedia)とbison(Wikipedia)は、それぞれ字句解析・構文解析を行うコードを生成してくれるプログラムです。
今回は、まずflexを使って字句解析用のコードを作成してみます。
ただ、flexとbisonは連携して使えるようになっており、逆に今回の例では、bisonのコードも準備しないとコンパイルできません。
ということで、まずはflex・bisonを入手します。
色々なバージョンがありますが、今回はUnix系の動作に近いものということで、cygwin版を利用します。
cygwinって何?という人はとりあえず検索してインストールしてみてください。
多分デフォルト設定ではflexとbisonはインストールされないため、パッケージ一覧で明示的にflex・bisonがInstallされるようにしてください。
こんな感じ。KeepかInstallになっていればokです。
なお、数年以上古いcygwinを使っている人は、flexのバージョンが2.5未満の可能性があります。
flexは2.5でC++対応など大きく変更されているので、2.5以上のバージョンにしておいてください。
cygwinのインストールが済んだら、環境変数Pathにcygwinbinディレクトリを追加しておき、コマンドプロンプトから実行できるようにしてください。
コマンドプロンプトで↓のように実行できるとokです。
C:sample>flex -V
flex version 2.5.4
さて、次にVisualC++ 2005からflexを利用する方法です。
flexは一般的に拡張子.lのテキストファイルを処理して、C言語の字句解析器を生成します。
そこで、まず拡張子.lのテキストファイルをプロジェクトに登録し、次にカスタムビルド設定をします。
ソリューションエクスプローラで.lファイルを右クリックして"プロパティ"を選択、"構成プロパティ"の"全般"にある"ツール"の欄を"カスタム ビルド ツール"にします。
そして"カスタム ビルド ステップ"の"全般"を開き、"コマンドライン"の欄にflexのコマンドラインを記述します。
ついでに"説明"や"出力ファイル"の項目も埋めておきます。
たとえばこんな感じ。
flexコマンドでは-oの後に空白をつけずに出力ファイル名を書き、最後に入力ファイル名を書きます。
この例ではjbc.lを入力としてjbclexer.cppを生成しています。
この状態でjbc.lにflexが解釈できる適切なデータを持たせておくと、さしあたり1回ビルドさせるとjbclexer.cppが出来ます。
その後生成されたファイルをプロジェクトに追加すると良いでしょう。
さて、準備が整ったところでflexに処理させるデータを作成します。
この節では、flexの定義ファイルの一般的な書き方を示します。
コンパイラ作成固有の話は次の章以降に行うので、すでにflexを使ったことがある人はこの節は飛ばして大丈夫です。
Flex 字句スキャナ生成プログラムやLex and YACC primer/HOWTOにFlexの日本語マニュアルがあるので、こちらも参考にすると良いでしょう。
今回はJBCompilerで使用したファイルをサンプルに説明していきます。
サンプルファイル(別ウインドウ)
flexは、定義ファイルを処理させることでC/C++でコンパイル可能なソースを生成します。
この定義ファイルの大まかな構成は以下のとおりです。 %{
Cのコード
}%
定義
%%
ルール
%%
Cのコード
2箇所あるCのコード部は、flexにより生成されるソースの先頭・末尾にそのままコピーされます。
生成後のファイルで必要な#includeや変数・関数宣言を入れておきます。
上記のサンプルファイルでは、STL関連のヘッダインクルードや、マクロ定義・関数宣言などをしています。
末尾のCコードは空にしてあります。
続く定義部には、基本的に正規表現に名前を与える処理を行います。
ルール部では、同じ正規表現を何度も使用することがあるため、ここで名前を与えておくと繰り返しがなくなって便利です。
なお、この定義はなくてもかまいません。
サンプルファイルの定義例を以下に挙げます。
ID [a-zA-Z][_a-zA-Z0-9]*
digit [0-9]
exponent [eE][+-]?{digit}+
i {digit}+
float_constant ({i}.{i}?|{i}?.{i}){exponent}?
左側が名前、右側が正規表現です。
正規表現名 ID は、1文字目はアルファベット、2文字目以降はアルファベット・数字・アンダースコアを任意の数繰り返せることを示します。
大抵のプログラム言語の変数名や関数名はこのような正規表現で表現できます。
他にも、数値を表す digit や小数を表す float_constant などを定義しています。
float_constant では、直前の定義 i や exponent を利用しています。
他の正規表現を利用する場合は、 float_constant の例のように、前後を大括弧 { } で囲います。
他にも、定義部には、flexに与えるオプションを指示する %option や、後述のスタート状態を示す %x %s があります。
%option では、flexに対する指示をコマンドラインオプションで与える代わりに、同等の指示を定義ファイルから行えます。
これは上記のマニュアルを参照してください。
そして、残るはルール部です。
ここには、正規表現と、その正規表現にマッチした場合の処理を記述します。
基本的には、正規表現に対応して番号を振り、それをreturnすればokです。
このとき、bisonを利用する場合は、yylvalという変数に追加情報を格納できます。
今回のサンプルファイルでは、たとえば以下のような処理を記述しています。
sub { yylval.lineno=lineno(); return(T_SUB); }
function { yylval.lineno=lineno(); return(T_FUNCTION); }
dim { yylval.lineno=lineno(); return(T_DIM); }
左側は正規表現を記述しますが、この例では正規表現はアルファベットだけなので実質この文字列自体が来るかどうかを判定しています。
たとえば入力に sub や function や dim という文字列が来たとき、yylvalに値を代入して、return文で色々返しています。
つまり、flexは sub や function や dim という文字列を見つけるたび、呼び出し元に対応する整数T_SUB、T_FUNCTION、T_DIMを返します。
yylvalには、後のデバッグのためここでは元の入力の行番号を代入しておくことにします。
lineno()はflexの定義する関数で、読み込みの行番号を返します。
うはww授業料テラタカスwwww
というか凸依頼にも見える真面目な書き込みって…
まさか、苦情があったらこちらに連絡してくださいとか
本人証明のためのメアド晒しでも?
とりあえず2chには誰かに雇われていると思しき
"プロ"の荒らしがいる気配がします。
情報をコントロールの仕方や、レッテルを貼るやり口など
どうも、同一犯にしか見えない手口が
いくつかの騒動にまたがって存在しているような気がするし。
だからこそ、よそのサイト以上に
IPや個人情報の管理は欠かせないんだけれど
初心者とかはそんなこと教えられないからなぁ……。
だから、より管理の行き届いた大型掲示板が出来れば
自然とそっちに人が行きそうなのに
気がつくと荒らしやら何かでにぎわう2chに
話題を取られているという有様。
でも、某所でコラ師とかやってた事もあるから
話題や荒らしとかは2chに隔離しておいて
マイナーな場所ではマッタリと対話する楽しみができるという点で
2chはあると助かるわけではあるけれども。
>kone 様
なんというか引用元が気になる…。
コメントはユーザーのみ受け付けております。