ひじきごはんを食べましょう(sorry, this blog is UNDER CONSTRUCTION←おー

どうもひじきごはんです。ほんとに食べちゃだめですよ、俺のことをね。

BASICコンパイラー への道/少し改良

2021-04-08 20:34:30 | Weblog

10 RESTORE 1000
20 READ C
30 RESTORE
40 DIM COMMAND$(C),COML(C)
50 FOR I=1 TO C
60    READ COMMAND$(I),COML(I)
70    PRINT I,COMMAND$(I)
80 NEXT I
85 LET R$="C:\Users\user\Documents\FFC.txt"
90 LET W$="C:\Users\user\Documents\RSLT.txt"
100 OPEN #1:NAME R$
110 OPEN #2:NAME W$
115 ERASE #2    
120 LINE INPUT #1:L$
130 IF L$="" THEN GOTO 400
140 FOR J=1 TO C
150    LET M=1
160    LET P=POS(L$,COMMAND$(J))
170    IF P=0 THEN GOTO 210
172    IF ORD(L$(P-1:P-1))>64 AND ORD(L$(P-1:P-1))<91 THEN GOTO 210  
180    LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1)="**"&STR$(J)
190    LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1+COML(J))="" 
200    GOTO 160
210 NEXT J
230 PRINT #2:L$
250 GOTO 120
400 CLOSE #2
410 CLOSE #1

 

DATA部に変更はありません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

BASICコンパイラー への道

2021-04-08 20:34:30 | Weblog
10 RESTORE 1000
20 READ C
30 RESTORE
40 DIM COMMAND$(C),COML(C)
50 FOR I=1 TO C
60 READ COMMAND$(I),COML(I)
70 PRINT I,COMMAND$(I)
80 NEXT I
85 LET R$="C:\Users\user\Documents\FFC.txt"
90 LET W$="C:\Users\user\Documents\RSLT.txt"
100 OPEN #1:NAME R$
110 OPEN #2:NAME W$
115 ERASE #2
120 LINE INPUT #1:L$
130 IF L$="" THEN GOTO 400
140 FOR J=1 TO C
150 LET M=1
160 IF POS(L$,COMMAND$(J))=0 THEN GOTO 210
170 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1)="**"&STR$(J)
175 PRINT L$,M
180 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1+COML(J))=""
185 PRINT L$,COML(J)
200 GOTO 160
210 NEXT J
230 PRINT #2:L$
250 GOTO 120
400 CLOSE #2
410 CLOSE #1
604 DATA OPTION ARITHMETIC RATIONAL,26,DECLARE EXTERNAL FUNCTION,25,OPTION ARITHMETIC COMPLEX,25,OPTION ARITHMETIC DECIMAL,25
606 DATA OPTION ARITHMETIC NATIVE,24,GRAPHICS DEVICE PRINTER,23,ASK CHARACTER PENDING,21,OPTION ANGLE DEGREES,20,OPTION ANGLE RADIANS,20
608 DATA ASK MAX POINT STYLE,19,SET DEVICE VIEWPORT,19,ARITHEMTIC DECIMAL,18,ASK MAX LINE STYLE,18,WHEN EXCEPTION USE,18,"CHARACTER INPUT #",17
610 DATA CHARACTER PENDING,17,EXTERNAL FUNCTION,17,MAKE DIRECTIONARY,17,SET DEVICE WINDOW,17,WHEN EXCEPTION IN,17,ASK TEXT JUSTIFY,16,DECLARE EXTERNAL,16
612 DATA EXTERNAL PICTURE,16,OPTION CHARACTER,16,RECTYPE INTERNAL,16,REMOVE DIRECTORY,16,SET TEXT JUSTIFY,16,ASK BITMAP SIZE,15,ASK PIXEL ARRAY,15
614 DATA ASK PIXEL VALUE,15,ASK POINT COLOR,15,ASK POINT STYLE,15,CHARACTER INPUT,15,DECLARE NUMERIC,15,MAT GRAPH CELLS,15,MAT PLOT POINTS,15
616 DATA MAT PRINT USING,15,READ IF MISSING,15,SET BITMAP SIZE,15,SET POINT COLOR,15,SET POINT STYLE,15,SET TEXT HEIGHT,15
618 DATA ASK AREA COLOR,14,ASK AXIS COLOR,14,ASK LINE COLOR,14,ASK LINE STYLE,14,ASK PIXEL SIZE,14,ASK TEXT COLOR,14,DECLARE STRING,14
620 DATA FILE SPLITNAME,14,MAT PLOT CELLS,14,MAT PLOT LINES,14,SET AREA COLOR,14,SET COLOR MODE,14,SET LINE COLOR,14,SET LINE STYLE,14,SET TEXT COLOR,14
622 DATA ASK COLOR MIX,13,ASK DIRECTORY,13,ASK MAX COLOR,13,EXIT FUNCTION,13,INPUT ELAPSED,13,INPUT TIMEOUT,13,LOCATE CHOICE,13,MAT PLOT AREA,13
624 DATA ON ERROR GOTO,13,POINTER BEGIN,13,SET BEAM MODE,13,SET COLOR MIX,13,SET DIRECTORY,13,SET ZONEWIDTH,13,CREATEOBJECT,12,END FUNCTION,12
626 DATA EXIT HANDLER,12,EXIT PICTURE,12,EXTERNAL SUB,12,FILE GETNAME,12,INPUT PROMPT,12,"LINE INPUT #",12,LOCATE VALUE,12,ORGANIZATION,12,SET VIEWPORT,12
628 DATA TEXT JUSTIFY,12,ASSOC PRINT,11,CALLBACKADR,11,FILE DELETE,11,FILE RENAME,11,GETKEYSTATE,11,GETOPENNAME,11,GETSAVENAME,11,OPTION BASE,11
630 DATA PIXEL ARRAY,11,PIXEL VALUE,11,PLOT POINTS,11,POINT COLOR,11,POINT STYLE,11,POINTER END,11,PRINT USING,11,PROPERTYGET,11,PROPERTYPUT,11
632 DATA RECTYPE CSV,11,SELECT CASE,11,TEXTWINDOW1,11,TEXTWINDOW2,11,WAIT SIGNAL,11,ARITHMETIC,10,ASK WINDOW,10,BACKGROUND,10,COLOR MODE,10,COLORINDEX,10
634 DATA END SELECT,10,FOR APPEND,10,FOR OUTPUT,10,LINE COLOR,10,LINE INPUT,10,LINE STYLE,10,MOUSE POLL,10,PIXEL SIZE,10,PLOT LINES,10,SET MARGIN,10,SET WINDOW,10
636 DATA TEXT COLOR,10,TRANCEFORM,10,WAIT DELAY,10,BASIC.BAK,9,BASIC.INT,9,CASE ELSE,9,COLOR MIX,9,DIRECTORY,9,DRAW AXES,9,DRAW GRID,9,DRAW MODE,9,ENDOFLINE,9
638 DATA EXCEPTION,9,FOR INPUT,9,GET POINT,9,MAT INPUT,9,MAT PRINT,9,MAT REDIM,9,NOBEAMOFF,9,OVERWRITE,9,PLOT AREA,9,PLOT TEXT,9,RANDOMIZE,9,REMAINDER,9
640 DATA SETUP.BAT,9,SKIP REST,9,SPLITNAME,9,UNPACKDBL,9,WINHANDLE,9,ZONEWIDTH,9,CALLBACK,8,"CONFIRM$",8,CONTINUE,8,END WHEN,8,EXIT FOR,8,EXIT SUB,8,FUNCTION,8
642 DATA INTERNAL,8,MAT PLOT,8,MAT READ,8,"PACKDBL$",8,PROBLEMX,8,PROBLEMY,8,RATIONAL,8,SET ECHO,8,TRUNCATE,8,VIEWPORT,8,COMPLEX,7,CONSOLE,7,DECIMAL,7,DECLARE,7
644 DATA DEGREES,7,ELAPSED,7,END SUB,7,EXECUTE,7,EXIT DO,7,GETNAME,7,HANDLER,7,"INPUT #",7,JUSTIFY,7,LIBRALY,7,MAXSIZE,7,MISSING,7,NUMERIC,7,PENDING,7,PICTURE,7
646 DATA "PRINT #",7,PRINTER,7,PRIVATE,7,PROGRAM,7,RADIANS,7,RECTYPE,7,"REPEAT$",7,RESTORE,7,"STRING$",7,"SUBSTR$",7,TIMEOUT,7,ACCESS,6,ASSIGN,6,BEZIER,6,BITAND,6
648 DATA BITMAP,6,BITNOT,6,BITXOR,6,CHOICE,6,CIRCLE,6,DEFDBL,6,DEFINT,6,DELETE,6,DEVICE,6,"DWORD$",6,ELSEIF,6,END IF,6,EXTYPE,6,HEIGHT,6,HIDDEN,6,"INKEY$",6
650 DATA INTSQR,6,LBOUND,6,"LCASE$",6,LOCATE,6,LPRINT,6,"LTRIM$",6,MARGIN,6,MAXNUM,6,MODULE,6,NATIVE,6,NOTXOR,6,NOWAIT,6,OPTION,6,OUTPUT,6,PIXELX,6,PIXELY,6,POINTS,6
652 DATA PROMPT,6,PUBLIC,6,RENAME,6,RESUME,6,RETURN,6,"RIGHT$",6,ROTATE,6,"RTRIM$",6,SCREEN,6,SIGNAL,6,"SPACE$",6,STREAM,6,STRING,6,UBOUND,6,"UCASE$",6
654 DATA UNSAVE,6,"USING$",6,WINDOW,6,WORLDX,6,WORLDY,6,ANGLE,5,AXES0,5,BITOR,5,BREAK,5,"BSTR$",5,"BYTE$",5,CAUSE,5,CELLS,5,CHAIN,5,CLEAR,5,CLOSE,5,COLOR,5
656 DATA "DATE$",5,DEBUG,5,DELAY,5,DENOM,5,ERASE,5,FLOOD,5,GLOAD,5,GOSUB,5,GRAPH,5,GRID0,5,GSAVE,5,IMAGE,5,INPUT,5,INSTR,5,KANJI,5,LABEL,5,"LEFT$",5,LIMIT,5
658 DATA LINES,5,LOCAL,5,LOG10,5,MERGE,5,NUMER,5,OUTIN,5,PAINT,5,PAUSE,5,PIXEL,5,POINT,5,PRINT,5,REDIM,5,RETRY,5,ROUND,5,SCALE,5,SHARE,5,SHEAR,5,SHIFT,5,"TIME$",5
660 DATA TRACE,5,UNTIL,5,USING,5,VALUE,5,WHILE,5,"WORD$",5,WRITE,5,ACOS,4,AREA,4,ASIN,4,AXES,4,BASE,4,BEAM,4,BEEP,4,BLEN,4,BVAL,4,BYTE,4,CALL,4,CASE,4,CEIL,4
662 DATA "CHR$",4,CINT,4,CLIP,4,COM1,4,COM2,4,COMB,4,CONJ,4,COSH,4,DATA,4,DATE,4,DISK,4,DRAW,4,ECHO,4,ELSE,4,EXIT,4,FACT,4,FILE,4,"GET@",4,GOTO,4,GRID,4,"HEX$",4
664 DATA KILL,4,LINE,4,LOG2,4,LOOP,4,"MID$",4,MORE,4,NAME,4,NEXT,4,"NUL$",4,OPEN,4,PERM,4,PLAY,4,PLOT,4,POLL,4,PSET,4,"PUT@",4,READ,4,REST,4,SINH,4,SIZE,4,SKIP,4
666 DATA STEP,4,STOP,4,"STR$",4,SWAP,4,TANH,4,TEXT,4,THEN,4,TIME,4,TYPO,4,WAIT,4,WEND,4,WHEN,4,WITH,4,ABS,3,AND,3,ARG,3,ASC,3,ASK,3,ATN,3,BOX,3,CLS,3,CON,3,COS,3
668 DATA COT,3,CSC,3,CSV,3,DEF,3,DEG,3,DET,3,DIM,3,DOT,3,END,3,EOF,3,EPS,3,EXP,3,FIX,3,FOR,3,GCD,3,GET,3,IDN,3,INT,3,INV,3,KEY,3,LEN,3,LET,3,LOG,3,MAT,3,MAX,3,MIN,3
670 DATA MIX,3,MOD,3,NOT,3,OLE,3,ORD,3,ORG,3,PDF,3,POS,3,RAD,3,REM,3,RND,3,SEC,3,SET,3,SGN,3,SIN,3,SPC,3,SQR,3,SUB,3,TAB,3,TAN,3,TRN,3,USE,3,VAL,3,ZER,3,DO,2,FP,2
672 DATA IF,2,IM,2,IP,2,OR,2,PI,2,RE,2,TO,2
1000 DATA 448
END
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ただ泣きたくなるの

2021-04-08 20:08:05 | Weblog

ただ泣きたくなるの

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

真ゲッターロボ 世界最後の日~今がその時だ(OP1)

2021-04-08 07:58:18 | Weblog

真ゲッターロボ 世界最後の日~今がその時だ(OP1)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

UFOロボグレンダイザー OP&ED

2021-04-08 07:53:28 | Weblog

UFOロボグレンダイザー OP&ED

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

さとーけのひとびと・み・あまんて篇

2021-04-08 07:00:08 | Weblog

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

立て! 闘将ダイモス

2021-04-08 06:11:25 | Weblog

立て! 闘将ダイモス

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ピタゴラスイッチ ミニ▽なにしてるひと?▽10本アニメ 20201030

2021-04-08 06:08:56 | Weblog

ピタゴラスイッチ ミニ▽なにしてるひと?▽10本アニメ 20201030

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

BASICコンパイラーづくりの野望

2021-04-08 05:42:25 | Weblog

今日は、予約語すべての文字列化。

10 RESTORE 1000
20 READ C
30 RESTORE
40 DIM COMMAND$(C)
50 FOR I=1 TO C
60    READ COMMAND$(I)
70    PRINT I,COMMAND$(I)
80 NEXT I
604 DATA ABS,ACCESS,ACOS,AND,ANGLE,AREA,ARG,ARITHEMTIC DECIMAL,ARITHMETIC,ASC
606 DATA ASIN,ASK,ASK AREA COLOR,ASK AXIS COLOR,ASK BITMAP SIZE,ASK CHARACTER PENDING,ASK COLOR MIX,ASK DIRECTORY,ASK LINE COLOR,ASK LINE STYLE
608 DATA ASK MAX COLOR,ASK MAX LINE STYLE,ASK MAX POINT STYLE,ASK PIXEL ARRAY,ASK PIXEL SIZE,ASK PIXEL VALUE,ASK POINT COLOR,ASK POINT STYLE,ASK TEXT COLOR,ASK TEXT JUSTIFY
610 DATA ASK WINDOW,ASSIGN,ASSOC PRINT,ATN,AXES,AXES0,BACKGROUND,BASE,BASIC.BAK,BASIC.INT
612 DATA BEAM,BEEP,BEZIER,BITAND,BITMAP,BITNOT,BITOR,BITXOR,BLEN,BOX
614 DATA BREAK,"BSTR$",BVAL,BYTE,"BYTE$",CALL,CALLBACK,CALLBACKADR,CASE,CASE ELSE
616 DATA CAUSE,CEIL,CELLS,CHAIN,CHARACTER INPUT,"CHARACTER INPUT #",CHARACTER PENDING,CHOICE,"CHR$",CINT
618 DATA CIRCLE,CLEAR,CLIP,CLOSE,CLS,COLOR,COLOR MIX,COLOR MODE,COLORINDEX,COM1
620 DATA COM2,COMB,COMPLEX,CON,"CONFIRM$",CONJ,CONSOLE,CONTINUE,COS,COSH
622 DATA COT,CREATEOBJECT,CSC,CSV,DATA,DATE,"DATE$",DEBUG,DECIMAL,DECLARE
624 DATA DECLARE EXTERNAL,DECLARE EXTERNAL FUNCTION,DECLARE NUMERIC,DECLARE STRING,DEF,DEFDBL,DEFINT,DEG,DEGREES,DELAY
626 DATA DELETE,DENOM,DET,DEVICE,DIM,DIRECTORY,DISK,DO,DOT,DRAW
628 DATA DRAW AXES,DRAW GRID,DRAW MODE,"DWORD$",ECHO,ELAPSED,ELSE,ELSEIF,END,END FUNCTION
630 DATA END IF,END SELECT,END SUB,END WHEN,ENDOFLINE,EOF,EPS,EPSファイル,ERASE,EXCEPTION
632 DATA EXECUTE,EXIT,EXIT DO,EXIT FOR,EXIT FUNCTION,EXIT HANDLER,EXIT PICTURE,EXIT SUB,EXP,EXTERNAL FUNCTION
634 DATA EXTERNAL PICTURE,EXTERNAL SUB,EXTYPE,FACT,FILE,FILE DELETE,FILE GETNAME,FILE RENAME,FILE SPLITNAME,FIX
636 DATA FLOOD,FOR,FOR APPEND,FOR INPUT,FOR OUTPUT,FP,FUNCTION,GCD,GET,GET POINT
638 DATA "GET@",GETKEYSTATE,GETNAME,GETOPENNAME,GETSAVENAME,GLOAD,GOSUB,GOTO,GRAPH,GRAPHICS DEVICE PRINTER
640 DATA GRID,GRID0,GSAVE,HANDLER,HEIGHT,"HEX$",HIDDEN,IDN,IF,IM
642 DATA IMAGE,"INKEY$",INPUT,"INPUT #",INPUT ELAPSED,INPUT PROMPT,INPUT TIMEOUT,INSTR,INT,INTERNAL
644 DATA INTSQR,INV,IP,JUSTIFY,KANJI,KEY,KILL,LABEL,LBOUND,"LCASE$"
646 DATA "LEFT$",LEN,LET,LIBRALY,LIMIT,LINE,LINE COLOR,LINE INPUT,"LINE INPUT #",LINE STYLE
648 DATA LINES,LOCAL,LOCATE,LOCATE CHOICE,LOCATE VALUE,LOG,LOG10,LOG2,LOOP,LPRINT
650 DATA "LTRIM$",MAKE DIRECTIONARY,MARGIN,MAT,MAT GRAPH CELLS,MAT INPUT,MAT PLOT,MAT PLOT AREA,MAT PLOT CELLS,MAT PLOT LINES
652 DATA MAT PLOT POINTS,MAT PRINT,MAT PRINT USING,MAT READ,MAT REDIM,MAX,MAXNUM,MAXSIZE,MERGE,"MID$"
654 DATA MIN,MISSING,MIX,MOD,MODULE,MORE,MOUSE POLL,NAME,NATIVE,NEXT
656 DATA NOBEAMOFF,NOT,NOTXOR,NOWAIT,"NUL$",NUMER,NUMERIC,OLE,ON ERROR GOTO,OPEN
658 DATA OPTION,OPTION ANGLE DEGREES,OPTION ANGLE RADIANS,OPTION ARITHMETIC COMPLEX,OPTION ARITHMETIC DECIMAL,OPTION ARITHMETIC NATIVE,OPTION ARITHMETIC RATIONAL,OPTION BASE,OPTION CHARACTER,OR
660 DATA ORD,ORG,ORGANIZATION,OUTIN,OUTPUT,OVERWRITE,"PACKDBL$",PAINT,PAUSE,PDF
662 DATA PENDING,PERM,PI,PICTURE,PIXEL,PIXEL ARRAY,PIXEL SIZE,PIXEL VALUE,PIXELX,PIXELY
664 DATA PLAY,PLOT,PLOT AREA,PLOT LINES,PLOT POINTS,PLOT TEXT,POINT,POINT COLOR,POINT STYLE,POINTER BEGIN
666 DATA POINTER END,POINTS,POLL,POS,PRINT,"PRINT #",PRINT USING,PRINTER,PRIVATE,PROBLEMX
668 DATA PROBLEMY,PROGRAM,PROMPT,PROPERTYGET,PROPERTYPUT,PSET,PUBLIC,"PUT@",RAD,RADIANS
670 DATA RANDOMIZE,RATIONAL,RE,READ,READ IF MISSING,RECTYPE,RECTYPE INTERNAL,RECTYPE CSV,REDIM,REM
672 DATA REMAINDER,REMOVE DIRECTORY,RENAME,"REPEAT$",REST,RESTORE,RESUME,RETRY,RETURN,"RIGHT$"
674 DATA RND,ROTATE,ROUND,"RTRIM$",SCALE,SCREEN,SEC,SELECT CASE,SET,SET AREA COLOR
676 DATA SET BEAM MODE,SET BITMAP SIZE,SET COLOR MIX,SET COLOR MODE,SET DEVICE VIEWPORT,SET DEVICE WINDOW,SET DIRECTORY,SET ECHO,SET LINE COLOR,SET LINE STYLE
678 DATA SET MARGIN,SET POINT COLOR,SET POINT STYLE,SET TEXT COLOR,SET TEXT HEIGHT,SET TEXT JUSTIFY,SET VIEWPORT,SET WINDOW,SET ZONEWIDTH,SETUP.BAT
680 DATA SGN,SHARE,SHEAR,SHIFT,SIGNAL,SIN,SINH,SIZE,SKIP,SKIP REST
682 DATA "SPACE$",SPC,SPLITNAME,SQR,STEP,STOP,"STR$",STREAM,STRING,"STRING$"
684 DATA SUB,"SUBSTR$",SWAP,TAB,TAN,TANH,TEXT,TEXT COLOR,TEXT JUSTIFY,TEXTWINDOW1
686 DATA TEXTWINDOW2,THEN,TIME,"TIME$",TIMEOUT,TO,TRACE,TRANCEFORM,TRN,TRUNCATE
688 DATA TYPO,UBOUND,"UCASE$",UNPACKDBL,UNSAVE,UNTIL,USE,USING,"USING$",VAL
690 DATA VALUE,VIEWPORT,WAIT,WAIT DELAY,WAIT SIGNAL,WEND,WHEN,WHEN EXCEPTION IN,WHEN EXCEPTION USE,WHILE
692 DATA WINDOW,WINHANDLE,WITH,"WORD$",WORLDX,WORLDY,WRITE,ZER,ZONEWIDTH
1000 DATA 449
  END

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

小松左京/地には平和を@短編 を読む。

2021-04-08 04:58:37 | Weblog

なかなか、面白かった。出だしの緊張感が素晴らしい。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

まほしょ。

2021-04-08 04:56:56 | Weblog

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする