HTML+SQLコンパイラ

Debugのイベントフローの作成

デバッグ環境のフレームワークを作成中。 結構、コード量がもりもり増えています。

サーバーサイドのBreakpointの実装

いよいよというところに入ってきた。 以前に作ったコンパイラの見直しにもすごく良い機会だ。今までに、実装が厳かになっていた、関数の部分の実装をつくらなくてはいけない。 関数の部分がからむと、スタックフレームの部分を実行時に取れるように実装する…

デバッグ環境を整える

スクリプトがきちんと動いているか調べるためには、変数のダンプ処理が必要だ。 むしろ、これがあれば、スクリプトがちゃんと機能しているかどうか、アプリケーションを作るときにも便利だ。デバッグ環境にも力を入れていきたい。そういえば、Eclipseのデバ…

単純作業の嵐

やっと、SQLの方のコンパイラと実行環境が半人前に動き出したので、今度はHTMLコンパイラの方のアトリビュートプロセッサーの作成にはいる。といいたいところだが、HTMLコンパイラを見直してみたら、かなり半人前以下であることが発覚。 難易度とかはSQLと独…

アトリビュートプロセッサ

アトリビュートプロセッサは、HTMLのタグの中に仕込むことで、HTMLのタグをプログラム部品として動かすための仕組みです。例:テーブルの中に違うHTMLの部品の内容を読み込む。 ちなみに、部品は、親HTMLと独立してFRAMEタグのように画面遷移する。 <TABLE> <TR> <TD width="300" alns:inner="/form/index.html" > <TD> </TR> </TABLE> $s…

ついにLOOKAHEADのお世話になる

ついに、LOOKAHEADのお世話になった。 今までは、LOOKAHEADとか、右結合、左結合などのルール指定系は極力使わず、生成規則のみで演算子の優先順位に対応してきたが、ついに限界に。 ++$num;$num +++$num2 --- $num3; みたいな書き方でついに限界が。 …

今夜がヤマだ

かなりのところまで来た。 今、スクリプトとHTMLのデザインの結合作業をやっている。やっぱり、なんでも、簡単に出来るのがはやるんだろうけど、作る方は結構大変だったりする。 ここをぬけると、だらだらと追加機能を付けていく作業に突入。今後、付けなく…

やっぱり世話にならず

結局、生成規則を見直したらLOOKAHEAD使わずに出来た。 しかし、LOOKAHEAD使うと一気にコードが大きくなるなあ。

スクリプト仕様

スクリプトの仕様について考えた。 ハッシュとか使わなくても、全部、Bean形式にしてしまっても良いかもしれない。$で始まるのが変数のわけだが、 $test = "aiueo"; というほかに $test = "No.10"; $test.name= "pu-tarou"; $test.age = "40"; みたいな記述…

スクリプト強化

やはり、SQLとあわせてスクリプトが使えるとすごく重宝する。 ストアドプロシージャーが好まれるのも、やっぱり、その辺の融通が効くからだと思う。言語体系としては、SQL文とPHPっぽいような感じのものにしていこうと思う。 そうすれば、みんな馴染みやすい…

いやだと言う気持ちからプロダクトは生まれる

はっきり言って、我慢は良くない。 正直、StrutsやJSF、PHP、Perlを使って開発した経験があるが、あれはもういやだ。 ・HIDDENとか、フォームで戻るボタンとかようにパラメータを引き回すのがいやだ。・戻ったときの入力フォームに値が入ってるだのはいって…

来週あたりから動かしながら

来週あたりから、動かしながら機能追加作業ができそう。 そうなってくると、回りの人にもデモが見せられてとても良いんですよね。いままでの、長居下積み作業から、成果が見えてくるときです。もう、プロダクトを何個も作ってると、この感覚は、作りはじめか…

激しくスクリプト強化

昨日までで、大体SQLは目処がついてきたし、実行仕方も目処がついてきた。 あとは、スクリプトを強化したい。スクリプトにつける機能としては、・IF文 ・WHILE文 ・FOR文 ・関数定義、呼び出し ・Jarの動的ロード&Javaの実行 ・配列型データのネイティブサ…

やっと、SQLのDML(SELECT, UPDATE, DELETE, INSERT)のパーサーが出来る

やっと、SQLのパーサーがDMLは完成。 残るは、テーブルを作ったり消したりするDDLと、トランザクション関連だ。でも、この辺は、DMLに比べればたいしたことはないし、使うテクニックは全部持っているので結構すぐ出来ると思う。実行系の目処もだいぶついたし…

内部の方向性がかたまる

だいぶ、内部の管理の方向性が見えてきた。 一番悩んでいたのは、HTMLの部品化のところ。ここでは、親のHTMLの中に子HTML(+スクリプト)をどんどん追加していけて、しかも、親と子供が独立して動くから、部品化ができるという所の仕様だ。これには、独立性…

Frameタグが腐る程使えたら

結構、PHPやJSPで開発していて、そうかんがえたことはないだろうか? なぜならば、Frameタグを使うとすごく便利だからだ。 なぜ便利かというと、 ・フレーム内のHTMLのフォームが独立して動く ・だから、WEBの部品化が出来る ・だから、あとで修正を加えると…

実行系の整備にはいる

だいぶ、SQLのパーサーは出来てきた。 これからは、そのパースしたものを実行する実行系をどんどん実装しようと思う。 SQLScriptのパース → 実行 → 実行結果をHTMLデザインに渡す→HTMLデザインのレンダリング という一連の流れを披露できるまでもうすぐだ。

目標、4月にαリリース予定

HTML+SQLコンパイラの方に、結構引き合いが出てきた。 デモを見せられるようになったら、見にきてくれるところも出てきた。結構、コンパイラの方は、以前作ったプロダクトの知識が生きるので、さくさく進む。 ソースコードもどんどん増える。こちらの製品で…

演算子の優先順位は生成規則で

だいぶ、SQLの一番ややこしいところ、すなわち、WHERE区のコンディション関連ができた。 SQLのコンパイラ作成で一番厄介なのがこの部分だ。 ANDとかORの論理演算もあるし、優先順位もあるし。NOTとかもあるし、結構いろいろとやることがある。演算子の優先順…

コンパイラ系を見直す

HTMLの状態遷移をもっと的確に行うようにした。 というのはHTMLの中の本文(BODY STRING)と、タグ内(''の間)と、ダブルクオーテーション、シングルクオーテーション内で、認識するトークンが違うからだ。 例えば、タグ内では"HTML"という単語が出てきたら…

SQLコンパイラと実行環境作成に入る

HTMLのほうのコンパイラはだいぶ目処がついてきたので、SQLコンパイラの作成にはいろうと思います。 今回は、SQLコンパイル後の実行も必要なので結構工夫が必要。 あと、HTMLのデザインのコンパイルは、そもそも目に見えるものだから、エラーが起きたら分か…

生Servletにはまる

ひさびさにはまった。 というのは、文字コードにはまった。HTMLのコンパイラはただしく認識しているのに、System.outとTomcatからの出力で?????が出てしまう。僕は、これをずーーっと実はJavaCCのせいにしていた。 でも、おちついて解析したら、ServletのHtt…

ついに商品名のalinous.comを押さえる

ついに、商品名のalinous.comをパートナー企業の方が押さえてくれた! しかも、お名前.comで。これで、ホームページが作れるぞ! ダウンロードサイトも作れる。このなまえが空いてて本当にびっくり!でも、良かった良かった。

デバッグ環境を整える

今日は、エラー系の処理をかなり重点的にやった。 WEBのフレームワークの使い勝手でかなり重要なのは、エラーが起きたときに、エラーが何なのかとか、どこでおきているのかとか、その辺の情報が取りやすいことだ。 やっぱり、この辺が難しいと普及しない。 P…

Web+DBアプリのSession有効活用

今、作成している、HTML+SQLコンパイラ搭載のAPPサーバは、セッションをかなり有効活用している。 というか、その部分をDBに自動的に入れるようにしている。 その他、WEBでつくってて嫌だなーとおもうところは、全て何気に解決されているようにしたい。WEB…

オブジェクト指向全開とデータベース

だいぶ、オブジェクト指向のほうのコンパイラはできてきた。すごくいい感じだ。やっぱり、技術系の製品を作るときに妥協はいかん。 しかし、こういうのをつくっていると、本当に高速なDBが必要だと思えてくる。ただ、どういう風に早いかはすごく問題だ。 み…

HTMLコンパイラを作る

今日は、かなり、謎のプロジェクトの開発が進んだ。HTMLのコンパイラと、独自のスクリプトのコンパイラを作らなくてはならない。 HTMLのコンパイラは、ほぼ、さくっとできた。あとは、フレームワークがだいぶ構想から現実になってきた。 やっぱり、実際に書…

JavaCCのASTは使わず自作

いま、JavaCCの研究をしてるが、Yaccと結構互換性あることがわかってきた。やっぱり、Yaccの方が使い易いなあ。Lexの方は、現在の状態に応じてトークンを切替える機能がちゃんとあったので一安心。 これがないと、プログラム中のコメントとか、文字列の中の…

Webの部品化

これができたら、本当に売れると思う。今ある部品化は、結局、トップ画面に、部分的にHTMLを仕込むだけだ。Ajaxが注目されるのは、DIVタグでその中の画面遷移が親HTMLとは独立して動くから、部品化ができるからだと思う。でも、Ajaxは素人にはとてもじゃない…