Okay, I took a more serious look at your language code, and it's still indecipherable.
For starters, I don't know what all of the chr( n )s are. In WEIRD_CONS_LIST, there's a chr(237) that only appears somewhere down the file as 220:['ng', 'ng', chr(237), chr(238)]. I'm assuming chr(237) is a concept of a character that isn't written down anywhere? Or something?
so confusing...
chr() means convert the unicode codepoint into it's respective character.
I.e. chr(237) would bring back í
I'm assuming WEIRD_CONS_LIST is just a list (durhur) of characters that aren't found in the english language. Maybe the encodings such as Latin-1 etc...
Yeah, you are correct. Although for me, chr(237) is φ .
This picture has the ASCII conversion I'm using, so chr( <decimal # in that table> ) = <Char in that table> .
The reason I'm using this at all is that in the main game, I have a 256-tile ascii font, and chr(x) will refer to the xth tile of that font. I don't think I can use unicode or anything with the library I'm using.
To expand on that bit of code: The main way languages choose what character to represent a sound is by using a dictionary to map phoneme #s to possible "normal" consonants. This mapping is what all languages use to start off with. However, if a language gets flagged as "weird", it goes through that list and randomly assigns some of those characters to replace some of the consonants. So, "normal" languages have a 1 in 4 chance of selecting φ as the symbol to represent "ng"; but additionally, if the language is flagged as "weird", φ could end up replacing any consonant at all.
I never figured out debuggers, although I've heard Python has some pretty good ones. Does anyone have links to a tutorial for one of them?