HyScript

HyScript Used AI

9 devlogs
12h 7m
•  Ship certified
Created by Tobias

HyScript is a programming language that uses hypertext-like tags (similar to HTML) for defining functions and processes. It is designed for clear process flow, variable management, and error handling.

Timeline

Ship 1

1 payout of shell 252.0 shells

Tobias

28 days ago

Tobias Covers 9 devlogs and 12h 7m

Readme updated

Update attachment

I've completed the documentation for using Esolang with pre-selected playground examples to illustrate its use.
I've used AI tools to help me translate and format the project's Markdown file.

Update attachment

I designed my playground with two main sections: code and output. The code is written in a text area that logs changes and is passed to the compiler when the run button is pressed to display the output with logs and errors in different colors, if any.

Update attachment

Now I have a way to communicate errors and continue with execution program (orange color), if it's not catched, the user get error text (red color)

Update attachment

Now the language allows calls to subprocesses that are declared with tags similar to xml and return a value that can be assigned to a specific variable.

Update attachment

Rn I can assign vars values, make operations (+, -, *, /) and log values

Update attachment

After struggling a bit with registering variables and their values, I decided to save them in JavaScript objects. The compiler checks the syntax of the Main function, evaluates its lines of code, and proceeds to perform operations and assignments of type: (a = 2), or operations like (a = 3 + 5).

Update attachment

I was going to try using regular expressions, but in the end I considered implementing the parser functions myself using array and string methods to do syntax validations.

Update attachment

I've defined the basic structure of my Esolang and what a program in this language should look like.
The scope of functions and the main process will be separated into tags like those in HTML, and the attributes will define inputs, outputs, and auxiliary variables used in the process.

Update attachment