Class Grammar

java.lang.Object
org.episteme.social.linguistics.Grammar
All Implemented Interfaces:
Serializable

public class Grammar extends Object implements Serializable
Represents the grammar rules for parsing a language.

A grammar defines the syntactic structure of a language through a set of production rules. * @see Grammar (Wikipedia)

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • Grammar

      public Grammar(Language language)
      Creates a grammar for a language.
      Parameters:
      language - the language
      Throws:
      NullPointerException - if language is null
    • Grammar

      public Grammar(Language language, String name)
      Creates a named grammar.
      Parameters:
      language - the language
      name - the grammar name
  • Method Details

    • getLanguage

      public Language getLanguage()
      Returns the language.
      Returns:
      the language
    • getName

      public String getName()
      Returns the grammar name.
      Returns:
      the name
    • setName

      public void setName(String name)
      Sets the grammar name.
      Parameters:
      name - the name
    • getDescription

      public String getDescription()
      Returns the description.
      Returns:
      the description
    • setDescription

      public void setDescription(String description)
      Sets the description.
      Parameters:
      description - the description
    • getRules

      public Set<Rule> getRules()
      Returns an unmodifiable set of rules.
      Returns:
      the rules
    • addRule

      public void addRule(Rule rule)
      Adds a rule to the grammar.
      Parameters:
      rule - the rule to add
    • removeRule

      public boolean removeRule(Rule rule)
      Removes a rule from the grammar.
      Parameters:
      rule - the rule to remove
      Returns:
      true if removed
    • getRuleCount

      public int getRuleCount()
      Returns the number of rules.
      Returns:
      rule count
    • clearRules

      public void clearRules()
      Clears all rules.
    • toString

      public String toString()
      Overrides:
      toString in class Object