Skip to content

Commit

Permalink
updated files for version 0.4.5
Browse files Browse the repository at this point in the history
added some removal comments for when the old translator routines are
removed
  • Loading branch information
thunder422 committed Aug 24, 2013
1 parent 734521d commit 51ef634
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 13 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -49,7 +49,7 @@ set(ibcp_COPYRIGHT_YEAR 2013)

set(ibcp_RELEASE_MAJOR 0)
set(ibcp_RELEASE_MINOR 4)
set(ibcp_RELEASE_PATCH 4)
set(ibcp_RELEASE_PATCH 5)

set(ibcp_RELEASE_STRING v${ibcp_RELEASE_MAJOR}.${ibcp_RELEASE_MINOR})
if (ibcp_RELEASE_PATCH LESS 0)
Expand Down
15 changes: 8 additions & 7 deletions README
Expand Up @@ -32,13 +32,14 @@ Currently, the BASIC language parser is operational. The parser
converts text input into BASIC language tokens.

The translator is currently being developed with a new scheme that will
make translation of commands simple to implement. The LET, PRINT and
INPUT commands have been implemented so far. The old translator
routines have been left in place until the new routines fully support
the same features, which include the translation of BASIC expressions
along a few BASIC commands (LET, PRINT, INPUT and REM) into a reverse
polish notation format that will be used for fast execution of the BASIC
program.
make translation of commands simpler to implement. The LET, PRINT,
INPUT and REM commands have been implemented so far along with multiple
statements per line (separated by colons). The old translator routines
have been left in place until the new routines fully support the same
features, which has now been accomplished. include the translation of
BASIC expressions The translator translates BASIC commands into a
reverse polish notation format that will allow fast execution of the
BASIC program.

A basic GUI has been implemented including file, edit and help menus
with basic operation menu items, the tool bar with several file and edit
Expand Down
5 changes: 3 additions & 2 deletions ibcp.h
Expand Up @@ -68,17 +68,18 @@ enum DataType


// sub-code flags for use in Token and internal program
// FIXME remove (*) with old translator
enum SubCode
{
None_SubCode = 0x00000000, // no sub-code present
Paren_SubCode = 0x00000001, // reproduce unnecessary parenthesis
Let_SubCode = 0x00000002, // reproduce LET keyword for assign
Keep_SubCode = 0x00000004, // keep cursor on same line of input
SemiColon_SubCode = 0x00000008, // semicolon after print function
SemiColon_SubCode = 0x00000008, // semicolon after print function (*)
Question_SubCode = 0x00000010, // add "? " to input prompt
Used_SubCode = 0x00000020, // parentheses used in output
Last_SubCode = 0x00000040, // parentheses used as last token
End_SubCode = 0x00000080, // end of INPUT parsing codes
End_SubCode = 0x00000080, // end of INPUT parsing codes (*)
Colon_SubCode = 0x00000100, // reproduce ":" after token
UnUsed_SubCode = 0x10000000 // token not in output (for errors)
};
Expand Down
22 changes: 22 additions & 0 deletions rel_notes.txt
Expand Up @@ -38,6 +38,28 @@ Planned Roadmap (updated 2013-04-05):
To be defined...


Release 0.4.5 (2013-08-23)

Project developmental release - implementation of the new
translator scheme has been completed with the translation
of a REM and REM operator (') along with support for multiple
statements per line separated by colons (:). This will be the
last version to contain the old translator routines.

- new multiple statement translator test (#16)

Note: All tests succeed when using the old translator except new
test #16 (the old translator does not support multiple
statements per line). Since some of the expected results are
different (due to the change in translations), the unmodified
expected results files are saved and the test scripts use these
when present. There are temporary scripts for testing the new
translator routines. All tests work correctly with the new
translator routines. The regtestn.bat batch does not currently
work very well as the old translator expected results files
confuse it.


Release 0.4.4 (2013-08-18)

Project developmental release - implementation of the new
Expand Down
2 changes: 1 addition & 1 deletion table.h
Expand Up @@ -41,7 +41,7 @@ enum TableFlag
SubStr_Flag = 0x00000004, // code supports sub-string assignments
Hidden_Flag = 0x00000008, // code is hidden operator/function
Print_Flag = 0x00000010, // print-only function
EndExpr_Flag = 0x00000040, // end expression
EndExpr_Flag = 0x00000040, // end expression FIXME remove
EndStmt_Flag = 0x00000080 // end statement
};

Expand Down
4 changes: 2 additions & 2 deletions translator.h
Expand Up @@ -259,7 +259,7 @@ class Translator
}

public:
// token handler friend function definitions section
// token handler friend function definitions section FIXME remove
friend TokenStatus Operator_Handler(Translator &t, Token *&token);
friend TokenStatus Equal_Handler(Translator &t, Token *&token);
friend TokenStatus Comma_Handler(Translator &t, Token *&token);
Expand All @@ -268,7 +268,7 @@ class Translator
friend TokenStatus SemiColon_Handler(Translator &t, Token *&token);
friend TokenStatus RemOp_Handler(Translator &t, Token *&token);

// command handler friend function definitions section
// command handler friend function definitions section FIXME remove
friend TokenStatus Assign_CmdHandler(Translator &t, CmdItem *cmdItem,
Token *token);
friend TokenStatus Print_CmdHandler(Translator &t, CmdItem *cmdItem,
Expand Down

0 comments on commit 51ef634

Please sign in to comment.