Skip to content

Commit

Permalink
updated files for version 0.5.0
Browse files Browse the repository at this point in the history
also added some comments for future work in encoder source file
  • Loading branch information
thunder422 committed Sep 8, 2013
1 parent c84fbfa commit 6ed93f8
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 9 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Expand Up @@ -56,8 +56,8 @@ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
set(ibcp_COPYRIGHT_YEAR 2013)

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

set(ibcp_RELEASE_STRING v${ibcp_RELEASE_MAJOR}.${ibcp_RELEASE_MINOR})
if (ibcp_RELEASE_PATCH LESS 0)
Expand Down
20 changes: 13 additions & 7 deletions README
Expand Up @@ -34,8 +34,9 @@ converts text input into BASIC language tokens.
The translator is currently being developed. The LET, PRINT, INPUT and
REM commands have been implemented so far along with multiple statements
per line (separated by colons) and 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.
The translator converts tokens from the parser into reverse polish
notation, which will allow internal program code to be created in a
format 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 All @@ -55,6 +56,11 @@ now includes the current line number and column). There are actions
(via menu, tool bar and key shortcuts) for moving the cursor to the next
or previous error.

The encoder development has been started. The encoder converts the
reverse polish notation tokens into the internal program code that will
be executed when the program is run. The first phase of the encoder has
been completed, which prepares the tokens for encoding.


Building The Program
--------------------
Expand Down Expand Up @@ -94,7 +100,7 @@ Because the Qt libraries produce various memory errors, an error
suppression file was created to suppress these errors. This suppression
file, ibcp.supp, is configured for a specific version of Qt, which is
the default version (4.8.2) installed in Linux Mint 13 KDE with the
kubuntu backports that upgrade KDE to 4.11.0. When building the
kubuntu backports that upgrade KDE to 4.11.1. When building the
application from the source, the ibcp.supp file is configured for the
version of Qt installed. However, if running from the binary archive,
the ibcp.supp file needs to be modified for the version of the Qt
Expand All @@ -118,10 +124,10 @@ from the parser are the resulting tokens. The output from the
translator are the resulting reverse polish notation format of the
tokens. The program is run interactively with this command:

ibcp -tp|-te|-tt
ibcp -tp|-te|-tt|-tc

The first 't' character represents 'test' mode and the second stands for
parser, expression and translator.
parser, expression, translator and encoder.


Running In Batch
Expand All @@ -132,5 +138,5 @@ translator. The program is run in batch with this command:

ibcp -t <file>

The beginning of the name of the file (parser, expression, or
translator) determines how the file will be processed.
The beginning of the name of the file (parser, expression, translator
or encoder) determines how the file will be processed.
5 changes: 5 additions & 0 deletions encoder.cpp
Expand Up @@ -80,6 +80,11 @@ int Encoder::prepareTokens(void)
case IntFuncN_TokenType:
case IntFuncP_TokenType:
break; // these token types already have a code
// TODO for arrays, check for integer subscripts, add CvtInt
// TODO for double subscripts, report error for strings
// TODO for functions, check arguments for data types, add CvtDbl
// TODO or CvtInt as needed, report erros for wrong types
// TODO and check number of arguments
default:
m_input->setError(token);
m_input->setErrorMessage(token->message(BUG_NotYetImplemented));
Expand Down
17 changes: 17 additions & 0 deletions rel_notes.txt
Expand Up @@ -37,6 +37,23 @@ Planned Roadmap (updated 2013-04-05):
To be defined...


Release 0.5.0 (2013-09-07)

Project developmental release - implementation of the encoder
has been start; the first phase has been completed where the
RPN list of tokens from the translator are prepared for
encoding.

- array reference subscript handling in translator corrected
- eliminated hidden conversion codes after numeric constants
- RPN items now contain index position within output list
- translator corrected to allow for blank lines
- encoder assigns tokens codes for types with no code
- encoder assigns tokens index position within program line
- encoder only supports variables and constants
- support added for encoder testing with an initial test


Release 0.4.6 (2013-08-25)

Project developmental release - implementation of the new
Expand Down

0 comments on commit 6ed93f8

Please sign in to comment.