Miria Code Editor
This is a little project that was made to practice the concepts of Vue and the concepts of grammars, especifically, the context free grammars for creating a new programming language called Miria.
Features
The main view consist of a text area and a div that mimics a console in which the ouput of the code will appear. Miria is still a very young language and thus only supports the following:
Declaration and assignment of variables
If statements
For, while and do-while statements
These specs a thoroughly explained in miria documentation here. The classic hello world program in Miria would be as follows:
define main as fun() -> void {
log(“Hello world”)
}
Miria also recognizes errors related to data types, using variables that are not defined and ilegal operations.
Known bugs
Miria does not recognize scopes, thus when creating a variable inside any loop, miria will complain arguing that the variable already exist
Future improvements
Add break like statements
Fix the bug related to scopes
Add the ability to create arrays
Add the ability to create functions
Technologies used
Nearley was used to generate the parser for miria. The miria.ne file, which contains miria’s grammar, can be found in the src/grammar/parser directory
Codemirror was used as the text editor
Huge thanks to @fireship-io for their tutorial on a css-only side navigation bar that ultimately defined the layout of the app.