Skip to content

Commit 3dae721

Browse files
author
CryptosByte
committed
first commit
0 parents  commit 3dae721

File tree

12 files changed

+4009
-0
lines changed

12 files changed

+4009
-0
lines changed

README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# SolidScript Programming Language
2+
3+
SolidScript is a simplistic programming language, based on Python2 syntax. This is repository contains the source code of the **tokeniser**, **executor**, **interpreter** and the **file reader**.
4+
5+
## Executor
6+
The executor calls in all of the files/functions to run the parts of code that interprets the code and runs it, tokenises the lines, etc.
7+
8+
## Tokeniser/Tokenizer
9+
The tokeniser converts each line of the `.solid` file into arrays and then calls the interpreter to split each of the lines into arrays; similar to splitting paragraphs to sentences to words and then characters.
10+
Once one line is split, the interpreter is then called.
11+
12+
## Interpreter
13+
The interpreter is essentially the core part of SolidScript. Once the tokeniser does it's thing, the interpreter requires all of those "words" into arguments as an array and is then read.
14+
15+
For example, this could be one line:
16+
```s
17+
println "SolidScript Is Awesome!"
18+
```
19+
..and then it's split by spaces.
20+
```json
21+
[ "println", "\"SolidScript Is Awesome!\"" ]
22+
```
23+
Once it's split, the interpreter checks the first index of the array (0), which is "println". The code checks if that is part of the language, if so then execute what it's supposed to do.
24+
However the interpreter has a problem, it has a second index of the array (`\"SolidScript Is Awesome!\"`) so what should it do with it? It removes the first and last quotes (by confirming if the first and last char are equal quotes) and is then written to the output, which the console/terminal.
25+
26+
### INSTALLATION GUIDE IS COMING SOON!
27+
### SOLIDSCRIPT IS WORK IN PROGRESS!
28+
### NEXT UPDATE WILL BE COOL AS HECK!

0 commit comments

Comments
 (0)