-
Notifications
You must be signed in to change notification settings - Fork 83
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: nominal and determiner word types #731
base: master
Are you sure you want to change the base?
Conversation
19357c2
to
830a239
Compare
feat: pronoun now its own token kind & word metadata
s = subject case for pronouns o = object case for pronouns f = 1st person for pronouns n = 2nd person for pronouns t = 3rd person for pronouns c = comparative degree for adjectives u = superlative degree for adjectives
Completes the split between nominals that group nouns and pronouns together vs places only nouns or only pronouns work. Also renames article to determiner and groups the other words that work a lot like the articles, such as this, that, these, and those. Adds some properties to other word types such as comparative and superlative to adjective, subject and object case to pronoun, etc. Most need more logic to be coded and some refactoring since the same affix changes different properties on different word types. Adds notes in comments about word types and properties for future implementation. |
As per #730 this is the first step, moving the current "noun" types, which actually combine nouns and pronouns, into "nominal" types, that being the umbrella term in grammar/linguistics that encompasses both nouns and pronouns.
Because of the use of templates to derive type and function names from other type names, I had to rename a lot more identifiers than expected.
The next step will be to move pronouns out into their own type, with a "person" (1st/2nd/3rd) property but without a "proper" property.
Then noun can also be moved out, keeping things that apply to both, such as "nominal phrase" inside but things that don't such as "compound noun" outside the "nominal" type and inside the "noun" type.
This will make it easier to differentiate linters that work only on pronouns or only one nouns from those that work on both.