An open API service indexing awesome lists of open source software.

https://github.com/rbaltrusch/cpp-natscript

C++ translation of Natscript interpreter previously implemented in Python.
https://github.com/rbaltrusch/cpp-natscript

cpp custom-interpreted-language custom-language interpreter programming-language programming-languages

Last synced: 3 months ago
JSON representation

C++ translation of Natscript interpreter previously implemented in Python.

Awesome Lists containing this project

README

        

[![License: MIT](https://img.shields.io/badge/License-MIT-purple.svg)](https://opensource.org/licenses/MIT)

# C++ implementation of Natscript Interpreter
C++ translation of Natscript interpreter previously implemented in Python.

Natscript is a custom interpreted language currently under development, which is to be very close to natural English.

## Getting started

To get a copy of this repository, simply open up git bash in an empty folder and use the command:

$ git clone https://github.com/rbaltrusch/cpp_interpreter

To run the interpreter, run src/main.cpp. At the moment, it is configured to only parse in and interpret file contents, rather than an interactive console.

## Documentation

### Available commands

A list of the currently available Natscript commands will be found in the [wiki](https://github.com/rbaltrusch/cpp_interpreter/wiki).

Available functionality includes variables, conditionals, function and lambda definitions, as well as scope and nesting.

### Examples

Examples can be found [here](https://github.com/rbaltrusch/cpp_interpreter/tree/master/examples).

### Tutorials

Tutorials will be written once more commands are supported by Natscript.

## Setup

Written in C++17 using VS Code, g++ v11.2.0.

## Python

The python implementation of this interpreter can be found [here](https://github.com/rbaltrusch/python_interpreter).

## License

This repository is open-source software available under the [MIT license](https://github.com/rbaltrusch/cpp_interpreter/blob/master/LICENSE).

## Contact

Please raise an issue for code changes. To reach out, please send an email to [email protected].