Delphiで言語を作るぞ(゚Д゚ )ゴルァ!!
■ このスレッドは過去ログ倉庫に格納されています
00011
NGNGと、いうスレでつ...
00021
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGPascalと何か関係がある開発環境・言語、その辺。
用途的にはC++と同じっぽい
とりあえず>>1は言語名を決めて丁髷。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG馬鹿
0013デフォルトの名無しさん
NGNG速く読むとラスカルなんで却下
>>8
だとしたら ( ゚Д゚)ハァ?スカル かね
>>10
もっともっと変えてくれ
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG001915
NGNGTellMeって何だよ。そんな名前にするわけない。
ネットアイドルテルミに決まってるじゃん。
0020デフォルトの名無しさん
NGNGセンスの無さがよくわかります。
0023デフォルトの名無しさん
NGNG冬だからな。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGDMonkey貼り付けてお仕舞い。
00271
NGNG偽をやるな
おれも思ったことだけど
名前はTellascal(てらすかる)に(仮)設定
まだ変える余地があるからまだ話しててくれ
年末&新年だけど仕事が入った......
0028デフォルトの名無しさん
NGNGBorlandの頚木から逃れるのが先決だろう・・・
0029デフォルトの名無しさん
NGNG最新の機能さえ使わなければ FreePascalでOK
0030デフォルトの名無しさん
NGNGこの手のスレは無意味
0031デフォルトの名無しさん
NGNGsay 'using: no parameter.' if args.
// if (args != null) {System.out.println('usi...er.');}
say hello world, >>1.
// [>>1].say('hello world');
0032デフォルトの名無しさん
NGNGclass sample class {
say hello { say hello. }
}
class sample class test {
main {
s = new sample class.
say hello, s.
}
}
00331
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGCOM使えば容易そうだけどな。レイトバインディングだっけか。
003634
NGNGです。
で、
1、専用 C++のように文法に入り込む
ただ、そうなるとDelphiの文法解釈も必要で、非常に労力が大きい
2、汎用 プリプロセッサとしてDelphi文法に入り込まずに済ませる
こっちが作る方は格段に楽だし他言語にも使えるけど、使う側は使い難い
ホントは1を考えたいけど、自分の実力じゃこの冬中に何か作るのは無理なので
2の方式で作ってみたい。
003734
NGNGそれでも、
#define int Integer
で
var a:int;
というのを解釈させるには、少なくとも語句レベルの分析ルーチンが必要ですが・・・・
0038デフォルトの名無しさん
NGNGなぁ、いるか?
type
int = integer;
じゃ不満か?
003934
NGNG#function "ファイル名" 関数名(引数):帰り値;
でファイルで定義した関数を引数並びで置換というような感じでどうでしょう?
問題はテンプレートクラスと 演算子
テンプレートクラスは、チョット考え中。アイデア誰か無いかな。
演算子オーバロードは文法の解釈が絡んで来るので自分には無理。
やれるとしたら、演算子の新設
#operator 型名 演算子 "ファイル名" 関数名
例
#operator TRect _+ "ファイル名" RectAdd
この行が
function RectAdd(var s,d:TRet):TRect;
begin
・略・
end;
と置換されて
a:=b _+ c; を a:=RectAdd( b , c) と置換
004034
NGNGあ、例が悪かったですね
#define Add(a,b) (a+b)
みたいなのは?
0041デフォルトの名無しさん
NGNGバグの温床。
0042デフォルトの名無しさん
NGNG近代的な言語では軒並み廃止される方向に進んでいるのに。
個人的な勉強ならともかく、スレッドまで立てて大々的に前時代的なことをする意味があるのか。
004334
NGNGまあ、確かに。 あれば便利かと思ったけどね。
>>42
いや、あれば便利かと思って・・・・
作るなら、自分だけじゃなく人にも使って貰えるものをと思ったから・・・
いや、要らない? 要らないならやめる
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNGテンプレートってそのテンプレートで良いの?
彼が言ってるのはジェネリック云々とは別のベクトルな気がする。
単純置換では2種類以上の型のテンプレートに対応できないわけで。
#define T int
void hoge(T giko);
//このソースではこれ以外の実態を生成できない。
004634
NGNGそれで、
#function "ファイル名" 関数名(引数):帰り値;
って構文を考えたんだ。
ファイルに
function <NAME>(arg1:<ARG1>):Integer;
var wk:<ARG1>
begin
#if ARG1=Integer
・・略・・
#else
・・略・・
#endif
end;
みたいな感じで準備しておくと
#function "ファイル名" hoge(var name:Integer):Integer;
このファイルがインクルードして置換されてソースに出力されると
まあマクロアセンブラのマクロのノリで
0047デフォルトの名無しさん
NGNGじゃあ別の構文導入しないでもDelphiの拡張構文っぽくして良いんじゃないの?
004834
NGNG例えば? 巧い方法ある?
0049デフォルトの名無しさん
NGNGprogram Test
var i: Integer;
begin
for i := 0 to 9 do
Writeln(i);
end.
S式風Delphi
program Test
begin
begin var i Integer end
begin for i 0 9
begin Writeln i end end end
0050デフォルトの名無しさん
NGNG> begin
begin program Test
0051デフォルトの名無しさん
NGNGまだ中身見てないが、ちょっとぐぐったらこんなのがあった。 探せばいろいろありそう。
Lex and Yacc for Delphi 16 and 32
Library to create macro languages
http://www.e-naxos.com/scripts/st2001.dll/sitemap?FULL=1
0052デフォルトの名無しさん
NGNGあとはバグの元になるのでイラネ
00532
NGNGこのスレは無事に終了いたしました。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG使えそうで使えない。
005634
NGNG0057デフォルトの名無しさん
NGNGあなたがこうしたんですよ。
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGヘンスウ
セイカイ, ニュウリョク: セイスウ;
(・∀・)ハジマリ
セイカイ := ランスウ;
ループ
(・∀・)ハジマリ
ニュウリョク := セイスウノニュウリョク;
セイカイ < ニュウリョク ?
モジノシュツリョク('');
(゚Д゚)ハァ? セイカイ > ニュウリョク ?
モジノシュツリョク('');
(゚Д゚)ハァ?
(・∀・)ハジマリ
モジノシュツリョク('');
(・∀・)ジサクジエンデシタ!;
(・∀・)オシマイ;
(・∀・)オシマイ;
(・∀・)オシマイ;
0060デフォルトの名無しさん
NGNGおめでとう。
006134
NGNG現在出来ているのは
L1=1+2*3+4
DAT=(1+L1)*3
の計算式から中間言語バイト列を出力させる所までです。
0 RAM=2word
2 6E 01 00 Num 1
5 6E 02 00 Num 2
8 6E 03 00 Num 3
11 2A *
12 2B +
13 6E 04 00 Num 4
16 2B +
17 62 01 00 Set 1
20 6E 01 00 Num 1
23 61 01 00 Get 1
26 2B +
27 6E 03 00 Num 3
30 2A *
31 62 00 00 Set 0
0062デフォルトの名無しさん
NGNG逆ポーランド?
006334
NGNGそう 数字やデータをプッシュしといて 演算子や関数でポップする方式
だって、他のは正月休みじゃ作れないよ。
それと、勉強用だから データは16bit限定
テキスト直接のインタプリタと違って、中間言語方式だと結構大変だね。
まだ600行くらいだけど、時間思ったよりかかってる。
006434
NGNGcase op of
'+' : push(pop + pop);
'-' : push(pop - pop);
'*' : push(pop * pop);
みたいに書いたら、当然左のpopが先に実行されるようで、負数や除算が反対になっちゃう。
格好良く書く方法ないかなあ
0065デフォルトの名無しさん
NGNG除算は変数使うか、ネスト function を呼び出すかしないとむりぽ。
1.0 div pop * pop じゃ精度が落ちるしね。
006634
NGNGありがとう。 ブロック置換で
'+' :begin w:=pop;push( pop + w );end;
'-' :begin w:=pop;push( pop - w );end;
ってやったよ。
結局、作ってみたけど低機能だから Delphiだけで使うんじゃ面白くない。
だから、今、実行エンジンをcで書いてみる事にしようと方針転換。
Delphiで中間言語吐かせて、M16とかのボードマイコンで実行するみたいな使い方で
006734
NGNGhttp://www.geocities.co.jp/SiliconValley-Oakland/8522/data/script.txt
006834
NGNGprocedure TScript.TranslatePass1(p:PChar);
pで与えたソースを分解して FItems 配列に出力
procedure TScript.TranslatePass2(Items: TAScrItem);
Itemsを与えて、
ラベル類を解決し、バイトコード PCODE配列に出力
function ScriptRun( pcode:array of byte; proc:TScrCallBack):TScrInt;
中間言語 pcode配列を実際に実行する
値をPush する=> opNum ,opLab,opELab
2項演算子は pop pop 演算 push
単項演算子は pop 演算 push
関数は aBPに位置を記録しておいて @演算子でaBP相対で引数参照
006934
NGNGで、#define 使い出した・・・・ そしたら >>64は
'+' :begin aStack[aSP-2]:= aStack[aSP-2] + aStack[aSP-1] ;dec(aSP);end;
'-' :begin aStack[aSp-2]:= aStack[aSP-2] - aStack[aSP-1] ;dec(aSP);end;
みたいに書けば良い事に気付いた。 Cだと += -= 演算が使える事にも
やっぱり、複数の言語で書くと、色々勉強になるな。
あと ++ / -- はやっぱり便利だなあ
inc / dec も 値を返せばいいのに
ただそうなると、 PostInc PreDecとか欲しくなるか
0072デフォルトの名無しさん
NGNG007334
NGNG更新後のファイル名に大文字が混じってた
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/Script.txt
他の人のソースも見たい今日この頃
0074bloom
NGNGhttp://www.agemasukudasai.com/bloom/
0075IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNGネタですよね?
0078デフォルトの名無しさん
NGNGうん、うん。。
0079デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG2ch=アングラとは決して思ってないしそう言う意味じゃないけど
0082デフォルトの名無しさん
NGNG(・∀・)(苦笑)
0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNG裁判所認定事実の項にも原告・被告の主張を挙げてるよ。
その上で裁判所の判断を示す。
008534
NGNGPUSH A
PUSH B
op *
PUSH C
op /
に再帰下降でコンパイルしてるのだけど、これを
PUSH C
PUSH A
PUSH B
op *
op 逆除算
とコンパイルするとしたら、どうやればいいのかな?
何をしたいかというと、
掛算と割算が連続してたら、一時的に倍精度を使いたいので
後の方が実行エンジン側が楽になるので
単純にMulDiv( A,B,C) って関数を定義した方がいいか
0086デフォルトの名無しさん
NGNG裁判所認定事実の項にも原告・被告の主張を挙げてるよ。
その上で裁判所の判断を示す。
0087デフォルトの名無しさん
NGNGちゃんとインデントしてくれ、、
0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNG刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGそんなやつばかりになった2ちゃんねるがおもしろいのかどうか。
0092デフォルトの名無しさん
NGNG協力してもらった人、お世話になった人は一杯いますよ。
挨拶位、大目に見て下さいな。
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG一種の最適化だね。
単純に、構文木が特定のパターンだったら変換してやる。
0095デフォルトの名無しさん
NGNGテストの結果次第でこのまま運用が続いたら書くかもです。
0096デフォルトの名無しさん
NGNG書き方がネタっぽすぎw
0097デフォルトの名無しさん
NGNG↓
どこぞの団体が、管理人にスレ・レス作成IP教えろ
↓
管理人がIP教える
│
├─────┐
↓普通 ↓異常
裁判 VXガス
こうなるとオウムに個人情報を知らせ 大量殺人にまで発展した
TBSと同じになるな。 カルトは裁判を起こすことが目的ではなく
都合の悪い相手を特定して殺害することが
IPを得る本当の目的だから真実の書き込みができなくなる。
平和な日本の昼下がり、
創価学会脱税疑惑を追及した市議会議員が自宅の団地で家事をしている。
すると突然、自宅の窓から化け物のような歪んだ力で
あっという間に空へ丸投げされて落下死する。
団地の部屋はコンビニへ買い物に行っているかのように
台所も洗濯物も何もかもがそのままの状態だ。
地元警察は創価学会と数日前から綿密な口裏合わせがあったかのように
他殺を自殺と決め付けてろくな捜査も現場検証もせず数分で打ち切る。
http://www.sokamondai.to/
ちなみにフランス内務省は最高危険度カルト教団として
日本の創価学会を公式に指定した。
正義のためにフランス政府公認のカルト教団と
たった一人で戦った市議に黙祷( ‐人‐ )
2ちゃねらーはプロバイダー責任法案を
国会で通過する前に反対しておけばよかったのに。
私は反対したが力が足りなかった。
0098デフォルトの名無しさん
NGNGあのことを聞いてみようかと思う今日この頃
0099デフォルトの名無しさん
NGNGそういうことも同時に勉強するよな。漏れの場合は中学の時だった。
0100デフォルトの名無しさん
NGNGバカに乗っ取られたマターリスレ晒しage中。
0101デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
010234
NGNG構文木は作っていません。
構文解析では再帰下降でスタック上で処理して直接PCODEアイテムを吐き出しています
・・・まあそんな所で楽するからこういう処理が難しくなってしまうわけだけど
0103デフォルトの名無しさん
NGNG全部にいれてみた。
http://qb.2ch.net/test/read.cgi/accuse/1042131034/312
0104デフォルトの名無しさん
NGNG◎●ミ.|.|.|.|.|.|.|彡●◎
◎●ミ 口 彡●◎
◎●三 口 .| .| 三●◎
◎●彡 ノ └-.ミ●◎
◎●彡川.|.|.|.ミミ●◎
◎●●●●●◎
__◎' ◎' ◎_
| 友 |
| 枝 |
| 小 |
| P |
| T |
| A |
/7 ̄ ̄ ̄ ̄ ̄キヘ
/7 キヘ
/7 キヘ
0105デフォルトの名無しさん
NGNGhttp://live2.2ch.net/test/read.cgi/news/1042196915/
0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG十数人の小学生をばたばた殺したら相当ヤヴァィだろ、と思った訳です
うーん、ちょっと軽率発言でしたね、すみません
0109デフォルトの名無しさん
NGNGhttp://shopping.yahoo.co.jp/shop?d=jb&id=07107411
-----------------------------
「2ちゃんねるのウラオモテ超入門」
マイウェイムック、143ページ
監修・2ちゃんねる
発行・マイウェイ出版株式会社
発行日・2003年2月20日
値段・1429円
0110デフォルトの名無しさん
NGNGhttp://rosso.1717.info/upload/data/mimizunserver20030111.png
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGモナーが出演決定!!!!!!!!!!!!!!!!!!!!!
<<放送時間>>
1/12
大阪 テレビ大阪 (日)9:30〜10:00
東京 テレビ東京 (日)9:30〜10:00
名古屋 テレビ愛知 (日)9:30〜10:00
福岡 TVQ九州放送 (日)9:30〜10:00
札幌 テレビ北海道 (日)9:30〜10:00
岡山・高松 テレビせとうち (日)9:30〜10:00
0113デフォルトの名無しさん
NGNG自分の考えを、自分の言葉で、表さないで、何がうれしいのか、わからないから、
バカかって思いますけど、それよりもカワイソウ、なのです。
0114デフォルトの名無しさん
NGNG| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
12/25
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
1/1
| \
| ('A`) ギシギシ
/ ̄ノ( ヘヘ ̄ ̄ アンアン/
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGそう言う風にダラダラした負荷が続くときは、
鯖のリブートが必要なのです。
更にこの現象が悪化するときは、夜勤さんを召還してください。
やりかたはこう。
夜勤さん!! ヘ(^^ヘ)(ノ^^)ノ
0117山崎渉
NGNG0118デフォルトの名無しさん
NGNG0119山崎渉
NGNG0120デフォルトの名無しさん
NGNGhttp://pc.2ch.net/test/read.cgi/prog/961558082/
が倉庫に落ちてしまました。
追悼アゲ
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNGあれでシャッフルされちゃったんだな
0123デフォルトの名無しさん
NGNG今読める 2001/06月迄の過去ログ
http://mentai.2ch.net/prog/kako/961/961558082.html
Delphi版ギコbasic
初版?
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikob064.lzh
スクリプト用に四則演算部を使い易くしたもの
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/ugikoscr.txt
組み込み方の解説
http://game.2ch.net/test/read.cgi/gamedev/1013170036/63-75
多倍長・複素数対応エンジン?
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/mformula.txt
012434
NGNGのは改造して仕事に使っちゃいました。 デバックしてたら色々バグがボロボロと
でも、仕事のソースと混じっちゃったから、ゴメン。
思い出せるのは、
IF 文にコメントを付けた時の挙動とか
CのソースでIF の論理が反対とか、
0125山崎渉
NGNG■ このスレッドは過去ログ倉庫に格納されています