CV(N)(C) uses an unbounded unsigned integer accumulator, a deque of unbounded unsigned integers, and a function from unbounded unsigned integers to unbounded unsigned integers.
CV(N)(C)'s source code is made up of IPA symbols. The language's syllable structure is CV(N)(C), where C is any non-nasal consonant, V is any vowel, and N is any nasal consonant.
suŋs are valid programs, and so is
susŋ is not, as its structure is CVCN, which can't be broken up into valid syllables.
Fricatives manage I/O; plosives manage the function; and approximants manage control flow.
|/θ/||Print the accumulator as an integer|
|/f/||Print the accumulator modulo 256 as an ASCII character with no newline after it|
|/s/||Input an integer to the accumulator|
|/ʒ/||Input an ASCII character to the accumulator (if Unicode, then modulo it by 256)|
|/p/||Pop from the front of the deque and append it to the function|
|/p/||Pop from the back of the deque and append it to the function|
|/d/||Append (a reference to the accumulator) to the function|
|/b/||Append a plus sign () to the function|
|/t/||Append a minus sign () to the function|
|/ɡ/||Append a multiplication sign () to the function|
|/q/||Append a division sign () to the function|
|/ʔ/||Append a left parenthesis () to the function|
|/ʡ/||Append a right parenthesis () to the function|
|/c/||Reset the function to , the function's default|
|/ɹ/||Goto the accumulator-th character in the source code, zero-indexed|
|/j/||Goto the accumulator-th syllable in the source code, zero-indexed|
|/ɰ̊/||Begin a while loop: if the accumulator is equal to zero, jump to the matching /ʋ/|
|/ɰ/||Begin a while loop: if the accumulator is not equal to zero, jump to the matching /ʋ/|
|/ʋ/||End a while loop: jump back to the matching /ɰ̊/ or /ɰ/|
Vowels modify the accumulator.
|/i/||Increment the accumulator|
|/ə/||Decrement the accumulator if it is greater than zero|
|/æ/||Square the accumulator|
|/o/||Square-root and floor the accumulator ()|
|/u/||Set the accumulator to the result of applying the function to the accumulator () if the function is valid, else do nothing|
Nasal consonants operate on the deque.
|/m/||Push the accumulator to the front of the deque|
|/n/||Push the accumulator to the back of the deque|
|/ŋ/||Pop the front of the deque into the accumulator|
|/ɲ/||Pop the back of the deque into the accumulator|
I am too lazy to write a proper Hello, world! program.