<commit_before># Delta Scripting Language

Visit [the Wiki](https://github.com/rcrmn/delta-script/wiki) for syntax and language information.


## Compiling

To compile, you need [CMake](http://www.cmake.org/) and [Flex](http://flex.sourceforge.net/)

Only tested under mac. Should work under linux. No promises under windows. For [windows Flex try here](http://gnuwin32.sourceforge.net/packages/flex.htm).

Theoretically the Flex library is not needed in the system to build if the lexer c file is already provided.

To only create the lexer engine c file, run:
```
$ cd /path/to/the/root/dir
$ cmake .
$ make lexerc
```

Now, to compile, run:
```
$ cd /path/to/the/root/dir
$ cmake .
$ make
```

This should create an executable named `delta` in the same directory.


In the future the ability to create static and dynamic libraries (and dlls) will be added, but for now only the executable-product compilation works.


## TODO

 * Create the parser/semantic analyzer 
([Bison](http://www.gnu.org/software/bison/) / [Berkeley Yacc](http://invisible-island.net/byacc/byacc.html) ?).

 * Create the optimizer. This will be, at first, skipped over.

 * Define a bytecode for the compiled executable.

 * Create the code generator.

 * Create the virtual machine.
<commit_msg>Todos updated. The first thing to do is to finish the syntax definition and the lexer.<commit_after># Delta Scripting Language

Visit [the Wiki](https://github.com/rcrmn/delta-script/wiki) for syntax and language information.


## Compiling

To compile, you need [CMake](http://www.cmake.org/) and [Flex](http://flex.sourceforge.net/)

Only tested under mac. Should work under linux. No promises under windows. For [windows Flex try here](http://gnuwin32.sourceforge.net/packages/flex.htm).

Theoretically the Flex library is not needed in the system to build if the lexer c file is already provided.

To create only the lexer engine c file, run:
```
$ cd /path/to/the/root/dir
$ cmake .
$ make lexerc
```

Now, to compile, run:
```
$ cd /path/to/the/root/dir
$ cmake .
$ make
```

This should create an executable named `delta` in the same directory.


In the future the ability to create static and dynamic libraries (and dlls) will be added, but for now only the executable-product compilation works.


## TODO

 * Finish the language syntax definition.

 * Finnish the lexer.

 * Create the parser/semantic analyzer 
([Bison](http://www.gnu.org/software/bison/) / [Berkeley Yacc](http://invisible-island.net/byacc/byacc.html) ?).

 * Create the optimizer. This will be, at first, skipped over.

 * Define a bytecode for the compiled executable.

 * Create the code generator.

 * Create the virtual machine.

{'fraction_non_alphanumeric': 0.10949720670391061, 'fraction_numerical': 0.0014897579143389199, 'mean_word_length': 3.8659420289855073, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, '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': '6375846', 'n_tokens_mistral': 851, 'n_tokens_neox': 783, 'n_words': 317}