diff --git a/README.md b/README.md index 44357c8..7107a2a 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,32 @@ This language was written as a personal study of how interpreters and compilers ### Objectives This project aims to be an interpreter design reference, therefore it optimizes for code quality and readability over execution speed and expressive power. +### Show me the code! +Here's a basic example of a noja program that implements a bubble sort and uses it to sort a list +``` +L = [3, 2, 1]; + +do { + swapped = false; + + i = 0; + while i < count(L)-1 and not swapped: { + + if L[i+1] < L[i]: { + + swapped = true; + tmp = L[i+1]; + L[i+1] = L[i]; + L[i] = tmp; + } + + i = i + 1; + } +} while swapped; + +print(L, '\n'); # Outputs [1, 2, 3] +``` + ## Supported platforms I wrote it on a linux machine, but there should be very few places where a linux host is assumed, so it should be very easy to port. diff --git a/src/utils/utf8.c b/src/utils/utf8.c index c48f09f..4dbabe1 100644 --- a/src/utils/utf8.c +++ b/src/utils/utf8.c @@ -2,8 +2,8 @@ #include // NULL #include "utf8.h" -// If this is turned on, this library will assume that the -// UTF-8 strings will mainly contain ASCII characters. +// If this is turned on, these functions will assume +// the UTF-8 strings will mainly contain ASCII characters. #define ASSUME_ASCII 1 /* SYMBOL diff --git a/src/utils/utf8.h b/src/utils/utf8.h index bd55920..2e6d838 100644 --- a/src/utils/utf8.h +++ b/src/utils/utf8.h @@ -1,5 +1,5 @@ -#ifndef XUTF8_H -#define XUTF8_H +#ifndef UTF8_H +#define UTF8_H #include // uint32_t int utf8_sequence_from_utf32_codepoint(char *utf8_data, int nbytes, uint32_t utf32_code); int utf8_sequence_to_utf32_codepoint(const char *utf8_data, int nbytes, uint32_t *utf32_code);