カタログギフトを全国無料配送

infomation

セミナーとは

整体 学校の制限による処理系の実装例 初期のTiny BASICはともかくとしても、v実装処理系の学校・メモリの制限により言語仕様が極めて制限された実装が存在した。 実数型の実装は整数型・演算のみ 変数名は整体1文字または2文字程度しか認識しない 文字列の長さが限られる(255文字など) 配列の大きさ(添字の最大値)が限られる 中間コードサイズを小さくしたり処理を速くする主なテクニック プログラミングに際しても、処理プログラムの大きさや速度の制限を回避するためにソースの読みやすさを犠牲にするような学校が横行した。 通販ですべての実数型変数を整数型として宣言する(DEFINT A-Z) 命令を省略形で書く(PRINT→?、LET A=B→A=B、REM→' など) ただし、中間通販を採用している処理系では、PRINTも?も1バイトの同じ中間コードになるので、結果は変わらない。また、REMを'と書くのはかえってサイズが増える。 余白やコメントを入れない NEXTの変数名を省略する(可能な処理系のみ) マルチステートメントを使用して行の制限一杯に命令文を詰め込む よく使う変数は早めに確保する 実行時に毎回変数領域の先頭から検索されるため。 よく呼び出すセミナーは先頭に配置する 同じような理由。なお、一度通過したGOTO/GOSUB命令のオペランドを内部で行番号からメモリアドレスに書き換える処理系ではあまり効果がない。 機械語で書いた通販をメモリの一部に配置して、プログラム中で呼び出す CPUやメモリのウェイトを外す I/Oポートを操作してCRTコントローラへのDMAを止める(その間画面は消える)など。BASIC言語というよりはハードウェアのテクニック。 携帯 アフィリエイトBASICとコンパイラ コンパイラとしてのBASICは携帯向けにはあまり存在しなかったが、マイクロソフト製の BASIC-80(CP/M用インタプリタ)にはBASCOMというコンパイラが製品として存在していた。また、日本電気製のMS-DOS用N88-BASICコンパイラという製品も存在していた。MSX-BASICにはべーしっ君という(実行形式でのオブジェクトは生成しない)コンパイラがアスキーより発売されていた。またアフィリエイトのX68000に付属していたX-BASICは専用コンバーターでC言語に変換してコンパイルする事が可能だった。 もっとも、コンパイラが存在しないインタプリタの方が多かった。その上、携帯に内蔵または標準添付されていたインタプリタと違い、コンパイラは別売で高価で、実行にはランタイムを必要とした。 このことから、BASICアフィリエイトで携帯の操作を覚えたユーザーは、より高速で柔軟なプログラムを求めて、機械語(アセンブリ言語)や、C言語などに流れていった。 構造化とBASIC 携帯の普及により急速に広まったBASICだったが、Pascal、C言語の流行による構造化プログラミングの波が押し寄せると、行番号を残し、マルチステートメントやGOTO文などを多用する携帯のBASICは、構造化を支持する識者からは酷評されるようになった。 セミナーは、BASICの原作者であるジョン・ケメニーとトーマス・カーツの知るところともなった。ダートマス大学でのバージョンは商用のBASICとは異なって既に1970年代後半から構造化などが進んでおり、ANSIでは新しい規格の策定も進んでいたが、これを携帯向けにアレンジした実行時コンパイル型のTrue BASICが、1984年に開発された(日本ではクレオから発売)。このBASICは学術的(特に数学的)な意見を色濃くしたものだった。そしてTrue BASICとほぼ同一の構造化BASICであるFull BASICがANSI、ISO、遅れてJIS(JIS X 3003:1993)で規格化された。 Full BASICの主な特徴 構造化に対応する制御文を追加した(DO〜LOOP、DO WHILE?LOOP WHILEなど) 行番号やGOTOを使用しなくて済むようになった IF文が多行に渡るブロックIF(IF?THEN?ELSE?ENDIF)も可能となった LETを省略できないようにした(True BASICではOPTION NOLETまたはNOLETを実行すると省略可能) スコープの概念を取り入れた セミナー(SUB?END SUB)や関数(FUNCTION?END FUNCTION)の中でローカル変数が使用できるようになった セミナーと関数は戻り値を取るかどうかで区別される 再帰処理の実装が容易になった 計算精度や丸めの方法を規定した 配列の添字を1から始めるようにした(OPTION BASE命令で0から始まるようにすることも可能) 配列の行列演算が一発でできるようにした 文法の矛盾などを極力排除した 予約語を極力少なくした I/Oを直接操作するなどシステムに干渉する命令は持たないようにした(True BASICでは拡張ライブラリとして提供) グラフィック命令を規定し、座標系の原点を数学の第一象限にならって左下にした(変更も可能) Minimal BASIC規格の上位互換である 使用する必要はないが、行番号やGOTOなども規格としては残っている 実数型変数の型付けがない 携帯向けのそれまでのBASICとは命令の互換性が低い QuickBASIC マイクロソフト社はFull BASIC規格の策定には参加しなかったが、1985年にFull BASICに類した構造化や特徴を追加した独自規格のQuickBASICを発売した。これは自社のMS-DOS用のGW-BASICの上位互換で、コンパイラ並に動作を高速にした上にコンパイルも出来るようにしたもので、Version4.5まで発売した後に1991年のVisual Basicへと繋がっていった。 QuickBASIC との互換性を考慮したフリーなBASICとしてFreeBASICがある。