Skip to content

Commit 0e77ae9

Browse files
committed
Ready for Release 0.20.1
1 parent a0176d2 commit 0e77ae9

File tree

3 files changed

+2139
-1734
lines changed

3 files changed

+2139
-1734
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,11 @@ Wikipedia: https://en.wikipedia.org/wiki/Dartmouth_BASIC
8585

8686
The intention is to recreate the original programming enviroment that existed in the late 1960s at Dartmouth College running on a GE-225 mainframe and accessed by teletype terminals, having been inspired by the book "Endless Loop" by Mark Jones Lorenzo. The compiler is the major part of this project.
8787

88-
Ultimately I'd like to support all of the Dartmouth BASICs (First thru Sixth); there is a runtime switch to turn functionality on and off (`./dbasic 1` enables only First Edition keywords, for example). The complete set of keywords from Basic The First (1964) is available **now including one- and two-dimensional arrays** ~~apart from `DEF` and `FN`~~, and also with `INPUT` from Basic The Third to enable the Football Championship program `ftball.txt` to run.
88+
Ultimately I'd like to support all of the Dartmouth BASICs (First thru Sixth); there is a runtime switch to turn functionality on and off (`./dbasic 1` enables only First Edition keywords, for example). The complete set of keywords up to Basic The Second (1964) are available, and also with `INPUT` from Basic The Third (to enable the Football Championship program `ftball.txt` to run).
8989

90-
* 2022/03/03: Tag 0.10.1 (hopefully) complete implementation of Basic The First
90+
* 2022/03/03: Tag 0.10.1 (hopefully complete) implementation of Basic The First (May 1964).
91+
92+
* 2022/05/02: Tag 0.20.1 (hopefully complete) implementation of Basic The Second (October 1964, originally known as CARDBASIC).
9193

9294
## Bugs
9395

autogen/Parser.d

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* A Bison parser, made by GNU Bison 3.8.2.12-013d-dirty. */
1+
/* A Bison parser, made by GNU Bison 3.8.2. */
22

33
/* Skeleton implementation for Bison LALR(1) parsers in D
44
@@ -205,7 +205,7 @@ public enum TokenKind {
205205
class Parser
206206
{
207207
/** Version number for the Bison executable that generated this parser. */
208-
public static immutable string yy_bison_version = "3.8.2.12-013d-dirty";
208+
public static immutable string yy_bison_version = "3.8.2";
209209

210210
/** Name of the skeleton that generated this parser. */
211211
public static immutable string yy_bison_skeleton = "lalr1.d";
@@ -617,7 +617,7 @@ this.symtab = symtab;
617617

618618
case 34: /* Stmt: MAT IDENT ASSIGN INV LPAREN IDENT RPAREN EOL */
619619
#line 78 "grammar.y"
620-
{ symtab.initializeMat(((yystack.valueAt (6)).IDENT), true); symtab.initializeMat(((yystack.valueAt (2)).IDENT)); symtab.initializeId(symtab.installId("DET")); (yyval.Stmt) = new MatInv(((yystack.valueAt (6)).IDENT), ((yystack.valueAt (2)).IDENT)); next = next.link((yyval.Stmt)); }
620+
{ symtab.initializeMat(((yystack.valueAt (6)).IDENT), true); symtab.initializeMat(((yystack.valueAt (2)).IDENT)); if (symtab.edition >= Edition.Fourth) symtab.initializeId(symtab.installId("DET")); (yyval.Stmt) = new MatInv(((yystack.valueAt (6)).IDENT), ((yystack.valueAt (2)).IDENT)); next = next.link((yyval.Stmt)); }
621621
break;
622622

623623
case 35: /* Stmt: MAT IDENT ASSIGN LPAREN Expr RPAREN TIMES IDENT EOL */
@@ -1606,7 +1606,7 @@ private static immutable byte[] yyr2_ =
16061606
import Node : Node, Line, Stop, Goto, GoSub, Return, Let, LetDim, LetDim2, Read, ReadDim, ReadDim2, Input, InputDim, InputDim2, If, For, Next;
16071607
import Expr : Expr, Op, Constant, Identifier, Dim, Dim2, Operation, MathFn, FnCall;
16081608
import LexerImpl : LexerImpl;
1609-
import SymbolTable : SymbolTable;
1609+
import SymbolTable : SymbolTable, Edition;
16101610
import Print : Print, NewLine, Comma, SemiColon, String, PrintExpr;
16111611
import Mat : MatRead, MatPrint, MatFullPrint, MatAdd, MatSub, MatMul, MatZerCon, MatIdn, MatTrn, MatInv, MatScalar;
16121612

0 commit comments

Comments
 (0)