Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New and improved SICK project
#1
This file is:

Code: (Select All)
The Symbolic Instruction Code Kit, which contains a QB64 program named SIC64.BAS
and several smaller utility programs. The source code is public domain.

This program uses a recursive descent parser to interpret a psuedo-basic language
written in a line oriented fashion and can be used for small programming chores.

The archive also contains some further imbedded .zip files which contain several
QB64 sample programs, and some .SIC programs which are used by the SIC engine.
Thank you,
 Erik Jon Oredson
You may contact me at my email: 
 eoredson@gmail.com

Version list:

Code: (Select All)
SIC64 version list release notes PD 2025.

Version v64.0a r1.0a:
  First release of SIC64 for QB64.
    SIC64.BAS is interpreted by QB64.
Version v64.0a r2.0a:
  Fixes share violation in ListFiles.
  Adds /n to command line.
  Files Analyze.bas, Indent.bas, and Renumber.bas are now compatible with:
    QB64, VB v1.00 Pro, BC7 (PDS 7.10), and QB45. And must access SIC.INC.
  Adds samples.zip for QB64 containing:
    SUFFIX2.BAS  --  Calculates large numbers.
    PERFECT.BAS  --  Calculates large perfect numbers.
    SHELL.BAS    --  Sorts large numeric arrays.
    FILESIZE.BAS --  Calculates large NTFS filesizes.
Version v64.0a r3.0a:
  Edit TitleHeader in ListFiles.
  Edit Vlabel in ListDrives.
  Add Version command.
  Add some DriveExists for Vlabel in .sic programs.
  Add Const MaxViolations to error routine.
  Fixes error with X1, Y1 being omitted in LINE and CIRCLE statements.
Version v64.0a r4.0a:
  Removes Chkdsk from ListDrives.
  Add DriveExists to ListDrives.
Version v64.0a r4.1a:
  Rewrote SicHelp.bas.
  Edited Sic.inc.
Version v64.0a r4.2a:
  Changed DIR to VOL in Vlabel and Vserial.
  Fixes EOF error in TotalSpace.
  Cleans up TotalSpace and FreeSpace.
  Adds _LIMIT and _TITLE to code.
  Adds TRIANGLE statement.
  Checks LastLine in utilities.
Version v64.0a r4.3a:
  Fixes restoring screen after graphics calls.
  Adds POLYGON statement.
  Modifies SLICE$ function.
Version v64.0a r4.4a:
  Adds 'feature unavailable' error for calls with LINUX/MACOS.
  Adds AUTOINDENT command for editing programs.
  Removed references to MS-DOS.
  Modifies OS$ usage.
Version v64.0a r5.8a:
  Fixes total bytes in ListFiles.
  Adds bytes copied in StatusLine when loading file.
  Adds Dot.Display when reading/writing files in Sub ScrnEdit.
  Adds Timer to Sub Edit.Status.Line in Sub Scrnedit.
  Removes _unsigned from all file handle variables.
  Fixes Control-R search/replace display in Sub Scrnedit.
  Fixes Function DisplayWinError$ with ErrorBuffer$ as ASCIIZ.
Version v64.0a r5.9a:
  Fixes Analyze.bas, Indent.bas, Renumber.bas
  Renames Syntax2.doc to Syntax.doc
  Stores/restores read-only bit in output file in Sub Scrnedit.
  Replaces all Common Shared with Dim Shared in sic.inc
Version v64.0a r5.9a (09/30/2022):
  Adds quotes in filename for load/save.
  Adds Linux compatible in scrnedit.
  Adds load filename in Scrnedit to program array.
Version v64.0a r5.9a (10/30/2022)
  Adds (Z)extended display to Directories/Filenames in Menu3.
  Adds $Z drive serial number macro to SetPrompts.
  Renamed sic.inc to sic16.inc to avoid old filename collision.
Version v64.0a r6.0a:
  Adds multiple file numbers to closefile.
  Adds debug commands to program run array.
  Adds screen saver timer trap and settings.
  Make sure all Inkey$ modified to InkeyX$ to trap Keypress for screen saver.
Version v64.0a r6.1a:
  Adds dialog.inc file for reading filename.
  Edits call GetOpenFilename for reading filename in Call ScrnEdit.
Version v64.0a r6.2a:
  Adds range of files to close in CloseFile.
  Adds MakeBeep to File# breaks.
  Fixes Rem $Debug: spacing.
  Adds file trap to lock/unlock.
  Adds file record trap to debug.
    Affects Sub Get/Put and Sub Lock/Unlock.
Version v64.0a r6.3a:
  Adds TO keyword to lock/unlock.
  Fixes spacing in Sub ReadProgram.
Version v64.0a r6.4a:
  Fixes print after keyboardline input.
  Adds more dialog box function calls.
  Removes Cls in dialog box call.
Version v64.0a r6.5a:
  Modifies titlebar icon.
  Adds multiple $Debug statements when separated by colons.
Version v64.0a r6.6a:
  Removes call to GetConfigFilename$ in Sub ReadConfig and Sub WriteConfig.
  Removes CreateFile And CreateFileA in library function declarations.
  Writes Sub CreateFileA to test file, create file, and append file.
Version v64.0a r6.7a:
  Fixes problem when started from netpath/cdrom.
  Adds C:\ and \\server\share\ to main input loop.
  Adds CD/MD/RD directory access commands.
  Fixes problem using directory path in ReadConfig.
Version v64.0a r6.8a:
  Adds CD... to main menu.
  Fixes multipaths to CD/MD/RD.
  Also detects removing drive in RD.
  Adds realtime clock to KeyboardLine2$
Version v64.0a r7.1a:
  Fixes display line length in input in KeyboardLine2$
    When entered Tab/Insert/Enter char.
    Adds KeyboardTimer to toggle realtime display prompt.
    Adds KeyboardTimer in config file.
  Adds Width command to main menu.
    Also adds screen width 40 to ScrnEdit/Dirs/Files/Drives.
    Now sets TabStop constant to 8.
Version v64.0a r7.2a:
    Fixes MediaExists in Sub FreeSpace and TotalSpace.
    Improves drive list in Volume in Sub Menu.
    Adds [Z]Destroy drive to Volume to Sub Menu.
    Fixes ListBreakTime in Sub DebugCommand.
    Fixes error trap in Debug and Whatis.
    Adds multiple spec to files and dirs list.
Version v64.0a r7.3a:
  Now traps control characters in Sprint.
  Moves _ControlChr off to top of main program.
  Adds Const.inc and Color.inc include files.
  Adds Library.inc to include library declarations.
Version v64.0a r7.4a:
  Adds ctrl-l to insert file and ctrl-k to append file in sub scrnedit.
  Fixes insert to sub scrnedit.
Version v64.0a r7.5a:
  Replaces LoadIcon with Icon2BMP.
  Replaces Name AS with MoveFile.
  Replaces Kill with DeleteFile.
  Replaces MkDir with CreateDirectory.
  Adds $VersionInfo to Library.inc
  Adds screen values to Width function.
  Adjusts SicHelp.bas for screen display and statusline.
  Adds SearchFiles, ScrnEdit2, and ValidFileChar.
    Also adds PercentDisplay, Dot.Display2, and Back.Space.
  Adds Set Toggle <value>, Set Alarms <value>, Set Memmenu <value>.
  Modifies some file variables hfind and finddata.
  Now gets print using in Format$ to call XprintExpression.
  Nasty error:
    Fixes deleting source file upon exit instead of temp file.
    Also removes temp file in Renumber correctly.
Version v64.0a r7.6a:
  Replaces all _limit and Inkey$ with custom Inkeyx$
  Removes ascii 29 backspace in Dot.Display in ScrnEdit2.
    Replaces with call to BackSpace.
  Adds More and Type command to display contents of a file.
    Works with binary file i/o and traps Control-Break.
  Modifies ScrnEdit and ScrnEdit2 with Linux binary read/write buffer.
    Avoids binary overrun skipping last line at eof.
    Adds AvoidLINUX setting to skip Linux read/write.
  Wrote Sub InitConfig to reset and overwrite Sick?.cfg file.
  Adds Toggle Menu function to toggle default settings.
  Adds Prompt command to start SetPrompts menu.
  Edits and adds Sub Dot.Display in Scrnedit and Scrnedit2.
  Removes unused Dot.Display2 and Back.Space functions.
  Adds <clock>/<date>/<time>/Date$/Time$ to ListHelpFile macros.
Version v64.0a r7.7a:
  Edits Whatis error trap flag.
  Adds Color Red to DisplayError.
  Adds static Displayed to StartMenu.
  Adds Sub MorePromptType for Sub TypeFile.
  Now sets single reported in _Sndlen to 2 decimals.
  Enables support for Midi files.
    Adds Sub VerifyPlay function to check sound filename extension.
  Increments node command line to A to F.
Version v64.0a r7.8a:
  Adds Play Pause and Play Resume to toggle playmode.
  New SearchFiles functions:
    Adds Sub VerifyFile to check system file.
    Adds Sub VerifyFile2 to check library file.
    Adds Sub VerifyFile3 to check source file.
    Adds Sub VerifyFile4 to check document file.
    Adds Sub VerifyFile5 to check compressed file.
      And Ctrl-P pause/resume soundfile.
      And Ctrl-Q set soundfile plsu 10 seconds.
      And Ctrl-R set soundfile minus 10 seconds.
  Moves author info from statements array to authorstatus array.
  Adds some Triple variable assignment operators, such as:
      !!=, &&=, ||=, ++=, --=, **=, //=, \\=, ^^=, <<=, >>=
Version v64.0a r7.9a:
  Adds ValidDate2/ValidTime2 to check setting Date$/Time$
Version v64.0a r8.0a:
  Improves opening/closing token (, [, and { in SwapData and Assignment.
  Adds some ; delimiter parsing to , tokens.
  Doubles the number of sound file extensions from 15 to 31.
Version v64.0a r8.1a:
  Detects some QB64 versions to affect Midi sound fonts.
  Adds an array of 8 soundfont file extensions.
  Adds Play Font to load a soundfont file.
  Adds Chron and Chroff to toggle low ascii prints.
  Adds more constants such as CR, LF, and CRLF.
  Detects v4.0.0 version for constants and soundfont.
Version v64.0a r8.2a:
  Adds ubound array element redim increase.
  Adds custom command$ function.
  Fixes Shell "CMD" to drop to DOS.

Attached files:
  SIC87J.ZIP for VBdos (16-bit)
  SICK64G3.ZIP for QB64 (32-bit)

Sic64.bas is;
Now 32,316 lines.

[Image: sic64.png]

Code can be found at:

https://bit.ly/EriksSICK


Attached Files
.zip   SICK64G3.ZIP (Size: 552.38 KB / Downloads: 3)
.zip   SICHELP.ZIP (Size: 63.07 KB / Downloads: 45)
.zip   SIC87J.ZIP (Size: 889.57 KB / Downloads: 61)
Reply


Messages In This Thread
New and improved SICK project - by eoredson - 09-20-2022, 04:44 AM
RE: New and improved SICK project - by mnrvovrfc - 09-24-2022, 02:52 AM
RE: New and improved SICK project - by mnrvovrfc - 09-24-2022, 08:06 PM
RE: New and improved SICK project - by eoredson - 09-27-2022, 06:21 AM
RE: New and improved SICK project - by eoredson - 09-28-2022, 03:11 AM
RE: New and improved SICK project - by mnrvovrfc - 09-28-2022, 04:39 AM
RE: New and improved SICK project - by eoredson - 09-28-2022, 05:03 AM
RE: New and improved SICK project - by mnrvovrfc - 10-06-2022, 11:34 PM
RE: New and improved SICK project - by mnrvovrfc - 09-28-2022, 07:02 PM
RE: New and improved SICK project - by Pete - 09-28-2022, 03:48 PM
RE: New and improved SICK project - by aurel - 09-28-2022, 09:34 PM
RE: New and improved SICK project - by eoredson - 09-29-2022, 04:45 AM
RE: New and improved SICK project - by Pete - 09-28-2022, 09:46 PM
RE: New and improved SICK project - by mnrvovrfc - 09-30-2022, 04:25 PM
RE: New and improved SICK project - by eoredson - 10-01-2022, 02:30 AM
RE: New and improved SICK project - by eoredson - 10-01-2022, 03:58 AM
RE: New and improved SICK project - by mnrvovrfc - 10-04-2022, 02:20 PM
RE: New and improved SICK project - by eoredson - 10-06-2022, 12:44 AM
RE: New and improved SICK project - by mnrvovrfc - 10-06-2022, 05:12 AM
RE: New and improved SICK project - by aurel - 10-06-2022, 07:09 PM
RE: New and improved SICK project - by mnrvovrfc - 10-06-2022, 08:05 PM
RE: New and improved SICK project - by bplus - 10-06-2022, 07:46 PM
RE: New and improved SICK project - by aurel - 10-07-2022, 11:39 AM
RE: New and improved SICK project - by aurel - 10-07-2022, 12:00 PM
RE: New and improved SICK project - by mnrvovrfc - 10-07-2022, 11:41 PM
RE: New and improved SICK project - by mnrvovrfc - 10-12-2022, 05:19 PM
RE: New and improved SICK project - by eoredson - 10-21-2022, 03:15 AM
RE: New and improved SICK project - by mnrvovrfc - 10-21-2022, 07:03 AM
RE: New and improved SICK project - by eoredson - 09-15-2023, 12:17 AM
RE: New and improved SICK project - by eoredson - 03-06-2025, 03:30 AM
RE: New and improved SICK project - by eoredson - 01-05-2025, 05:19 AM
RE: New and improved SICK project - by eoredson - 01-06-2025, 02:00 AM
RE: New and improved SICK project - by eoredson - 02-03-2025, 04:02 AM



Users browsing this thread: 1 Guest(s)