Parsers

This module handles parsing of (fuzzy) taxonomies, OSF terms, OSF clauses and OSF theories.

fosf.parsers.parse_clause(string, create_using=None, root=None)[source]
Parameters:
  • string (str)

  • root (Tag)

Return type:

Clause

fosf.parsers.parse_graph(string)[source]
Parameters:

string (str)

Return type:

DiGraph

fosf.parsers.parse_taxonomy(string)[source]
Parameters:

string (str)

Return type:

SortTaxonomy

fosf.parsers.parse_term(string, default_tag='X', create_using=None)[source]
Parameters:

string (str)

Return type:

Term

fosf.parsers.parse_theory(string, ensure_closed=False)[source]
Parameters:

string (str)

Return type:

OsfTheory

Base OSF Parser

Parser for the basic elements of (fuzzy) OSF logic: sorts, disjunctive sorts, tags, and features.

class fosf.parsers.base.BaseOSFParser[source]

Bases: object

parse(expression, **kwargs)[source]
Parameters:

expression (str)

Return type:

Sort

(Fuzzy) Taxonomy Parser

class fosf.parsers.taxonomy.GraphParser[source]

Bases: BaseOSFParser

parse(expression)[source]
Parameters:

expression (str)

Return type:

DiGraph

class fosf.parsers.taxonomy.TaxonomyParser[source]

Bases: BaseOSFParser

parse(expression)[source]
Parameters:

expression (str)

Return type:

SortTaxonomy

Clause

class fosf.parsers.clause.NormalizationParser[source]

Bases: BaseOSFParser

class fosf.parsers.clause.OsfConstraintParser[source]

Bases: BaseOSFParser

parse(expression, create_using=None, root=None)[source]
Parameters:

expression (str)

Term

class fosf.parsers.term.OsfTermParser[source]

Bases: BaseOSFParser

parse(expression: str, default_tag='X', create_using=NormalTerm) NormalTerm[source]
parse(expression: str, default_tag='X', create_using=Term) Term
Parameters:

expression (str)

class fosf.parsers.term.UnificationParser[source]

Bases: OsfTermParser

parse(expression: str, default_tag='X', term_constructor=NormalTerm) tuple[SortTaxonomy, NormalTerm, NormalTerm][source]
parse(expression: str, default_tag='X', term_constructor=Term) tuple[SortTaxonomy, Term, Term]
Parameters:

expression (str)

Return type:

tuple[SortTaxonomy, Term, Term]

Theory

class fosf.parsers.theory.OsfTheoryParser[source]

Bases: TaxonomyParser

parse(expression, ensure_closed=False)[source]
Parameters:

expression (str)

Return type:

OsfTheory