<commit_before>The Mellow Programming Language
===============================

[![Build Status](https://travis-ci.org/Mellow-Programming-Language/Mellow.svg?branch=master)](https://travis-ci.org/Mellow-Programming-Language/Mellow)

Mellow is an imperative language that draws influence from D, Go, and functional
languages, among others. This implementation exclusively targets x86-64 Linux.

Building
--------

The build process assumes that the D Language compiler `dmd`, `gcc`, `git`, and
the Netwide Assembler `nasm` are installed.

To build the compiler, run `make` in the toplevel project directory. With the
proper dependencies installed, and an internet connection, a simple `make`
should build the full compiler. Note that the `make` process will attempt to
`git clone` a secondary repository (the parser generator project at
https://github.com/CollinReeser/ParserGenerator), which is necessary to build
the compiler.

Help
----

`./compiler --help` will provide a summary of options.

Examples
--------

The programs under examples/ demonstrate the syntax and semantics of the Mellow
language.

List of working features:
------------------------------------

  * variables
  * functions
  * function arguments
  * function return values (including multiple-return)
  * `if`, `else if`, `else` statements with optional variable declarations
  * `while` loops with optional variable declarations
  * `foreach` loops with optional index variable
  * strings
  * bools
  * integers
  * floats can be declared
  * array literals
  * array slice ranges
  * array append semantics
  * green threads (`spawn`, `yield`)
  * channels (both read and write, with implicit yield)<commit_msg>Update README to point to Mellow Organization Parser Generator<commit_after>The Mellow Programming Language
===============================

[![Build Status](https://travis-ci.org/Mellow-Programming-Language/Mellow.svg?branch=master)](https://travis-ci.org/Mellow-Programming-Language/Mellow)

Mellow is an imperative language that draws influence from D, Go, and functional
languages, among others. This implementation exclusively targets x86-64 Linux.

Building
--------

The build process assumes that the D Language compiler `dmd`, `gcc`, `git`, and
the Netwide Assembler `nasm` are installed.

To build the compiler, run `make` in the toplevel project directory. With the
proper dependencies installed, and an internet connection, a simple `make`
should build the full compiler. Note that the `make` process will attempt to
`git clone` a secondary repository (the parser generator project at
https://github.com/Mellow-Programming-Language/ParserGenerator), which is
necessary to build the compiler.

Help
----

`./compiler --help` will provide a summary of options.

Examples
--------

The programs under examples/ demonstrate the syntax and semantics of the Mellow
language.

List of working features:
------------------------------------

  * variables
  * functions
  * function arguments
  * function return values (including multiple-return)
  * `if`, `else if`, `else` statements with optional variable declarations
  * `while` loops with optional variable declarations
  * `foreach` loops with optional index variable
  * strings
  * bools
  * integers
  * floats can be declared
  * array literals
  * array slice ranges
  * array append semantics
  * green threads (`spawn`, `yield`)
  * channels (both read and write, with implicit yield)
{'fraction_non_alphanumeric': 0.12376525276002324, 'fraction_numerical': 0.002324230098779779, 'mean_word_length': 3.953956834532374, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '846854', 'n_tokens_mistral': 895, 'n_tokens_neox': 855, 'n_words': 379}