From 081876e6623be88fce8972f02b18cca179687957 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Sun, 9 Apr 2023 04:43:18 -0700 Subject: [PATCH] Minor fixes in 1990/dds/README.md Format fixes in README.md including making unordered lists to make the rendered content easier to read and follow. I've also become aware of a problem with the way the author formatting was done in recent days in the README.md files that now have to all be fixed: there needs to be spaces after each line or else the author information will be one line which is definitely wrong. I think the only one I got this right is, ironically or not :-), my own entries, namely because I wanted to make sure that they looked okay (I did 'make sure' that some of the others did too but that was to changes that I was unsure of .. ironically leaving out one I should have known but probably just forgot). Thus many pull requests will be made unless I do it in a mass fix which I suppose is possible to save time. --- 1990/dds/README.md | 130 ++++++++++++++++++++++++--------------------- 1 file changed, 70 insertions(+), 60 deletions(-) diff --git a/1990/dds/README.md b/1990/dds/README.md index 3fbe8b5a5..02dc02511 100644 --- a/1990/dds/README.md +++ b/1990/dds/README.md @@ -1,10 +1,10 @@ # Best Language Tool - Diomidis Spinellis - Imperial College, University of London - Myrsinis 1 - GR-145 62 Kifissia - Greece +Diomidis Spinellis +Imperial College, University of London +Myrsinis 1 +GR-145 62 Kifissia +Greece ## To build: @@ -16,26 +16,28 @@ you Yusuke! [Cody Boone Ferguson](/winners.html#Cody_Boone_Ferguson) removed the erroneous prototype to `fopen()` and made this use `fgets()` instead of `gets()` to make -it safer and to prevent a potentially alarming warning at linking or runtime. -Thank you Cody for your assistance! +it safer and to prevent a potentially alarming warning at compiling and/or +linking and/or runtime. Thank you Cody for your assistance! ## To run - ./dds - +```sh +./dds +``` ## Try: Give the following lines as input: - - OLD LANDER.BAS - RUN + +``` +OLD LANDER.BAS +RUN +``` NOTE: this is case sensitive. ## Judges' comments: - Be sure not to run out of fuel! @@ -43,40 +45,53 @@ Be sure not to run out of fuel! This is the DDS-BASIC Interpreter (Version 1.00). -Immediate commands: +### Immediate commands: - RUN LIST NEW OLD filename - BYE SAVE filename +- RUN +- LIST +- NEW +- OLD filename +- BYE +- SAVE filename -Program commands: +### Program commands: - variable names a to z variables initialized to 0 on RUN - FOR var = exp TO exp NEXT variable - GOSUB exp RETURN - GOTO exp IF exp THEN exp - INPUT variable PRINT string - PRINT exp var = exp - REM any text END +- variable names a to z +- variables initialized to 0 on RUN +- FOR var = exp TO exp +- NEXT variable +- GOSUB exp +- RETURN +- GOTO exp +- IF exp THEN exp +- INPUT variable +- PRINT string +- PRINT exp +- var = exp +- REM any text +- END -Expressions (ranked by precedence): +### Expressions (ranked by precedence): - Bracketed expressions - number (leading 0 for octal, 0x for hex, else decimal), variable - Unary - - * / - + - - = <> - > < - <= >= - (* and + are also used for boolean AND and boolean OR) - Boolean expressions evaluate to 0 for false and 1 for true +- Bracketed expressions +- number (leading 0 for octal, 0x for hex, else decimal), variable +- Unary - +- `*` `/` +- `+` `-` +- `=` `<>` +- `>` `<` +- `<=` `>=` -Editing: +(`*` and `+` are also used for boolean AND and boolean OR) + +Boolean expressions evaluate to 0 for false and 1 for true. + +### Editing: - Line editor using line re-entry. - A line number with nothing following it, deletes the line. -Input format: +### Input format: - Free format positioning of tokens on the line. - No space is allowed before the line number. @@ -85,38 +100,33 @@ Input format: - ALL INPUT MUST BE UPPERCASE. -Limits: +### Limits: - Line numbers 1-10000 - Line length 999 characters - FOR nesting 26 - GOSUB 999 levels - Program Dynamically allocated - Expressions -32768 - 32767 for 16 bit machines, - -2147483648 - 2147483647 for 32 bit machines - -Error checking / error reports: +- Line numbers 1-10000 +- Line length 999 characters +- FOR nesting 26 +- GOSUB 999 levels +- Program Dynamically allocated +- Expressions -32768 - 32767 for 16 bit machines, -2147483648 - 2147483647 for 32 bit machines +### Error checking / error reports: No error checking is performed. It might dump core if a syntax or semantic error is encountered. +### Hosting Environment: -Hosting Environment: +ANSI C, traditional K&R C or OSF ANDF ASCII or EBCIDIC character set 48K bytes +memory. - ANSI C, traditional K&R C or OSF ANDF - ASCII or EBCIDIC character set - 48K bytes memory +The Speed of DDS-BASIC Interpreter (Version 1.00) relative to Microsoft Advanced +BASIC 3.31 is approximately 60%. -The Speed of DDS-BASIC Interpreter (Version 1.00). relative to -Microsoft Advanced BASIC 3.31 is Approximately 60%. - -The code size could be further reduced by doing ugly things like -not declaring the return type of functions, not freeing memory, -#defining define, and joining lines. In its present 1536 character -form the program is reasonably portable (it may fail to run in a -tagged object architecture) and nicely formatted (it fits in an -80*25 screen). +The code size could be further reduced by doing ugly things like not declaring +the return type of functions, not freeing memory, #defining define, and joining +lines. In its present 1536 character form the program is reasonably portable +(it may fail to run in a tagged object architecture) and nicely formatted (it +fits in an `80*25` screen). ## Copyright and CC BY-SA 4.0 License: