Skip to content

Latest commit

 

History

History
111 lines (74 loc) · 2.16 KB

grammar.rst

File metadata and controls

111 lines (74 loc) · 2.16 KB

E-HowNet Grammar

This section describes the grammar of the E-HowNet expression.

Text

  • TEXT

    • Any non empty string containing the following characters:

      • Alphabets and Numbers (A-Za-z0-9)
      • Unicode Characters (\x80-\U0010FFFF)
      • |, +, -, ., ?, #.
  • NUMBER

    • e.g. 1, 0.1, 1e-4
  • COINDEX

    • x, x1, x2, ...
    • x? (refer to the not mentioned subject)

Node

Entity

  • ~ehn.parse.node.entity.EhnParseNormalEntity

    • {TEXT}
    • {TEXT:FEATURE}
    • {TEXT:FEATURE,FEATURE}
    • {TEXT:FEATURE,FEATURE,...}
    • {TEXT_COINDEX:FEATURE}
    • {TEXT_COINDEX:FEATURE,FEATURE}
    • {TEXT_COINDEX:FEATURE,FEATURE,...}
  • ~ehn.parse.node.entity.EhnParseFunctionEntity

    • {FUNCTION}
    • {FUNCTION:FEATURE}
    • {FUNCTION:FEATURE,FEATURE}
    • {FUNCTION:FEATURE,FEATURE,...}
    • {FUNCTION_COINDEX:FEATURE}
    • {FUNCTION_COINDEX:FEATURE,FEATURE}
    • {FUNCTION_COINDEX:FEATURE,FEATURE,...}
  • ~ehn.parse.node.entity.EhnParseAnyEntity

    {}

  • ~ehn.parse.node.entity.EhnParseNameEntity

    {"TEXT"}

  • ~ehn.parse.node.entity.EhnParseNumberEntity

    {NUMBER}

  • ~ehn.parse.node.entity.EhnParseTildeEntity

    {~}

    0.6

  • ~ehn.parse.node.entity.EhnParseCoindexEntity

    {COINDEX}

Feature

  • ~ehn.parse.node.feature.EhnParseNormalFeature

    • TEXT=ENTITY
    • TEXT=RESTRICTION
  • ~ehn.parse.node.feature.EhnParseFunctionFeature

    • FUNCTION=ENTITY
    • FUNCTION=RESTRICTION

Function

  • ~ehn.parse.node.other.EhnParseFunction

    • TEXT()
    • TEXT(RESTRICTION)
    • TEXT(ENTITY)
    • TEXT(ENTITY,ENTITY)
    • TEXT(ENTITY,ENTITY,...)

Restriction

  • ~ehn.parse.node.other.EhnParseRestriction

    • /ENTITY
    • /ENTITY_COINDEX

Valid Expressions

ENTITY or any number of FEATUREs joined by ,s.

  • ENTITY
  • FEATURE
  • FEATURE,FEATURE
  • FEATURE,FEATURE,...