ギコBASIC拡張計画

このエントリーをはてなブックマークに追加
1独自言語スレの98番
http://zurubon.virtualave.net/source/059.lzh

のギコBASICをみんなの力で拡張していきましょう

#元の独自言語スレが行方不明なので新たにスレ作りました。
2ひろゆき@管直人:2000/06/21(水) 12:29
test
3名無しさん@1周年:2000/06/21(水) 12:40
あげ
4名無しさん@1周年:2000/06/21(水) 15:38
じゃ、アップする所作ってよ
51>4:2000/06/21(水) 15:57
http://zurubon.virtualave.net/source.cgi

ここでどうでしょう?
6独自言語スレの43番 :2000/06/21(水) 18:31
ありがとう。遅れ馳せながら...
# あんなにウケると思ってなかった
7某ランド>1:2000/06/21(水) 20:09
じゃそのままDelphiに移植したから。
http://zurubon.virtualave.net/source/060.lzh
8名無しさん@1周年:2000/06/21(水) 20:36
9>7:2000/06/21(水) 22:51
サイズでかすぎ
10名無しさん@1周年:2000/06/21(水) 23:04
VBには移植しないのかな。
111>某ランド:2000/06/22(木) 00:13
おぉ、これは便利ですね〜
12名無しさん@1周年:2000/06/22(木) 04:43
ときに、布教^H^H普及活動はやらないんですか?
もっと上の板に上げるとか。
13>10:2000/06/22(木) 05:20
誰か移植して 3時間くらい時間ある人
14>7:2000/06/22(木) 05:57
英大文字ミスってるよ これは大文字小文字区別した方がいいか ['A'..'Z','a'..'z','。'..'゚']
StrToInt->StrToFloat

どうせなら、
procedure Register;
begin
RegisterComponents('Samples', [TGikoBas]);
end;
入れて、コンポーネントにした方が面白い
15某ランド :2000/06/22(木) 08:12
>9 ごめん Delphi-1(16bit)版に変更したから少し小さくなったと思う
>14 直したよ ついでに全角対応にした
http://zurubon.virtualave.net/source/060.lzh
16>15:2000/06/22(木) 08:32
ん? Delphiってバージョンは何でもいいの? たしかVer5が最新だよね
1〜5迄 同じソースがコンパイル出来るの?
179>15:2000/06/22(木) 08:42
すいません、言葉が悪かったです。
18某ランド:2000/06/22(木) 09:22
>16 逆は難しいけど 上位コンパチなので D1のソースはほぼ大丈夫です
  GUIアプリで、これはなかなか頑張っていると思います。
  逆が難しいのは D1の255文字制限とか D3迄動的配列が無いとかの為です

>17 いえ、事実大きかったのですから(^^;
19名無しさん@1周年:2000/06/22(木) 20:22
簡単なグラフィックの機能を付けたいのですが・・・コマンド名募集
ススム 3:ミギニマワル:ススム 3:ミギニマワル:ススム 3:ミギニマワル:ススム 3
のタートルグラフィックでいいのかな
20>1:2000/06/22(木) 23:40
モナー板(http://mentai.2ch.net/mona/index2.html)に宣伝してきていい?
21名無しさん@1周年:2000/06/22(木) 23:44
みんな 15 さんのようなコード書くの?
22俺たちギコグラマー:2000/06/23(金) 00:56
できれば行番号使えるようにして欲しかった。
23デル厨:2000/06/23(金) 03:20
素晴らしい・・ソース見て目が点
24がんばれ:2000/06/23(金) 04:30
字句解析ってコメント入ってるけど、あれ構文解析だよ。
execの中ではなくてstatementの最初でgetsymした方がええと思う。
あとメンバをpublicにするのは格好悪くない?。
251>23・24:2000/06/23(金) 06:42
すまん、おれも元のソースさっぱり理解できなかったので
コメントはなくとなくです・・・^^;
元のソースを見ていただければ少しは気持ち分かってもらえるかな・・・

#まぁ俺のスキルがないってこともあるんだけどね・・・(;´Д`)
26名無しさん@1周年:2000/06/23(金) 06:56
確かに、元のソースがひどい。
でもそれが厨房っぽくていい感じでもあるな。
27名無しさん@1周年:2000/06/23(金) 07:39
変数をバリアントにしたよ。それから文字列も使えるよ。
でも、それだけ だれか要る?
28>27:2000/06/23(金) 08:07
欲しいです。お願いします。
29>24:2000/06/23(金) 08:17
>execの中ではなくてstatementの最初でgetsymした方がええと思う。
 ゴメン。これは間違い。これじゃ拡張できない。
30某ランド:2000/06/23(金) 08:30
>22 行番号は 行の最初が数字ならと処理すればいいので難しくはないよ。やってみて
  でも、エディタのスタイルと合わないかも
>23 でも、これくらいの他人のソースなら判り易い方だよ
>24 execの中ではなくてstatementの最初でgetsymした方がええと思う。
  その通りだと思う。元ソースはstatement内でループしない
  で呼出し側でループしてたんじゃないかなって感じ
>あとメンバをpublicにするのは格好悪くない?。
  その通りね。コンポーネント化するなら、TCustomControlTGraphicControl
  から継承させて、ギコBASICで絵が書けるようにするとかレベルにしないと
3127:2000/06/23(金) 09:07
32名無しさん@1周年:2000/06/23(金) 13:46
ギコBASIC
GOSUB は要らんと思うけど、せめて外部関数が呼べるような仕様に出来ない?
33>32:2000/06/23(金) 15:09
Do it yourself. ・・・って俺もな(^^;
341:2000/06/23(金) 15:36
ややこしそう・・・俺パス。
35>31:2000/06/23(金) 15:42
年齢 = 28
イレテミロ 年齢
名前 = '名無しさん'
イレテミロ 名前
モシモダヨ 名前='名無しさん' ダッタラ ホザケ "氏ね" : シネ
モシモダヨ 年齢 > 35 ダッタラ ホザケ 名前+"よ、人生無駄にしたな" :シネ
モシモダヨ 年齢 < 25 ダッタラ ホザケ 名前+'よ、やり直すなら今だぞ':シネ
ホザケ 名前+"よ、おたがいツライのう
シネ
このプログラム通らないぞ
TGikoBas.expression をこう直したら通った
  '<' : begin
         getsym;
         addsub;
        if(sym='>') then begin
          numVar:= savenum <> numVar;
        end else begin
          numVar:=savenum < numVar;
        end
         savenum := numVar ;
     end;
3635:2000/06/23(金) 16:43
ひえ〜 下手にイジラナイ事だなあ 触れぬ神にたたりなしだ
これで 比較は上手くいく筈
procedure TGikoBas.expression;
var savenum:Variant;
var oldsym:char;
begin
    addsub;
    savenum := numVar;
while sym in ['=', '>' , '<'] do
  begin
   oldsym:=sym;
   getsym;
  case oldsym of
  '=' :begin addsub; numVar:= savenum = numVar;end;
  '>' :begin addsub; numVar:= savenum > numVar;end;
  '<' : begin
      if(sym='>') then
      begin
        getsym;
        addsub; numVar:= savenum <> numVar;
      end else begin
        addsub; numVar:= savenum < numVar;
      end;
      end;
     end;
    savenum := numVar ;
  end;
end;
ついでに
s:=InputBox('イレテミロ','スウジヲイレロヤ', を
s:=InputBox('イレテミロ',str,
とすると、変数名がダイアログに表示されて判り易くなる

しかし、このコード追いかけるのは結構疲れた
37某ランド :2000/06/24(土) 10:46
http://zurubon.virtualave.net/source/062.txt
>26さんのソースを元に 外部関数が呼べるような改造しました
それを使って、TGraphicControlを継承しました
Paint内で ギコbasicを実行します
描画関数はLineTo/MoveTo/TextOutの3つだけです
TShapeの代わりに使えるよう適当に拡張して使って下さい
38名無しさん@1周年:2000/06/24(土) 11:23
すごい!すごいよ!
ギコBASICがどんどんパワーアップしていく!
こんなプログラミング言語を待ってました!
そのうちGUIアプリも作成出来たり。
単独で動くexeファイルも作れたらユーザが爆発的に増えそうですね。
2ちゃんねらー標準プログラミング言語として。
39某ランド :2000/06/24(土) 14:00
エラー対策をしていないので、設計中に TGikoBasV.Macroで文法エラー
とか起こさせると気持ち悪い状態になります。
1)Paint内部でtry exceptでエラー捕捉をする
2)macroの文字が変更されたらフラグを立てて、Paint内部でエラーがあったらフラグを消す
3)Paintはそのフラグが立っていなければマクロを実行しない

という処理を追加して下さい。 私は暫く来れません。
40名無しさん@1周年:2000/06/24(土) 18:35
gosubはイッテコイあたりか。
41>37:2000/06/24(土) 20:30
MethodNameで関数名を引っ張って来て検索してるんですね
なんか関数名が引っ張ってこれるって奇妙な感じというか、

TObject.MethodAddressとか見ると、publishedなメソッド名の
一覧も引っ張ってこれそうだから、継承してpublishedにするだけ
で自動的にギコbasicから呼出可能になるなんて事も出来そうですね
42>38:2000/06/24(土) 20:53
既にHSPがあります
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=958436560&ls=50

ギコbasicはライトなスクリプトとしては既に使えそうなレベルですね
Delphi/ビルダなら
43名無しさん@1周年:2000/06/24(土) 22:39
誰かギコBASICプロジェクトのBBS作ってください。
44うまい某:2000/06/24(土) 23:27
>43
設置してみました。
45うまい某:2000/06/24(土) 23:27
>43
設置してみました。
http://www61.tcup.com/6124/umaibou.html
46名無しさん@無党派は寝てろ(森総理):2000/06/24(土) 23:35
イッテヨシ ホニャララ
って、ぴゅう太みたく

ホニャララ ニイッテヨシ
にできませんか?
47名無しさん@1周年:2000/06/25(日) 00:17
>>46

んー、スタック型の言語だねぇ。いいね。
4841:2000/06/25(日) 00:20
出来た・・・メソッドポインタの作り方が判らなくて苦労したよ

procedure GikoCall(obj:TObject;fname: string;var res: boolean;
 const dt: array of Variant; var return: Variant);
var fp:TGikoFunc;
var method:TMethod;
begin
method.Code:= obj.MethodAddress(fname);{メソッド名を探させて}
if assigned(method.Code) then
  begin
  method.Data:=obj;   {メソッドがあれば objとセットにして}
  fp:=TGikoFunc(method);{メソッドポインタを作り出す}
   return:=fp(dt);
   res:=True;
  end ;
end;
{これを使えば関数の検索はとても楽になる}
procedure TGikoBasV.func(Sender: TObject; fname: string;var res: boolean;
 const dt: array of Variant; var return: Variant);
begin
 if assigned(fonCall) then fonCall(self,fname,res,dt,return);
 if res then exit;
 GikoCall(self,fname,res,dt,return);
 if res then exit;
end;
49>46:2000/06/25(日) 00:26
ホニャララニ イッテヨシ なら、
const LABELSYM = #4;
strの最後がニだったら sym=LABELSYMとして記録しておき、
statementで LABELSYMの場合、次がイッテヨシならそこに飛ぶ・・・・やってみて

両方の構文が使えるように出来る筈
50名無しさん@1周年:2000/06/25(日) 00:39
100       ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
200 〜′ ̄ ̄( ゚Д゚)<  逝ってよし!>hogehoge
300 UU ̄ ̄ U U  \_____________

とかだったら面倒だな。
51名無しさん@1周年:2000/06/25(日) 00:44
Cバージョンも新しく作ろうと思うんだけど、
関数ってなににすればいいと思いますか?
ifがモシモダヨとかそういうやつです。
52うまい某:2000/06/25(日) 01:08
ギコBASICのコンソールバージョンを
昨日の夜にC言語でボチボチ作り始めてみました。
(今のところトークンに分解する所までしか出来てませんが)
よろしければ助言など頂けるとうれしいです。
よろしくお願いします。
http://zurubon.virtualave.net/source/063.lzh
53名無しさん@1周年:2000/06/25(日) 03:17
ageます。
54>52:2000/06/25(日) 08:12
カッコの処理がまだなんだね。
55>52:2000/06/25(日) 10:01
CMM参考にしては?
http://www.rpm.or.jp/home/pon
字句解析結果をテキスト形式で出力してるアイデアの部分とか
56名無しさん@1周年:2000/06/25(日) 10:19
AND / OR / XOR /NOT のギコ句募集
57>51:2000/06/25(日) 10:27
関数名はとりあえず外部で拡張出来る仕掛けがあればいいから問わない。

しかしDelphi版ギコbasicはバリアントとかDelphiにだいぶオンブして
るから、再度C版で同等のを作るのは難しそうだな。少なくても文字列
と整数、浮動小数点数を扱えないといけないだろうし
58名無しさん@1周年:2000/06/25(日) 10:42
やっと判ったよ。 expression/addsub/muldivに別れてたのは優先順位を付けるためなんだね
59名無しさん@1周年:2000/06/25(日) 11:10
その、悪いんだけど、誰かDelphi版ソースにコメントつけてよ。
某ランドさんはコメントあっても消してゆく癖あるみたい
60>56:2000/06/25(日) 11:53
XORは難しいな(ワラ
61>57:2000/06/25(日) 21:08
外部で拡張出来る仕組みって例えばHSPのDLLみたいなイメージですか?
それとも組込み関数を追加しやすく作れってことですか?
6261:2000/06/25(日) 21:50
LinuxでWindowsのLoadLibrary相当の関数がわかりました。
dlfcn.hのdlopen、dlsym、dlcloseです。
関数ポインタが取れるので移植する時もさほど苦労しないでしょう。
たぶん。
63>61:2000/06/25(日) 22:03
うーん。というか、まず目的をハッキリさせた方がいいね。
完全なコンパイラは難しそうだし、あんまり面白くないと思う。

Delphi版は、Delphi側でPublishで関数定義するだけでギコBASIC関数が拡張出来そうだ
し、簡易スクリプト的な使い方なら実用になりそう
6461>63:2000/06/25(日) 22:24
コマンドラインなのでCGIがギコBASICで書ける。
それとブロックの書き方なんですけど、
{ }
を使うか
begin end
かどっちがいいですか?
BASICはif ... thenなんでbegin endの方!?!?!
65名無しさん@1周年:2000/06/25(日) 22:55
質問!!!!!
どのギコBASICが流行りますか?っていうかそもそも流行らないですか?
6641:2000/06/26(月) 00:06
http://zurubon.virtualave.net/source/064.txt
Published メソッドだけでなく
Published プロパティ の操作が出来るようになりました
例: @Canvas.Pen.Color=$0000ff
LineTo(@Width,@Height)

これでギコBasicをDelphiへ組込むのが簡単になると思います
67>64:2000/06/26(月) 00:38
両方可にしたらどうです?
ただ、BASIC は if 分は行全部にかかるって仕様が普通じゃないかな?

ギコPASCALになりそうな感じ
6841>65:2000/06/26(月) 00:42
スクリプト言語は沢山あるので、流行るなんて事はないでしょう。

というより、勉強の為に改造してみてるって状態。
6964:2000/06/26(月) 01:37
可変引数に対応したエラー表示関数。
void giko_error( const char *format, ... )
{
putchar( '\n' );
printf( "     ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n" );
printf( "〜′ ̄ ̄( ゜Д゜)< Line(%d) : ", getcurline() );

{
va_list list;
va_start( list, format );
vfprintf( stdout, format, list );
va_end( list );
}

printf( "っつーの\n" );
printf( " UU ̄ ̄ U U  \_____________\n" );
exit( 0 );
}
70モナー 閉じた吹き出し式:2000/06/26(月) 03:05
#include <string.h>
#include <stdio.h>
static char buf[256];
char * repStrW(char *s,char *d,int n)
{int l;
strncpy(buf,s,80); buf[80]=0;
l=strlen(buf);
if (l%2){strcat(buf," ");l++;};
while(l<n) {l+=2;strcat(buf,d);};
return buf;
}
void monaPrn(int argc, char **argv){
int i,l,maxl;
char *s[] ={"  ∧_∧  "
," ( ´∀`)"
," (    )"
,"  | | | "
," (__)_)",NULL};
if(argc>3)argc=3;
maxl=0;for(i=0;i<argc;i++)if(maxl<(l=strlen(argv[i])))maxl=l;
maxl=(maxl+1)&-2; if(maxl>40)maxl=40;if(maxl<2)maxl=2;
i=0;
printf("%s /%s\\n" ,s[i++],repStrW(""," ̄",maxl) );
printf("%s< %s |\n",s[i++],repStrW(*argv++," ",maxl) );
if(argc>1)
printf("%s | %s |\n",s[i++],repStrW(*argv++," ",maxl) );
if(argc>2)
printf("%s | %s |\n",s[i++],repStrW(*argv++," ",maxl) );
printf("%s \%s/\n" ,s[i++],repStrW("","_",maxl) );
while(s[i]!=NULL)
printf("%s\n",s[i++] );
}
int main(int argc, char **argv){
char *m[]={"おまえモナー"};
if (argc<2)monaPrn(1,m);
else monaPrn(argc-1, argv+1);
return 0;
}
71NOT:2000/06/26(月) 03:07
?が識別子に含まれるなら
「ネタ?」
含まれないなら
「騙り」
72名無しさん@1周年:2000/06/26(月) 04:14
>>66
たった1行
TGikoBasV の published に property Parent; を追加するだけで
@Parent.Width とか、フォームが制御出来てしまう。

実行中は、フォームに張り付けたコンポも触り放題だ・・・こりゃ面白い

あとは配列さえあれば・・・
7364:2000/06/26(月) 04:33
function main()
{
var ギコBASIC;
ギコBASIC = "ギコBASIC\n";
print ギコBASIC;
}
これが動くようになりました。モシモダヨ(if)なども動きます。
ただ、漢字の識別子があると動作が怪しくなります。
#define iskanji(c) ((unsigned char)c & 0x80)
だけで判定してたりするので・・・
74>73:2000/06/26(月) 05:33
なんか 殆どC?
7541:2000/06/26(月) 11:49
http://zurubon.virtualave.net/source/064.lzh
GoCall関数を追加しました
GoCall("FUNC")とするとメジルシ FUNC から シネまたはExit迄実行
して Result変数値が帰ってきます

なんかギコソースにバグがある時のバグ取りとかまだ色々ありますが
仕事に影響出そうなので、私はもうこれで封印します
若い人。頑張って下さい
76名無しさん@1周年:2000/06/26(月) 14:03
誰だよ、Nifty/FDelphi に紹介したやつ。
一般人が見たら卒倒するって。
77名無しさん@1周年:2000/06/26(月) 14:07
だれって、ID出てない?
78>52:2000/06/26(月) 17:44
君、結構分かり易いソース書くね。
ちょっと好感。
79名無しさん@1周年:2000/06/26(月) 22:21
で、これも2ch名義で有名にしてくの?
パクりなのに。
80名無しさん@1周年:2000/06/26(月) 22:29
はわわ
だまっとりゃわからんに…
81某ランド:2000/06/28(水) 10:07
>>79 でも元とはだいぶ変わってしまってるよ
 同じなのはaddsubとかの数式処理の再帰下降法の実装部分だけど
 これは教科書見て書いたらだいたい同じようになってしまうんじゃないかな
82名無しさん@1周年:2000/06/28(水) 18:31
>>75
試しにActiveXにしたら400KByteを超えてしまった
83うまい某:2000/06/29(木) 21:55
みなさん、こんにちは。
なんとか単独で動くexeファイルをはけるようになりました。
(外部DLLを使ってですが・・・。)
ちなみに解凍したフォルダがデスクトップ上にある状態で
コンパイルすると吐いた実行ファイルが、起動できないとかいう
致命的エラーがありますので
c:\temp\gikoとかいうフォルダに解凍後移動してください。
詳しくは同梱のドキュメントをお読みください。
いくつかサンプルソースもあるので、とりあえずは
そのソースをコンパイルしてみてください。
http://zurubon.virtualave.net/source/065.lzh
84ダウンロードしてみた:2000/06/29(木) 22:30
>うまい某さん
なかなか面白いこと考えますな〜。
あと、うちの環境では同梱のサンプルソースは
問題無くコンパイル出来ましたよ。報告までに。
早くソース公開きぼーん。
85名無しさん@1周年:2000/06/29(木) 22:44
コンパイル出来ないよー。>83
86>85:2000/07/01(土) 00:39
たぶん MD bin してないんじゃないの?
別の言い方すると exeのあるフォルダに binフォルダ作れ
87名無しさん@1周年:2000/07/02(日) 05:16
ソース公開きぼーん>>83
88名無しさん@1周年:2000/07/14(金) 00:08
うまい某さんソースを公開してください。
89うまい某:2000/07/14(金) 00:30
ソースはもうすぐ公開しますので待っていてください。
配布方法はベクターのシェアウェアで値段は2000円にする予定です。
90名無しさん@1周年:2000/07/14(金) 00:40
>89
金取るのか!!!

俺もJavaで作るかな。GUIのデバッガ付で。
91名無しさん@1周年:2000/07/14(金) 00:41
>配布方法はベクターのシェアウェアで値段は2000円にする予定です

あ、お金とるんだ
92名無しさん@1周年:2000/07/14(金) 00:47
金取るのー???なんてやつだ…
93名無しさん@1周年:2000/07/14(金) 00:55
89は偽者だと思うけど...
94名無しさん@1周年:2000/07/14(金) 00:59
HSPで作ってるんだ、
スクリプトでスクリプト作るってなんかなーじゃない?
P2Cみたいなコンバータ作ればって気がする
95名無しさん@1周年:2000/07/14(金) 01:02
2000円よりも、1800円とかにしたほうが30%売上が伸びるらしいよ。
96名無しさん@1周年:2000/07/14(金) 01:07
今ならギコエディタもつけるってのは?
97名無しさん@1周年:2000/07/14(金) 01:13
GUIのギコBASIC統合開発環境作ったら買ってくれる?
98名無しさん@1周年:2000/07/14(金) 01:19
89本物かなあ?
HSPで作ってるんなら、HSPを超えることはなさそうだし、
タダのHSP使うのが普通だと思うけど
99名無しさん@1周年:2000/07/14(金) 12:24
>98
レスの反応の速さからして
名をかたった偽者でしょう。
100名無しさん@1周年:2000/07/14(金) 13:16
もしかして、ただHSPの命令に置き換えてHSP
のコンパイラに食わせてるだけ?
何か価値があるのか?
2000円???
101>100:2000/07/14(金) 13:27
ネタにマジレスしないように
102PG兄さん:2000/07/14(金) 20:09
うまい某さんの作ったギコBASICが
今の所、機能的には1番なのかな?
ソース公開してくれたら、誰か引継いでくれそうだけど。
うまい某さんは、もうココ見てないっぽいなぁ。
103HSP使い:2000/07/14(金) 20:54
>>102
俺なら、もし、うまい某さんのギコBASICと同じことを
やろうと思ったら、エディタのマクロ使って、文字列置き換えて
一時的に別名で保存したあとHSPでコンパイラする。
うまい某さんのは悪いけど存在意義がわからない。
104名無しさん@1周年:2000/07/14(金) 21:13
>103
おまえひどい奴 死ぬあるよ
105名無しさん@1週間 :2000/07/14(金) 23:20
>103
マクロで置換してコンパイルしても面白くないじゃん。
やっぱり、あのソースを直接コンパイル。
またはインタープリト出来ないと。
というか、それより前にギコBASICは
ソフト事態の存在意義とかを求めてる訳じゃなく
みんな遊びで作ってる所があるわけだし。
今までDelphiやCで作ってくれた人達には
素直に感謝しても良いと思うけどなぁ。
俺は、このスレッドみたいに何かを皆で作ってるのって
ほのぼのしてて好きだよ。

#スレッドと関係ないゴミレスしてゴメンな。
106HSP使い:2000/07/14(金) 23:43
>105
いやいや、やろうと思えば多分マクロ一発で、実行まで一気に
自動化できるよ。
最近のエディタのマクロは強力だからね。

でも、俺も、こういう雰囲気は好きだよ。
雰囲気壊すようなこと言ってゴメン。
107HSP使い:2000/07/14(金) 23:51
というか、良く見たら#defineで置き換えてるだけなんだね...
それだったらマクロを使うまでも無い。
残念だけど普通にHSP使うのと何もかわらんと思うよ…

#defineで、重要命令を置き換えちゃうと、確かHSPは
コンパイル時に不具合が出るはずなので、気をつけよう。
108名無しさん@1周年:2000/07/15(土) 15:21
ギコBASICというか、ギコPythonっぽいオリジナルのスクリプト言語を作ってる。
ちゃんと完成するかどうかは分からないけどね。仕事最近やばいし。

興味がある人がいたら、完成したらリンク張るけどね。
金は絶対取らないし、ソース公開するし、標準Cで動くようにするよ。
109>108:2000/07/15(土) 16:09
ま、ほのぼのいきましょうや。
仕事がんばってね。
110108:2000/07/15(土) 16:49
金を取るのが悪いとは思っていない。
ただ私はしないと言っただけ。気にさわったらごめん。
111>110:2000/07/15(土) 17:36
私へのレスじゃないかもしれないけど・・・・
気にさわったわけじゃないです。
112名無しさん@1周年:2000/07/28(金) 05:01
age
113学生:2000/08/04(金) 18:46
age
114名無しさん@1周年:2000/08/05(土) 17:53
イットケ スレ1
イットケ スレ2
イットケ スレ3


イットケ スレ100

ソシテダレモイナクナッタ、モナー
115名無しさん@1周年 :2000/09/24(日) 01:21
重量あげ
116夢想家 :2000/09/24(日) 03:24
をを、マジでギコBASICなるものは存在していたのかっ

んん、ちゅうか、みんな結構真剣にとりくんでいた風であって
命令がまじで、『イッテヨシ』だもんなぁ、
理想の言語であるに違いない。

どうやら途中でみな頓挫してしまったようで無念。
完成していたらおそらく
超自然言語系つっこみ型純オブジェクト指向言語として
世界の開発者たちを震撼とさせていたであろうことは
火を見るより明らか。
惜しいのぅ。

などとわけのわからんことを書いてあげ(w
117夢想家 :2000/09/24(日) 03:33
なんかこう、しゃれになんないぐらい
すごい言語に誰か拡張しないかな。
ぶつぶつ・・・

いちおう連投稿なのでさげてみたりする(気が弱い)
118108 :2000/09/24(日) 04:45
そういえば、作りかけのままほったらかしだ。
今日あたり、再開するか・・・
119名無しさん@1周年 :2000/09/24(日) 22:54
>108さん
期待してます。
120名無しさん@1周年 :2000/09/25(月) 12:58
ギコBASIC復活キボーン!
まずは、詳細な仕様を決めましょう。

個人的には、こういう機能があれば
十分遊べそうかと・・・。

・本体自体はオーソドックスなコンソールアプリ
・インタープリタ言語(ネイティブコード吐くのは大変ぽいし)
・2バイト文字への対応
・通常時は変数の型は無し
・基本的なプリプロセッサ命令を使用可能にする
・外部DLLの呼出しを可能にする
・簡易ギコdebuggerの搭載
・みんなで拡張出来るようにオープンソース
121名無しさん@1周年 :2000/09/25(月) 17:07
みんなで改良していって、
将来的にはLinuxのディストリビューションに標準搭載されるくらいの言語にしようぜ
122名無しさん@1周年 :2000/09/25(月) 18:33
>121
rubyにつづく純国産スクリプト言語ってわけね。
搭載してくれるディストリビュージョンがなかったら
UNIX板の人達と協力して作っとく?
「Giko Hat Linux」
123名無しさん@1周年 :2000/09/25(月) 19:28
変数のサイズが無限長てのできる?
数値も無制限桁でおねげーします。
なんていうか、メモリが許す限りていうのかしら。
無理?

あと、配列とかあとでくっつけてのびてほしいんダス。
これはできるぽいかな。なんかそんな言語があったような。
124名無しさん@1周年 :2000/09/25(月) 20:36
少なくともやねうらおのスクリプト言語よりはすごくしない?(わら
125名無しさん@1周年 :2000/09/25(月) 20:56

船頭多くして、
船、山に登る。
126名無しさんMe :2000/09/25(月) 21:43
>船頭多くして、
>船、山に登る。

マルチスレッドの共役勾配法みたいなものか?
127名無しさん@1周年 :2000/09/25(月) 22:14
>船頭多くして、
>船、山に登る。

マルチスレッドの共役勾配法みたいなものか?

船頭のたくさんいる船なら
船のくせに山をも登ってしまうほどの、
すごいパワーを発揮してしまうのだ、
の意味である。エッヘン。
128名無しさん@1周年 :2000/09/25(月) 22:55
とりあえず、構文解析とかはbisonとflexでやると楽だと思う。
ちょっと前に、文脈解析系の仕事をした時に使ったけど。
やっぱり便利だわ〜。ちょっとbisonとflexは日本語の
参考書籍が少ないので、
多少は英語の知識が無いとキツイかもしれんけど。
129名無しさん@1周年 :2000/09/26(火) 01:42
で、ギコベーシックの売りは何?
130名無しさん@1周年 :2000/09/26(火) 01:46
>129
洒落っ気。つうか他に何も期待すんな。
131>128 :2000/09/26(火) 02:47
コンパイラ構成法 原田賢一著 共立出版 お勧め、高いけど
132名無しさん@1周年 :2000/09/26(火) 03:33
直のインタプリタだと使いづらい気がするけど偏見かな>bison
中間言語に落とすにはいいと思うけど
133名無しさん@1周年 :2000/09/30(土) 21:35
何も出来ないのが歯がゆいあげ。
134名無しさん@1周年 :2000/10/04(水) 22:17
>129
オープンソースプロジェクト
135ProjectGikoBasic by 2ch:2000/11/08(水) 03:54
もしかしたらage。
136名無しさん@1周年:2000/12/02(土) 21:21
もしかしたらage。


137名無しさん@1周年:2000/12/30(土) 10:13
消えたら嫌なのであげさせてね
138ひろゆき@""管直人"":2001/01/01(月) 14:39
test
139名無しさん@1周年:2001/02/06(火) 16:19
タマにあげとかないと
140名無しさん@1周年:2001/02/06(火) 16:32
だね。
http://mentai.2ch.net/prog/kako/957/957341074.html
とか、もう(思い出)にされちゃった
141http://www.fusianasun.ura2ch.ne.jp/:2001/02/12(月) 18:58
定期age
142http://www.fusianasun.ura2ch.ne.jp/:2001/02/12(月) 18:58
定期age
143仕様書無しさん:2001/02/12(月) 20:27
いちいちあげんな
144age:2001/02/13(火) 12:27
goto top
145仕様書無しさん:2001/02/13(火) 21:34
イッテヨシ サイショカラ
146仕様書無しさん:2001/02/14(水) 00:53
メジルシ ループ
モシモダヨ 148 = 152 ダッタラ ホザケ "ジサクジエンマンセー"
モシモダヨ 148 = 149 ダッタラ ホザケ "連書きUZEE!"
イッテヨシ ループ
147仕様書無しさん:2001/02/14(水) 19:29
イッテヨシ トップ
148仕様書無しさん:2001/03/16(金) 09:07
消えたら嫌なので月1あげ
149仕様書無しさん:2001/03/18(日) 03:46
ギコBASIC万歳
150仕様書無しさん:2001/03/18(日) 13:02
誰か仕様まとめてくれよー。
151仕様書無しさん:2001/03/18(日) 20:40
monazillaプロジェクトと合体して
ギコBASIC搭載ブラウザつくってくれ!
巡回プログラムとかつくれたらさいこぉ!
152turbo type D:2001/03/18(日) 21:03
俺ならPPAくらいはやるかも(w
コンポとか作りやすくしてくれれば、考えるけど。

というか、プログラム技術板でギコベーにキタイしてあげてたの
オレなんすが、どーも作者さんが気合を失ったようですぜ。、
誰か引継ぎなよ。
オレに教えれることならつたないけどバックアプはするよ
153仕様書無しさん:2001/03/21(水) 09:46
今週中にα−くらいは作ろうか。
154仕様書無しさん:2001/03/21(水) 11:00
ところでパーサは誰か書いてるの?
155仕様書無しさん:2001/03/21(水) 14:19
>>154
自力でしかかけねっす。牛みたいのとか山羊みたいのとか
使った方がいいのかなぁ。
156仕様書無しさん:2001/03/21(水) 14:56
bison使ったパーサならあるんだけど。
前の会社からもってきたやつだからヤヴァイかなぁ。
でもOS/2関連なんて誰も知らないからこっそりwarezにageるのはどう?
157仕様書無しさん:2001/03/21(水) 17:51
>>156
あはは。CSet++あるよ:)
でももう現役マシンで動くのかなぁ。
158仕様書無しさん:2001/04/30(月) 21:14
不定期age
159仕様書無しさん:2001/04/30(月) 22:13
いま、ギコBASICのソースコードってどっかあるの?
160仕様書無しさん:2001/05/23(水) 23:39
ギコベソースくれage
161仕様書無しさん:2001/05/24(木) 17:04
ちぅか、誰かやる気あんの?
Win16の時代の遺物でいいならパーサー提供してもいいけど。
162仕様書無しさん:2001/06/14(木) 06:34
っていうかドキュ厨な俺に仕様を教えてくれ
163仕様書無しさん:2001/06/14(木) 11:52
GW系のBASICってハナシでなかった?
164仕様書無しさん:2001/06/16(土) 14:01
http://www.geocities.co.jp/SiliconValley-Oakland/8522/
にあった
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikob064.lzh
から数式処理だけを切り出して、ここにアップしました
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/mformula.txt

文字列を "sin(π/4)^2" にのような感じで与えると答えがえられます。
165164:2001/06/16(土) 14:08
ただしソースはDelphiです。
拡張子をpasにして保存し、プロジェクトに追加した上で usesし
Caption:= FormuraNum(TFloatNum,'sin(π/4)^2').toStr;
として実行すればテストできます。

今、多変数関数の呼び出し前の処理でミスが残ってる状態です
166164 :2001/06/16(土) 14:54
多変数関数のミス修正しました
167164 :2001/06/17(日) 21:54
寂しい・・・・ せっかく複素数対応にしたのに・・・・・

http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/mformula.txt

とりあえずアゲ!
168仕様書無しさん:2001/06/18(月) 06:34
>>164
参考にさせてもらいます。ちょうどDelphiでスクリプタ作ってるしー。
169168:2001/06/18(月) 06:37
思うにプログラマ板で立てたのが悪かったと思われ。
関連スレ

【コンパイラ・スクリプトエンジン】相談室
http://piza.2ch.net/test/read.cgi?bbs=tech&key=981672957
170仕様書無しさん:2001/06/26(火) 09:35
>169 残念ながら1年前にはプログラム板は無かったんだよ
171仕様書無しさん:2001/07/26(木) 17:25
age
172仕様書無しさん:2001/07/26(木) 21:26
がんば!age
173仕様書無しさん:2001/08/07(火) 22:27
ganbatte!
174仕様書無しさん:2001/08/08(水) 12:59
いったい、誰が作っていたんだろう。
175仕様書無しさん:2001/08/08(水) 21:42
ソースはどこ?
176仕様書無しさん:2001/08/10(金) 06:48
>>175
Delphiソースはこれかな
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikob064.lzh
Cのは知らない
177仕様書無しさん:01/09/10 08:00
保存age
178仕様書無しさん:01/10/03 11:24
そろそろデータ落ちなんで
179仕様書無しさん:01/10/14 01:10
スレ維持
180仕様書無しさん:01/11/15 09:39
sageでも維持出来るかな?
181仕様書無しさん:01/11/15 09:42
不安だからageとこ
182仕様書無しさん:01/12/02 19:30
保存
183仕様書無しさん:01/12/09 20:59
現在408
184仕様書無しさん:01/12/14 09:49
良スレ発見 age
185仕様書無しさん:01/12/14 20:14
今は誰かが開発中なんですか?
186Delフサギコ:01/12/16 00:17

  ,,,,,,,,,,,,,∧,,∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′,,,,,,,ミ,,゚Д゚彡 < 作者さまは開発を放棄したようです。
  UU""" U U   \_______________

中身が難しすぎてオレにはさっぱりわかりません。
187仕様書無しさん:01/12/16 15:13
そうなんですか・・・残念。
Delphiのソースがあるなら見てみたいっす。
きっと理解できないけど(w
188仕様書無しさん:01/12/16 15:21
「みんなで作りましょう」って奴は大抵最後まで作れない。
189そんなの:01/12/16 16:08
3行で作れ。
190仕様書無しさん:01/12/17 03:16
void main(){
  spawn('gikobasic.exe');
}
191ゲームを作ろうと思ったらどんな命令が要るんだろう:01/12/17 15:59
数 = 2
愛 = 1
出力 = ""
ホザケ 出力
出力 = "*** プログラマ適正診断 ***"
ホザケ 出力
出力 = ""
ホザケ 出力

メジルシ 回転
出力 = "2の" + toType(愛) + "乗を言えや(゚Д゚)ゴルァ"
ホザケ 出力
イレテミロ 答
モシモダヨ 答 <> 数 ダッタラ イッテヨシ あぼーん
出力 = "なかなかやるモナー(´∀`)"
ホザケ 出力
出力 = ""
ホザケ 出力
数 = 数 * 2
愛 = 愛 + 1
イッテヨシ 回転

メジルシ あぼーん
出力 = "答は" + toType(数) + "!(・∀・)カエレ!"
ホザケ 出力
シネ
192仕様書無しさん:01/12/17 16:02
GikoBasicにプログラム側からデータを渡し
それをGikoBasicプログラムで処理して
またプログラムで受け取るってのはできるでしょうか?
PPAの AddStrValue(変数名, 値, CONST) みたいな。。。
193192:01/12/17 16:46
わけもわからず AddVar と GetVar を追加してみました。
これでいいのかな、、

procedure TGikoBas.AddVar(const VarName: string; NewValue: variant);
var
  i : integer;
begin
 i := getvariable(VarName, 1);
 variable[i].value := NewValue;
end;

function TGikoBas.GetVar(const VarName: string): variant;
var
 i : integer;
begin
 Result := '';
 for i := Low(variable) to High(variable) do begin
  if (variable[i].name = VarName) then begin
   Result := variable[i].value;
   Break;
  end;
 end;
end;
194仕様書無しさん:01/12/17 19:30
>>193
厨なので最初何に使うのかわかりませんでした・・・

サンプルのギコBASICを走らせた後に
uGiko.pasで
ShowMessage( GikoBas1.GetVar('カケラレルカズ') );
を実行して「$FF00」と表示させるような用途に
使うって事でしょうか。

GetVarでgetvariable()を使わないのは
変数が見つからなくてもそこで実行をとめない為
ってことでいいんでしょうか?

AddVarの方は、uGiko.pasで変数を追加できるって
用途でいいのかな?
195仕様書無しさん:01/12/17 23:59
せっかくなので、全角の関数名も使えるようにしてみたのですが
皆さんのDelphiのバージョンはいくらなんでしょう?
うちのはDelphi6なので、これで保存すると
他のDelphiで読めないのではないかと不安です。
196仕様書無しさん:01/12/18 00:07
去年の6月からやってたのか。
激なつかしい。
よく、サルベージできたもんだ。
197仕様書無しさん:01/12/18 00:15
なんか簡単なアクションゲームが作れるくらいにしたいですけど
出力画面はアスキーアートを吐き出す宿命にあるので
昔の80x25行固定ピッチフォント画面を使う、てな具合には
いきませんよね・・・。

いっそ「スプライト」と称して
ギコBASICから位置をコントロールできるフォームを
何枚か用意するのはダメですかね。
198192:01/12/18 10:28
>>194
どうもですー。私全然分かってないんで、、。
これからもよろしくです。
んで、自作アプリ(2ちゃんねる用ツール)に
ギコBASICを組み込んでいいんですかね?
#PPAも試したんですがちょっと不都合があってダメでした。
199194:01/12/18 12:55
>>198
どもども。おいらも全然分かってません。
せっかく構文解析なんかのしち面倒くさい部分が完成してるのに
放置プレイはちょっとみじめだと思っている者です。

元の作者様にどうやって連絡を取ればいいのかもわかりませんし
(http://www.geocities.co.jp/SiliconValley-Oakland/8522/ にメール送信フォームがあるが生きているかは不明)
もともと複数人数でやってることだから
2ちゃん用ツールに「使わせていただく」という心がけさえあれば
いいのでは? と思います。
200ぺたり:01/12/19 01:23
22 :仕様書無しさん :01/12/17 23:23
>>20
ギコBASICをDelphi6で動かす法
1.http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikob064.lzh
 をダウソして解凍
2.GIKOB.DPRをダブルクリック
3.Delphiが起動する時に「コンポーネントが読めません」みたいなエラーが出るが
 すべて無視
4.メニュのコンポーネント→コンポーネントのインストールを選ぶ
5.ユニットファイル名に解凍したGIKOBAS.PASを指定しる
6.ダイアログが出るのでOKを押す
7.一度Delphiを終了する。すべて保存しない

あとは普通にGIKOB.DPRをダブルクリックしてDelphiを起動すれば
煮るなり焼くなりできる。

23 :22 :01/12/17 23:34
忘れてた。
>あとは普通にGIKOB.DPRをダブルクリックしてDelphiを起動すれば
の後で、uGiko.pasとGikoBas.pasの上のほうにある
uses 〜〜〜
の一番後ろに「,Variants」を付け加えないといけない。

Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls,GikoBas, Variants;

この修正は保存する必要がある。
あとは構造化BASICにするなりオブジェクト指向に改造するなり。
201糞マカ:01/12/20 00:21
マク版ホスィ。
OS Xとでべつーるで作れねぇかなぁ。
202仕様書無しさん:01/12/20 14:25
>>201
いんでない?

ところで、プロジェクトを読み込むたびに
フォームの左上に名無しのTGikoBasが増えてゆく。
さっき見たら5つあった…。
203仕様書無しさん:01/12/20 21:17
TGikoBasをコンポーネントパレットに登録する時の
アイコンを作りました。
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobas.dcr

インストールするには、一旦コンポーネントパレットから
TGikoBasを削除しなければならないかもしれません。
(Delphiをインストールしたディレクトリ直下の Lib\dclusr.dpk を読み込み
 パッケージからGIKOBAS.PASを削除してコンパイルボタンを押す。
 その後、もう一度GIKOBAS.PASを追加してコンパイルボタンを押す)
204仕様書無しさん:01/12/22 16:37
>>203
good job!!
205仕様書無しさん:01/12/23 02:09
Ya hoo,Alright!
ありがとうございます(・∀・)
おまけに元データの、ギコの32x32アイコンを置いておきます。
いろいろ使えると思うです。
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/giko.ico
206仕様書無しさん:01/12/31 07:07
age
207仕様書無しさん:02/01/03 01:51
あけましておめでとうございます。

厨房レベルですが、余裕が出来たら
折角のギコBASICをいじりたいですあげ
208仕様書無しさん:02/01/14 00:24
age
209仕様書無しさん:02/01/23 03:47
保全
210仕様書無しさん:02/02/07 11:50
再始動…


           ゴ ゴ ゴ ゴ ゴ ゴ ゴ ゴ ゴ ゴ ゴ ゴ …
211仕様書無しさん:02/02/07 16:24
まじすか?
212仕様書無しさん:02/02/12 14:21
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/ugikoscr.txt
デチューン版 です コンポーネントはやめました

1.. 元のソースと喧嘩しないようにTGikoScrと変名しました
2.. 変数領域を固定ではく動的変数に変更
3.. インスタンスを作成する関数GikoScriptを追加
4.. 四則演算の機能だけが使い易いように
   procedure LET(scr: String);
  function ExecToVar(scr: String):
    function ExecToStr(scr: String):string;
  この3つを追加しました


213212:02/02/12 14:47
ちなみに、Delphi6でしか動かないです。 理由は>>200さんにあるように Variants
のusesが必要だったから これを追加した為です

動的配列を使ったので古いコンパイラではコンパイル出来ないと思います
214仕様書無しさん:02/02/16 08:38
あげ
上のコードは
▼ノベルゲームツール作っちゃうぞ!
http://game.2ch.net/test/read.cgi/gamedev/1013170036/
215仕様書無しさん:02/02/23 16:45
保全あげ
216仕様書無しさん:02/02/25 21:29
情報がちらばらないようにコピペ

75 名前:名前は開発中のものです。 投稿日:02/02/12 22:23 ID:???
関数はソースで published の所に定義するだけで 自分で増やせるみたい

例: copy と同じ動きをする関数 MID  MID("12345",2,2)で文字 "23" を返す

published の 下の toInt / toStrが並んでる所で
function MID(const dt: array of Variant): Variant;

実装部で
function TGikoScr.MID(const dt: array of Variant): Variant;
  function toInt(d:Variant):Integer;begin Result:=d;end;
 begin
 case high(dt) of
  0: Result:= VarToStr(dt[0]);
  1: Result:= copy(VarToStr(dt[0]),toInt(dt[1]),High(Integer));
  2: Result:= copy(VarToStr(dt[0]),toInt(dt[1]),toInt(dt[2]));
 else error('変数の数が合わない');
 end;
end;
217仕様書無しさん:02/03/03 00:25
保全age
218仕様書無しさん:02/03/06 18:16
だれかC言語番のうpきぼーん
219仕様書無しさん:02/03/12 14:37
>>218
Pascal使いはC→Pascal変換できるんだから
C使いもPascal→C変換勉強して下さい
220218:02/03/12 15:52
>>219
いやPascal→Cぐらいはできるけど(開発は…)、
ちょっと巨大でやる気なくしたから最初のシンプルなやつをと思ったんですけどね。
まあそのうち移植するかも。
221仕様書無しさん:02/03/13 09:25
>>220 検索したら手元に >>1のがあったからアップしたよ

http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/059.lzh

でも、Delphi版は相当改造されてて文字や浮動小数点も扱えるけど
このコード下地にそこまで行くのは大変だよ。
222220 == 218:02/03/13 09:50
>>221
ありがとうございまちゅ
今朝ギコベーを開発する夢を見ました。
夢に任せてがんばります。
223tok=218:02/03/13 18:16
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc02.lzh
にC言語版をちょいと拡張したものをおいておきます。
全角対応にしました。
たぶんdoubleが使えます。
224仕様書無しさん:02/03/13 20:59
>>223 せっかく頑張ったんだから あげようよ
225tok:02/03/15 20:14
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc03.lzh
Delphiに負けていられるか!
ということで文字列に対応した(つもり)。
どこまで動くかわからん。
LSI-C 試食版では文字列の自動変数の関係でスタックがあふれるから使えん。
まあできないことはないぞというところを見せてみるテスト。
226tok:02/03/15 22:20
まああれだ。拡張したいなら素直に059.lzhを落としてきて拡張してください。
めためたソースが汚いので。

このクソ厨房が!もっと分かり易いソース書きやがれ
とか言わないように(泣。

乱数ぐらいは使えるべき?
227仕様書無しさん:02/03/15 23:00
>>226
乱数を言語仕様の中に入れる必要は無いと思うけど、
ライブラリとしてあればちょっとうれしいかも。
228tok:02/03/16 20:07
>>227
ライブラリか…
力が不足しています。
次のレベルまであと87時間34分22秒の経験が必要です。


http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc04.lzh
ANDとORをつけてみた。
虫取り。
サンプル(ここに載ってたやつを修正したやつ)を収録。
229仕様書無しさん:02/03/16 20:21
itiou age
ANDとORの優先度が同じなんです。

>>227
すまん ランスウ を予約語にしてしまった。
詳しくはダウソしてみれ。
230227:02/03/16 21:51
ダウソしてみた。BCC5.51でコンパイル確認。
警告が3つ出たけど。一応乗せときます。
C:\borland\bcc55\Bin>bcc32 d:\download\2ch\gikobasic\gikob.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
d:\download\2ch\gikobasic\gikob.c:
警告 W8004 d:\download\2ch\gikobasic\gikob.c 232: 'i' に代入した値は使われていな
い(関数 main )
警告 W8008 d:\download\2ch\gikobasic\gikob.c 301: 条件が常に真(関数 bgetch )
警告 W8004 d:\download\2ch\gikobasic\gikob.c 366: 'lnum' に代入した値は使われて
いない(関数 getsym )

乱数は今だと言語仕様に入れた方がいいかも。
ライブラリにするとある程度言語使用が固まってないとまずいと思うし、
よく考えたら第一どうやって乱数を生成するのかわからん。
231tok:02/03/17 09:46
>乱数
は手抜きでrand()を読んでるだけ(藁
Mersenne Twister
ttp://www.math.keio.ac.jp/~matumoto/mt.html
でも使うか?

use ランスウ
とかすると乱数が使えるようにするとかも考えたが面倒そうなのでやめた。

あと2番目の警告の原因がわからん
((0 <= ch) && (ch < 20) && (ch != '\0') && (ch != '\n'))
がつねに真になるわけないだろ!?
(('\0' <= ch) && (ch < ' (半角スペース)') && (ch != '\0') && (ch != '\n'))
にすりかえても同じになりますか?
232自己レス:02/03/17 14:36
>>231
原因がわかった。
chをunsigned charにしてるから、chは常に0以上ってことらしい。
((0 < ch) && (ch < 20) && (ch != '\n'))
にしてオクレ。
233仕様書無しさん:02/03/24 21:14
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikobc03.lzh
おもしろそうなんでダウソしたけど使い方分からない。
言語とかも分からない。何て書けば茶道するかとか。
解説サイトはないの?
234みけねこ:02/03/24 22:49
gikobc04.lzh は
gcc-2.96 (RedHat7.2)でもコンパイル出来ました。

SJISモードのkterm上だったら表示もOK。
動作もたぶんOK。

[root@mikeneko test]# ./a.out sample2.src
スウジヲイレロヤ : 21
モジヲイレロヤ : あぽーん
あぽーんよ、やり直すなら今だぞ
オワリダゾ
[root@mikeneko test]#

コンパイル時のワーニング:
gikob.c: In function `bgetch':
gikob.c:301: warning: comparison is always true due to limited range of data type
gikob.c: In function `getsym':
gikob.c:341: warning: suggest parentheses around && within ||
gikob.c:341: warning: suggest parentheses around && within ||
gikob.c:345: warning: suggest parentheses around && within ||
gikob.c:350: warning: suggest parentheses around && within ||

235仕様書無しさん:02/03/25 09:51
>>234
301行目はchar が unsigned char になったためでる警告ですので
((0 < ch) && (ch < 20) && (ch != '\n'))
としてください
そのほかは
115,116行目を
#define ISKANA(x) ((x) == 0x80 || (0xa0 <= (x) && (x) <= 0xdf) || (x) == 0xff)
#define ISKANJI(x) ((0x81 <= (x) && (x) <= 0x9f) || (0xe0 <= (x) && (x) <= 0xfe))
とかっこを足せばオケーではないかなと

>>233
解説サイトはここです。
236高1 ◆mI/k17xg :02/03/25 15:07
まずどうすればいいですか?
237仕様書無しさん:02/03/25 16:52
>>236
まずは 図書館に出かけて読めそうな本から
ジャンル問わず1日5冊を春休み中頑張りなさいな
238仕様書無しさん:02/03/25 17:54
>>236
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/gikob064.lzh
をダウソして解凍

gikob.exeを実行

感動

とまあこんな感じでギコベーに浸ってくれ
239名無し~3.EXE:02/04/09 22:17
頑張って欲しいんで age!
240仕様書無しさん:02/04/09 23:18
GikoForth って知ってる?
Forth という言語がベースになっています。

http://pc.2ch.net/test/read.cgi/tech/1000118518/
241仕様書無しさん:02/04/10 11:39
>>236
どんな答えがお望みですか?
242仕様書無しさん:02/04/26 20:21
保守!
243仕様書無しさん:02/04/28 18:24
>>242
どうせならageとけよ
244仕様書無しさん:02/05/10 16:16
もういちど保守
245仕様書無しさん:02/05/11 09:23
>>244
どうせならageとけよ
246仕様書無しさん:02/05/18 19:23
function GetPropInfoName(var obj:TObject;str:string):PPropInfo;
var s:TStringList;
var i:integer;
var Field: ^TObject;
begin
Result:=nil;
    if not Assigned(obj) then exit;
s:=Bunkatu(str);
try
if s.Count>=1 then
  begin
  Result:=GetPropInfo(obj.ClassInfo,s.Strings[0]);
  if Result=nil then begin
   Field:=obj.FieldAddress(s.Strings[0]);
   if Field=nil then exit;
   obj:=Field^;
   if s.Count=1 then exit;
  end;
 if s.Count>1 then
 for i:=1 to s.Count -1 do
   begin
   if Result <> nil then begin
   if Result^.PropType^.Kind<>tkClass then
    begin
     Result:=nil;
     exit;
    end;
    obj:=TObject(GetOrdProp(obj,Result));
    if not Assigned(obj) then
     begin
     Result:=nil;
     exit;
     end;
   end ;
    Result:=GetPropInfo(obj.ClassInfo,s.Strings[i]);
    if Result=nil then begin
     Field:=obj.FieldAddress(s.Strings[0]);
     if Field=nil then exit;
     obj:=Field^;
    end;
   end;
  end;
finally
 s.free;
end;
end;
247仕様書無しさん:02/05/18 19:27
Delphi版の改良情報です

gikoBas.Pas のGetPropInfoName を >>246 と置き換えると

published なクラスのプロパティをドットシンタックスで参照可能になります 
248仕様書無しさん:02/05/18 19:33
>>247
Good job!
249仕様書無しさん:02/05/18 21:55
まじすげー!
250マっク版:02/05/30 18:07
期待ge
M a c で  B A S I C
http://pc.2ch.net/test/read.cgi/tech/1022187509/
251250:02/05/30 18:08
あがってないし
252〜厳重注意〜:02/06/02 18:46


 2ちゃんねるの皆様へ

 今後、ギコ猫の使用は私どもの許可を得てからにして下さい。
 私どもの商品を勝手に使用した場合は法的な手段も考えております。

                     タ カ ラ [email protected]

253仕様書無しさん:02/06/02 20:25
ギコBASICって何?
解説キボンヌ
254仕様書無しさん:02/06/02 23:24
ギコBASICはタカラのモノになりました。
255仕様書無しさん:02/06/02 23:31
「ギコ」は商標登録されています
256仕様書無しさん:02/06/03 23:16
>254
ギコBASICはタカラモノになりました。
257仕様書無しさん:02/06/16 19:12
保守の時期
258仕様書無しさん:02/06/25 02:53
         時  期
          の
        保 守
       彡

(,,ノ゚д゚)ノ
259仕様書無しさん:02/07/04 07:31
夏休みに改造してみたら? age
260仕様書無しさん:02/07/04 19:11
>>259
「と言ってみるテスト」忘れてるぞ(( ;゚Д゚))ブルブル
261仕様書無しさん:02/07/16 16:30
burororo
262仕様書無しさん:02/07/31 08:43
現在のディレクトリの状況
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/
059.lzh 03/13 09:21 16076
giko.ico 2001/12/23 326
gikob064.lzh 2000/12/31 196337
gikobas.dcr 2001/12/20 472
gikobc02.lzh 03/13 18:13 19982
gikobc03.lzh 03/15 20:10 32703
gikobc04.lzh 03/16 20:02 37288
LucasTest.txt 2001/07/15 25406
mformula.txt 2001/06/27 52253
263仕様書無しさん:02/08/03 13:36
おまえら、プログラミング言語2ch++を作ろうぜ
http://pc3.2ch.net/test/read.cgi/tech/1028347382/l50

で、「ここを荒らしてくれ」と言う趣旨の書き込みがあったんですが荒らしてもいいですか?

264仕様書無しさん:02/08/03 13:38
 
265仕様書無しさん:02/08/15 16:59
お盆あげ
266仕様書無しさん:02/08/15 21:27
BASICなの?
267仕様書無しさん:02/08/26 16:36
>>266 行番号ないんだよね
268仕様書無しさん:02/08/26 18:04

   ∧∧___  http://www.muuz.ne.jp/hosting/  
 /(*゚ー゚) /\ 月額200円コバルト激安レンタルサーバーホスティング
/| ̄∪∪ ̄|\/ 150MB大容量。電子メール最大20個作成可能
           サブドメイン、独自ドメインOK CGI/SSI/PHP/ASP/JSP利用可能
269仕様書無しさん:02/09/14 07:21
保守
270仕様書無しさん:02/09/30 20:35
浮上
271仕様書無しさん:02/10/01 12:44
GOSUB、配列もどき・連想配列、別のギコBASICファイルのインポート機能をつけてみた

http://page.freett.com/gikob/gikob0004.zip
272仕様書無しさん:02/10/02 11:20
・゚・(つД`)・゚・
273仕様書無しさん:02/10/02 12:21
>>271
 あ、いや、いい仕事してるよ。 うん
274仕様書無しさん:02/10/03 12:36
浮上
275仕様書無しさん:02/10/03 19:13
保守
276仕様書無しさん:02/10/04 20:49
浮上
277仕様書無しさん:02/10/06 23:02
救いage
278仕様書無しさん:02/10/10 22:50
浮上
279仕様書無しさん:02/10/23 19:26
順調に下がってる・・・
・゚・(つД`)・゚・
280しぃ豆 ◆hGFTP/i/.A :02/10/26 11:55
では浮上
281仕様書無しさん:02/10/30 23:26
こっそりバージョンアップ
http://page.freett.com/gikob/gikob00041.zip
282仕様書無しさん:02/10/31 02:30
こっそりループを追加
http://page.freett.com/gikob/gikob00042.zip
283仕様書無しさん:02/10/31 15:49
このギコベーシックって何をするプログラムですか?
284仕様書無しさん:02/10/31 17:10
>>283
命令口調カタカナBASICインタプリタです
ギコ猫が不親切かつ適当にエラーを知らせてくれます
285 :02/11/01 11:51
もうここまできたらこっそりDAT落ち希望・゚・(つД`)・゚・
286仕様書無しさん:02/11/01 12:24
>>285
まあまあ。そうしょげないでよ。
頑張ってるなあとは見てるんだけどね。

DelphiだとVariantにすれば文字列と複素数も簡単にサポート出来るし
実行時型情報の仕掛けを利用すればネイテブコードとの連携も簡単
なんで、先にそれ見た後だと、どうしても見劣りしちゃうんだよ。

でも、また誰かがそのコード利用して何か書いてくれるさ
287仕様書無しさん:02/11/02 03:13
ガンガレー応援してるよ〜
288仕様書無しさん:02/11/02 22:58
>>286-287
ありがとう、こっそりがんばります・゚・(つД`)・゚・ウレシナキ
289仕様書無しさん:02/11/03 03:19
こっそりループのネストに対応
http://page.freett.com/gikob/gikob00043.zip
290仕様書無しさん:02/11/03 05:10
現在の文法を紹介してみたら?
291仕様書無しさん:02/11/03 09:06
>>290
とりあえずソースのコメントに書いてある覚え書きを整理してみました

http://page.freett.com/gikob/spec.txt
292仕様書無しさん:02/11/04 08:09
メジルシ [ラベル名]
イッテヨシ [ラベル名]
イッテコイ [ラベル名]
カエレ
ヨンデコイ [ファイル名]
ホザケ [変数名/文字列]
イレテミロ [変数名]
モシモダヨ [式] ダッタラ [文]
ランスウ
ループ [式] カイシ
ループオワリ
ヌケダセ
ツヅケロ
293仕様書無しさん:02/11/04 08:11
イッテヨシ / ホザケ /モシモダヨ [式] ダッタラ [文]
がモトモトのギコbasicで、後のはこのスレでの拡張だよね?
294仕様書無しさん:02/11/05 23:32
>>293
メジルシとイレテミロももともとのギコBASICにありました
295仕様書無しさん:02/11/06 11:34
元のアイデア段階では

10 アテルカズ=ランスウ()
20 イレテミロ "テメーニ アテラレルノカ", オマエノカズ
30 モシモダヨ オマエノカズ = アテルカズ ダッタラ イッテヨシ 70
40 モシモダヨ オマエノカズ > アテルカズ ダッタラ ホザケ "デカイゾ。オマエガナ。": イッテヨシ 20
50 ホザケ "チュウボウハ チイサイネ。""
60 イッテヨシ 20
70 ホザケ "ギコハニャーン"
80 シネ
296仕様書無しさん:02/11/12 19:25
すみません!!、保守します!!

開発ガンガレ!!
297 :02/11/13 22:10
保守
298仕様書無しさん:02/11/21 09:11
マターリ行こうぜ!!
299仕様書無しさん:02/11/23 14:19
ギコ BASIC。略してギコベ稲造。
300manko_chinko ◆GLc2rpKRNM :02/11/23 14:37
makefileかきなおすのがめんどくさいんですが。
301仕様書無しさん:02/11/23 14:40
2000年6月に立ったスレがまだ存在してたか…
302仕様書無しさん:02/11/23 21:57
そろそろ誰か本気で作ってくれよ。
303仕様書無しさん:02/11/25 20:37
http://page.freett.com/gikob/gikobw00044.zip
Windows版でとりあえずグラフィック(線と四角形と円)を描けるようにしてみました

>>300
どういう形でmakefileを書き直してるのかわからないのでなんともいえないのですが
とりあえずmingwとcygwinとVisualC++.NET用にmakefileを分けてみました
304仕様書無しさん:02/11/26 08:54
http://page.freett.com/gikob/gikobw00045.zip
全角の数値と演算子を解釈するようにしました
グラフィックとしてのテキストの描画とテキストの色の変更に対応しました
305仕様書無しさん:02/11/26 15:37
http://page.freett.com/gikob/gikobw00046.zip
全角の()や型指定子等を解釈できるようにした
連想配列がまともに動いていなかったのを修正・・・鬱
306仕様書無しさん:02/11/27 10:35
http://page.freett.com/gikob/gikobw00047.zip
キーの入力待ちを追加
307仕様書無しさん:02/11/28 00:48
ホットゾヌ2にギコBASICが搭載されたみたいね
なんかギコBASICでプラグイン作れるみたいよ。
308仕様書無しさん:02/11/28 00:58
俺もBCBでギコBASICのIDEでも作ろうかな・・・。
309仕様書無しさん:02/12/03 13:31
・゚・(つД`)・゚・
310仕様書無しさん:02/12/03 14:24
こんな感じの仕様で手軽に呼べるようにすると拡張も容易だし使い易いと思うのだけど

int GikoScript(char *scr , int(*CallBack)( TScr *s) );
コールバックは、関数、ラベル代入,ラベル呼出時,終了時に呼ばれる
コールバック引数 は構造体でこんな感じ
typedef struct {
enum {
  isLabelGet,//ラベルの取出
  isLabelSet,//ラベルへ書込
  isFunc,  //関数呼出
  isExit   //脱出直前(エラー時も)
  } CallBackType;
int lno   ; /*行番号*/
int lpog  ; /*文字位置*/
int ErrCode ; /*エラーコード
char nbuf[64]; /*ラベルや関数名*/
int nlen;  /*ラベル文字数*/
//その他スクリプトの為の処理
} TScr;

もちろん int GikoScript("1+2*(3+4)",NULL); で15が帰るような
311仕様書無しさん:02/12/03 14:29
HELP!!
Windows2000Pro を一度まっさらにして入れなおそうと、
CD-ROMからセットアップを実行しました。
なんと!!Cドライブのパーティション(NTFS)が削除できんのです。。。
なんでしょうか。。。
助けて!!
312仕様書無しさん:02/12/03 14:38
デフォルトのラベル管理機構を使う為に
enum {
  sucsess;// ラベル・関数処理をCallBack側でした場合 sucsessにして返す
  isLabelGet,//ラベルの取出
  isLabelSet,//ラベルへ書込
  isFunc,  //関数呼出
  isExit   //脱出直前(エラー時も)
  } CallBackType;

として CallBackから帰ってきて sucsessになってなければ 自前のラベル処理を実行する
って感じでどう?
313仕様書無しさん:02/12/04 00:34
ギコBASICがチャンと動くようになったら
2ch系のソフトには、是非とも標準のスクリプト言語として採用してもらいたいものだ。
314仕様書無しさん:02/12/12 08:55
>>313
まずはスクリプトエンジンとして外部から使い易い設計にしないと
315仕様書無しさん:02/12/12 08:57
sageろや!!
316仕様書無しさん:02/12/18 22:34
C++で書き直してみた
http://page.freett.com/gikob/gbtl-beta1.zip
317仕様書無しさん:02/12/19 20:41
>>316
神!!さっそく見させていただきます。
318仕様書無しさん:02/12/19 20:57
>>316
とても良い感じです。(・∀・)
319仕様書無しさん:02/12/20 00:12
CVariableをテンプレート化、Cygwin・MingwのGCC(g++)でコンパイルできるように修正

http://page.freett.com/gikob/gbtl-beta2.zip
320仕様書無しさん:02/12/20 07:28
何故か実用的になってきてないか(w
321仕様書無しさん:02/12/20 11:15
やべ〜。ついにギコBASICの夜明けが・・・。
322仕様書無しさん:02/12/24 00:03
いろいろと拡張・修正してみた
http://page.freett.com/gikob/gbtl-beta3.zip
323仕様書無しさん:02/12/24 10:39
>>322
(・∀・)イイヨイイヨ-
324仕様書無しさん:02/12/29 00:16
あまり反応ないね・・・。イイと思うんだけど。
325世直し一揆:02/12/29 19:51
<血液型A型の一般的な特徴>(見せかけの優しさ(偽善)に騙されるな!)
●とにかく気が小さい(神経質、臆病、二言目には「世間」)
●他人に異常に干渉する(しかも好戦的・ファイト満々でキモイ)
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする
(ただし、相手を表面的・形式的にしか判断できず(早合点・誤解の名人)、実際にはたいてい、内面的・実質的に負けている)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす(強い者に弱く、弱い者には強い)
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため、性格がうっとうしい(根暗)
●一人では何もできない(群れでしか行動できないヘタレ)
●少数派の異質、異文化を排斥する(差別主義者)
●集団によるいじめのパイオニア&天才(陰湿&陰険)
●悪口、陰口が大好き(A型が3人寄れば他人の悪口、裏表が激しい)
●他人からどう見られているか、体裁をいつも気にしている(「世間体命」、「〜みたい」とよく言う)
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(同じことを何度も言う、知障)
●表面上意気投合しているようでも、腹は各自バラバラで融通が利かず、頑固(本当は個性・アク強い)
●人を信じられず、疑い深い(自分自身裏表が激しいため、他人に対してもそう思う)
●自ら好んでストイックな生活をし、ストレスを溜めておきながら、他人に猛烈に嫉妬する(不合理な馬鹿)
●執念深く、粘着でしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(自分のことは棚に上げてまず他人を責める。しかも冷酷)
●男は、女々しいあるいは女の腐ったみたいな考えのやつが多い(他人をけなして相対的に自分の立場を引き上げようとする等)
326仕様書無しさん:03/01/03 18:00
保守
327仕様書無しさん:03/01/08 21:13
中間言語方式のスクリプトを作ってみました。
http://www.geocities.co.jp/SiliconValley-Oakland/8522/data/Script.txt


Delphiで言語を作るぞ(゚Д゚ )ゴルァ!!
http://pc3.2ch.net/test/read.cgi/tech/1041235271/
でやってたのですが、反応無いので、こっちでも紹介させて下さい。

>>295のギコBASICに応用するの比較的簡単です。

>>292の ループ [式] カイシ は少し苦労すると思います
328仕様書無しさん:03/01/13 11:55
>>327
DelphiってCのコードも埋め込めるの?
329仕様書無しさん:03/01/14 01:00
?できないけど?質問の脈略がわからん
330仕様書無しさん:03/01/14 12:11
>>329
いや、>>327のコードの後半、どうみてもCのコードに見えたから
331山崎渉
(^^)