Skip to content
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

Project Restructuring #30

Closed
tgross35 opened this issue Dec 22, 2022 · 0 comments · Fixed by #31
Closed

Project Restructuring #30

tgross35 opened this issue Dec 22, 2022 · 0 comments · Fixed by #31

Comments

@tgross35
Copy link
Contributor

tgross35 commented Dec 22, 2022

Now that we have some direction on how this project should look, we can do some serious restructuring

Basic module layout:

  • main: re-export Config, Dictionary, DictBuilder
  • dictionary: data structures needed to represent a dictionary
  • affix: data structures to represent an affix file
  • system: helpers for locating files
  • check: functions for checking words with a dictionary
  • suggestions: functions for suggesting words when checks fail
  • meta (?): further information, e.g. [Discussion] More than checking if a word is in the dictionary #27

From #27:

struct Dictionary {
    config: Config,
    wordlist: HashSet<Entry>,
    wordlist_nosuggest: HashSet<Entry>,
    wordlist_forbidden: HashSet<Entry>
    meta: Vec<Weak<Meta>>
}

struct Entry {
    word: String,
    meta: Vec<Rc<Meta>>
}

struct Meta {
    // Any info relevant to that entry including homonyms & source
}

struct Config {
  // similar to current
}
tgross35 added a commit that referenced this issue Dec 22, 2022
tgross35 added a commit that referenced this issue Dec 30, 2022
Work on basic parsers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant