プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

趣味でBASIC言語を作ってみる(3)

2008年05月10日 14時42分00秒 | その他
約1ヶ月ぶりに再会(再開)で~す。
今までの仕様から定数、変数、演算子とキーワードをまとめてみる。

§まとめ

○定数

  • 2進表現(&B[0-1])
  • 8進表現(&O[0-7])
  • 10進表現(&D[0-9])
  • 16進表現(&H[0-9,A-Z,a-z])
  • 小数表現(0-9.[0-9])
  • 指数表現(0-9.[0-9]{E|e}[+|-]0-9)
  • 文字列定数(ダブルクオーテーションで囲む)



○変数

  • 先頭は英字文字と下線文字から始まる
  • 最大63文字まで
  • 大文字と小文字は区別されない
  • 数字文字(0-9)
  • 英字文字(A-Z,a-z)
  • 下線文字(_)
  • ピリオド(.)



○演算子

  • ==
  • !=
  • <=
  • >=
  • NOT
  • EQV
  • AND
  • OR
  • XOR



○命令(ステートメント)

  • REM
  • LET
  • END
  • DEFINT
  • DEFDBL
  • DEFSTR
  • DIMINT
  • DIMDBL
  • DIMSTR
  • IF
  • ELSEIF
  • ELSE
  • ENDIF
  • SWITCH
  • CASE
  • DEFAULT
  • SEND
  • FOR
  • TO
  • STEP
  • NEXT
  • WHILE
  • WEND
  • DO
  • LOOP
  • BREAK
  • CONTINUE
  • GOTO
  • SUB
  • GOSUB
  • RETURN



§語句解析

○その1(語句の切り出し)

  • 整数定数を切り出す(2進数,8進数,10進数,16進数)
  • 実数定数を切り出す
  • 文字列定数を切り出す(ダブルクオーテーション)
  • 英数字を切り出す(変数,演算子の一部,ステートメント)
  • 区切り文字を切り出す(演算子など)



○ヘッダ(語句解析のクラス)

//-----------------------------------------------
// 語句解析のクラス
//-----------------------------------------------
class BasicGetToken {
    char  *m_buff;
    char  *m_tail;
    char  *m_stop;
    char  *m_token;
    size_t m_size;
public:
    BasicGetToken();
    ~BasicGetToken();
public:
    int getFileName( const char file[] );
    int getFileRead( FILE *fp );
    int getBuffRead( const char buff[] );
    int getToken( char token[], size_t size );
private:
    int getFindKeyword( char string[] );
    int getBetween( char top, char end, int retCode );
    int getPunct();
    int getLabel();
    int getRadix();
    int getNumber();
    int getSymbol();
    int getRemark();
    size_t getFileLeng( FILE *fp );
};


§最後に

これからC++言語を用いて作成していきます。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 趣味でBASIC言語を作ってみる(2) | トップ | CRC16テーブルで計算(CRC-CCITT) »
最新の画像もっと見る

コメントを投稿

その他」カテゴリの最新記事