1.0.0 • Published 7 months ago

@pawan-y_the_great_coder/ssc v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

SpaceScript

A simple programming language that loves whitespaces! SpaceScript features straightforward syntax, GUI capabilities through HTML and Electron, and JavaScript interoperability.

Installation for devs

  1. Make sure you have Node.js installed
  2. Install the required dependencies:
    npm install electron
  3. Save the spacescript.js interpreter file

Features

  • Whitespace-friendly syntax
  • Basic conditional statements
  • Function definitions and calls
  • String operations
  • GUI capabilities through HTML rendering with Electron
  • JavaScript integration via extern "JS" blocks

Running a SpaceScript Program

node spacescript.js your-program.ss

Syntax Examples

Basic Printing

println "Hello, World!"

Conditionals

if 10 > 0 {
  println "10 is greater than 0"
}

Functions

function greet ( name ) {
  return println "Hello, " + name + "!"
}

greet "User"

HTML GUI

html ( "<!DOCTYPE html>
<html>
<body>
  <h1>SpaceScript GUI</h1>
  <p>This is rendered using Electron!</p>
</body>
</html>" )

JavaScript Integration

extern "JS" {
  function customFunction() {
    console.log("This is JavaScript code!");
  }
  
  customFunction();
}

How It Works

SpaceScript tokenizes input code while preserving string literals. It respects whitespace as separators between tokens, making the lexer very simple, but handles quoted strings properly so they aren't split by whitespaces within them.

The HTML rendering feature saves HTML content to a temporary file and launches it with Electron, providing GUI capabilities.

The extern "JS" feature allows direct evaluation of JavaScript code, enabling interoperability and extending the language's functionality.