/Neon-V3

Primary LanguageJavaScriptMIT LicenseMIT

๐Ÿ”† Neon Lang ๐ŸŸก

v3.0.1-mod

What is Neon? (โ„น)

Neon is a public and open source language (under the MIT license ยฉ).

๐Ÿ“ฉ Installation ๐Ÿ“‰

To install Neon:

  1. First, run git clone https://github.com/Battledash-2/Neon to clone the source code
  2. Second, create a Javascript file named run.js
  3. In the file, require the lexer, parser and interpreter in /src.
  4. To initiate, use new Interpreter().eval(new Parser(new Lexer('ANY CODE HERE')));

Alternatively:

  1. Clone the source code (like shown above)
  2. Execute node run.js [file you want to run]

๐Ÿ“œ Changelog ๐Ÿ”ง

v3.0.1-mod

  • Added modulus (%) operator.

v3.0.1-env

  • Added more functionality to the getfenv function

v3.0.1

  • Updated to v3.0.1 (from v3.0.0)
  • Added append function to the fs module.
  • Added \t operator for strings.
  • Added FSSpam example which is a performance test.

โš“ Abandoned ๐Ÿšง

(may come back in the future)

  • Proxies (like the Javascript new Proxy(<OBJECT>, <PROXY>)) and the Lua setmetatable(<OBJECT>, <PROXY>))
  • ObjectPrototype.defineProperty (<OBJECT>.defineProperty(<NAME>, <FAKE-ISH PROXY: VALUE>))

๐Ÿ“ƒ Todo ๐Ÿ’น

  • Add support for pointers by v3.0.5

๐Ÿ Finished ๐Ÿ”š

  • Add modulus/remainder operator (%)
  • Add more functionality to the getfenv function.
  • (REVERTED) UPDATED TO DENO!
  • OOP support (still missing extends keyword) (Classes)
  • (...initial) (objects, array, negated sets, if statements, for/while, variables, scopes)

๐Ÿ˜Ž Examples ๐Ÿงช

  • Number interpreter with a lexer and parser (./examples/NumberInterpreter)
  • Mini-language / small lexer & parser-less language (./examples/MiniLang)
  • Lambda functions (./examples/LambdaFunctions)
  • File system spam (./examples/FSSpam)
  • Example of import system (./examples/Imports)