====== === SlideScript ====== A simple, user friendly scripting language for the average person. SS is meant to be simple, and work as its documented as. SlideScript is a bin tool to say the least and is a helpful *nix userland tool in the CLI ----- Compiling ----- * Compile SS using the make command. * Install SS using make install. * Modify test.ss to learn the basics of SS. * Run ./test.ss to execute the script. ***NOTE: if compiling on OSX/BSD, please uncomment #define BSD in src/config.h*** ----- Documentation ----- Here is a list of functions and features that SlideScript comes with at this moment! * Commenting! Examples: * `# Comment is real in this one` * Read and writing to flat files. Examples: * `write "file.txt" "This will be written to file.txt"` * `read "file.txt"` * Basic math expressions * `calc "45 / 5"` or `calc "255.3 * 442.77"` * Of course addition and subtraction as well! * Delete example: * `delete "file.txt"` * Execute example: * `exec "ls -al"` * Print example: * `print "Hi everyone!"` * Sleep (Zzz) example (sleeps for 2 seconds): * `sleep 2` * Variable setting and passing * `filename=file.txt` -> filename * `filedata=File '%filename%' is being moved to moo` -> %filename% is populated as file.txt * `write "%filename%" "%filedata%"` -> writes filedata contents to file.txt as expected. * Decoding and encoding strings * `encrypt "Regular string"` -> Converts to encrypted string 'Uhjvqds#xuulqj' * `decrypt "Uhjvqds#xuulqj"` -> Converts back to 'Regular string' * MD5 file checking * `md5 "file.txt"` -> outputs filename and md5 hash * Layered piping * `md5 "file.txt" | encrypt "%PIPE" | write "file.txt.md5.enc" "%PIPE%"` -> writes output of md5 to file.txt.md5 * Networking functions * `netlisten "<port>" "<search>" "<respond>"` -> listens on <port> and replies <respond> on <search> found from outside * `nettoss "<address>" "<port>" "<data>"` -> binds to outside server at <address>:<port> and pushes <data> thus, disconnecting * `nethttp "<port>" "<forkval>"` -> throws up a web server on <port> in the current working directory, forkval (0 or 1, 0 don't fork into background / 1 do). This will change rapidly as of currently, slidescript is in beavy development! To get the feel of the scripting, the best bet is to take a look at some of the slidescript examples in 'examples/' functions.ss -> displays most basic functions net-http.ss -> displays built in http web server net-listen.ss -> displays slidescript's raw listen socket net-toss.ss -> displays the 'client side' networking function. ----- Todo list ----- This section will obviously expand and adapt to the direction of the language. This is going to change rapidly. * Add in-script functions * Add script including * Loops, and if statements * More networking function flexibility * File pull / file push functionality ----- Done ----- List of finished features, in a rough summary. * Simple syntax checking and error reporting * Up to 32 layer function piping * Support for linux system calls * Network listen socket, toss function * Builtin HTTP server for disposeable use, can be ran in the foreground or forked into the background * Read and write from file * Some simple functions * Shebang handling * Variable support ----- Changelog ----- Changes between version bumps in SlideScript. Hoping to have a lightweight top-down scripting language by V1.0.0 release! From there it will be molding and preserving the art. * V0.4.0 * Added calc function for floating math equations * Cleaned up some more syntax handling, as well as bugs * Added structured and savable multi-layer piping up to 32 functions deep * V0.3.3 * Added first networking functions: netlisten, nettoss, nethttp. * Embedded web server functionality * Cleaned up code * Improved syntax handling on functions * V0.3.0 * Added simple 2 layer function piping for more useful tasks * Fixed a couple core dump bugs * Now reads files into memory, and then forces text files through SS, allows for in file variables * Added "md5" functionality * Multi-formal working syntax * V0.2.1 * Added "decrypt" decode function * Added "encrypt" encode function * Added system "exec" function * Added basic syntax handling, for a more uniform language * V0.2.0 * Added "delete" function * Added embedded variable handling to SS functions (variables can be used like everywhere!) * Added linux system calls via exec * Some cleaning up. * V0.1.1 * Added variable handling with a buffer size of 2KB per variable, and cap of 2048 variables. * Now operates under the shebang! ----- Contributions ----- Robert (OldCoder) Kiraly -> shebang support and string manipulations (C) Copyright 2014-2021 Chris Dorman, some rights reserved (GPLv2)
Description
Languages
C
87.5%
HTML
11.1%
CSS
1.1%
Makefile
0.3%