FreeBasic
ttp://www.freebasic.net/
建てたいって人がいたので勝手に建てた
後はご自由にどうぞ
俺は知らん
過去スレ
http://echo.2ch.net/test/read.cgi/tech/1139379786/
【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net
1デフォルトの名無しさん
2016/12/24(土) 12:22:27.77ID:CVYSyiU+2デフォルトの名無しさん
2016/12/25(日) 17:21:20.77ID:R91XRShr 現在 Declere 文75KB,
””内外で処理が異なる例を見つけた。
「:」、
””外では、Visual Basic では、半角空白が1文字追加され、文の切れ目の意味を持つ。
””外では、Windows では、デバイスの末尾の文字でルートディレクトリーを示す。
前者に慌せて、一律空白を入れてしまうと、ファイルに全くアクセスできなくなるという状態に陥る。
サブルーチン内で値を変更している引数を一括して、ByRef 引数に書き換えるべく、
解釈ルーチンを作っているのだが、大文字と小文字を区別しないということが、漢字コード゛の存在下でかなり面倒くさい処理になってしまっている。
””内外で処理が異なる例を見つけた。
「:」、
””外では、Visual Basic では、半角空白が1文字追加され、文の切れ目の意味を持つ。
””外では、Windows では、デバイスの末尾の文字でルートディレクトリーを示す。
前者に慌せて、一律空白を入れてしまうと、ファイルに全くアクセスできなくなるという状態に陥る。
サブルーチン内で値を変更している引数を一括して、ByRef 引数に書き換えるべく、
解釈ルーチンを作っているのだが、大文字と小文字を区別しないということが、漢字コード゛の存在下でかなり面倒くさい処理になってしまっている。
3デフォルトの名無しさん
2016/12/28(水) 23:44:18.26ID:bENiqIxW http://makoto-watanabe.main.jp/freebasic/PgIfthen.html
にあるように
IF NOT (なんだら) Then
の代わりの
IF (なんたら) ELSE
文がFreeBasic では使えない。
V.B.でIF ELSE 文を使っていた人は要注意。
にあるように
IF NOT (なんだら) Then
の代わりの
IF (なんたら) ELSE
文がFreeBasic では使えない。
V.B.でIF ELSE 文を使っていた人は要注意。
4デフォルトの名無しさん
2016/12/31(土) 15:16:52.44ID:HTFXcJGG5デフォルトの名無しさん
2017/01/12(木) 18:51:09.21ID:JOVmaPyb 現在 Declere 文81KB,まもなく900行となる。
Function文からの引き抜きルーチンがうまく動いているようで、Function 文に間違いがなければ、何とか動いてくれている。
問題は引数検査。
命令語の右側の値を定義する命令が今のところ見つかっていないので、
例 機械語の INC AL 等
「=」を見つけて、左側の変数が定義される、として処理したまでは良かった。
問題は関数
適当な関数(変数,,,,)
で、変数を定義する場合があることに気が付いた。
引数の入出力チェックは今のところで来ていない。
引数の値を定義しないByValと定義するByRefの検査ルーチンが今のところ作成不能。
Function文からの引き抜きルーチンがうまく動いているようで、Function 文に間違いがなければ、何とか動いてくれている。
問題は引数検査。
命令語の右側の値を定義する命令が今のところ見つかっていないので、
例 機械語の INC AL 等
「=」を見つけて、左側の変数が定義される、として処理したまでは良かった。
問題は関数
適当な関数(変数,,,,)
で、変数を定義する場合があることに気が付いた。
引数の入出力チェックは今のところで来ていない。
引数の値を定義しないByValと定義するByRefの検査ルーチンが今のところ作成不能。
6デフォルトの名無しさん
2017/01/12(木) 19:28:24.87ID:JOVmaPyb 複数モジュール(ファイル) AAA.BAS, BBB.BAS, CCC.BAS があったとする。
お互いに、他のファイルの関数を参照していると、他の関数の参照関係(ByValかVtRefか)が決定されないと自分の参照関係がわからない。
ループや振り子現象にどう対応するか、
ループや振り子現象になるようなルーチンをどうやって発見するか、
が問題となる。これの見通しが立っていない。
発見できれば、別ファイルにして一つにまとめると、
同一ルーチン内のループや振り子現象になるので、処理が楽になる(一律ByRefとする)。
今現在は、大文字小文字を区別せずに整列して、昇順に処理しているけど
これを参照する他のファイル数の少ない順に処理してゆく
もし、参照関係を変更したら、遡って処理しなおすという方法で避けられるから。
その代り、処理時間がやたらかかることになる。
a,b,c,dとあったときに、Dが他のファイルを参照していない独立なファイルならば、最初に参照関係を調べる。独立なファイルをまず調べる。
次に、Dだけ(独立しているファイルだけ)を参照しているファイルをみつけて、このファイルだけ処理する、
というようにやってゆく。
ファイルが内容だけで分類する(たとえば、ファイル操作、ファイル名操作、ディレクトリー操作等の分類)のではなく
他のファイルの内容を参照しているか否かの分類も必要になってくる。
これが今のところ分からないでいる。
というのは、以前は、Call 文を検出するだけで、参照することを発見できたが
Call文が使えなくなって、参照している(配列ではない)ことを検出する方法が見当つかない。
Call 文とかLET文とか、結構使い道があった。
お互いに、他のファイルの関数を参照していると、他の関数の参照関係(ByValかVtRefか)が決定されないと自分の参照関係がわからない。
ループや振り子現象にどう対応するか、
ループや振り子現象になるようなルーチンをどうやって発見するか、
が問題となる。これの見通しが立っていない。
発見できれば、別ファイルにして一つにまとめると、
同一ルーチン内のループや振り子現象になるので、処理が楽になる(一律ByRefとする)。
今現在は、大文字小文字を区別せずに整列して、昇順に処理しているけど
これを参照する他のファイル数の少ない順に処理してゆく
もし、参照関係を変更したら、遡って処理しなおすという方法で避けられるから。
その代り、処理時間がやたらかかることになる。
a,b,c,dとあったときに、Dが他のファイルを参照していない独立なファイルならば、最初に参照関係を調べる。独立なファイルをまず調べる。
次に、Dだけ(独立しているファイルだけ)を参照しているファイルをみつけて、このファイルだけ処理する、
というようにやってゆく。
ファイルが内容だけで分類する(たとえば、ファイル操作、ファイル名操作、ディレクトリー操作等の分類)のではなく
他のファイルの内容を参照しているか否かの分類も必要になってくる。
これが今のところ分からないでいる。
というのは、以前は、Call 文を検出するだけで、参照することを発見できたが
Call文が使えなくなって、参照している(配列ではない)ことを検出する方法が見当つかない。
Call 文とかLET文とか、結構使い道があった。
7デフォルトの名無しさん
2017/01/15(日) 11:55:43.47ID:Z3HvmWhY hosyu
8渡辺真
2017/01/16(月) 11:52:56.37ID:l394ym3c9渡辺真
2017/01/16(月) 11:54:25.11ID:l394ym3c >>6
>Call 文とかLET文とか、結構使い道があった。
'$lang:"fblite"
とすると、Call 文、LET文が使えるようになります。
http://makoto-watanabe.main.jp/freebasic/CompilerDialects.html
試してみては、いかがでしょう。
>Call 文とかLET文とか、結構使い道があった。
'$lang:"fblite"
とすると、Call 文、LET文が使えるようになります。
http://makoto-watanabe.main.jp/freebasic/CompilerDialects.html
試してみては、いかがでしょう。
10デフォルトの名無しさん
2017/01/16(月) 20:59:04.92ID:nwZac5ew >>8-9 それ絶望的。現在
ライブラリーの総ファイル数約100。
内、FreeBasic 要に書き換えた
ファイルが約40、
局所ルーチン 53
大域ルーチン 646
と合計700のルーチンがある。100位は、FreeBasic用に新規に作成したもの。
例 Function (適当)(IAA As Long)の他に、AS Integer, As Byte 等FreeBasic で新規に作られた変数型対応。
これを全部 Call文に書き換えて、、、というのは絶望に近い。
なお、引数を伴わないFunction 文に関しては、無意味な引数をつけることで、引数なしの場合を想定しないで済むようにしている。
もう少し使い方になれたから、自己書き換えルーチンの作り方がマシになって、ある程度の自由な操作が可能になるだろう。
ライブラリーの総ファイル数約100。
内、FreeBasic 要に書き換えた
ファイルが約40、
局所ルーチン 53
大域ルーチン 646
と合計700のルーチンがある。100位は、FreeBasic用に新規に作成したもの。
例 Function (適当)(IAA As Long)の他に、AS Integer, As Byte 等FreeBasic で新規に作られた変数型対応。
これを全部 Call文に書き換えて、、、というのは絶望に近い。
なお、引数を伴わないFunction 文に関しては、無意味な引数をつけることで、引数なしの場合を想定しないで済むようにしている。
もう少し使い方になれたから、自己書き換えルーチンの作り方がマシになって、ある程度の自由な操作が可能になるだろう。
11デフォルトの名無しさん
2017/01/18(水) 20:22:28.09ID:jwPQ/iiW 参照関係を調べる時に使うルーチン
Public Function RoutineImmediateStringCat(InLineString As String, OutLineString As String) As Long
'*-* 即値 の文字列をヌルに書き換える
Dim As String BString
'Dim As String CH22String
Dim As Long IAA, IBB, iModeLong
RoutineImmediateStringCat = 0
iModeLong = 0&: 'CH22String = Chr$(&H22)
OutLineString = ""
For IAA = 1& To Len(InLineString)
BString = Mid$(InLineString, IAA, 1): IBB = Asc(BString)
Select Case iModeLong
Case 0&
If (IBB = &H22) Then
iModeLong = 10&
OutLineString = OutLineString + BString
Else
OutLineString = OutLineString + BString
End If
Case 10&
If (IBB = &H22) Then
iModeLong = 0&
OutLineString = OutLineString + BString
End If
End Select
Next IAA
End Function
Public Function RoutineImmediateStringCat(InLineString As String, OutLineString As String) As Long
'*-* 即値 の文字列をヌルに書き換える
Dim As String BString
'Dim As String CH22String
Dim As Long IAA, IBB, iModeLong
RoutineImmediateStringCat = 0
iModeLong = 0&: 'CH22String = Chr$(&H22)
OutLineString = ""
For IAA = 1& To Len(InLineString)
BString = Mid$(InLineString, IAA, 1): IBB = Asc(BString)
Select Case iModeLong
Case 0&
If (IBB = &H22) Then
iModeLong = 10&
OutLineString = OutLineString + BString
Else
OutLineString = OutLineString + BString
End If
Case 10&
If (IBB = &H22) Then
iModeLong = 0&
OutLineString = OutLineString + BString
End If
End Select
Next IAA
End Function
レスを投稿する
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★2 [BFU★]
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」★4 [♪♪♪★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 日中関係悪化で「日本からもうすぐパンダがいなくなる」 中国SNSでトレンド1位に★2 [♪♪♪★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸 ★2
- 【実況】博衣こよりのえちえちホロ分かり手クイズ🧪🏴‍☠🌸
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」 [115996789]
- 【高市悲報】中国「国連安保理の許可なしに日本を攻撃可能だ」★2 [115996789]
- 日中戦争起きたら5日で自衛隊壊滅するらしい。じゃあ徴兵も無いし、俺等が必死になって反対してやる理由なくね? [237216734]
- 中国SNS「メディアがやたら日本が苦境だって報じてるけど本当?」→「嘘ですよ。ヤフコメを翻訳してみてください」 バレてしまうwwww [271912485]
