GrammarRules

GrammarRules[rules]

GrammarApplyおよびInterpreterのような関数で使われるのにふさわしい形で文法を実装する,クラウドオブジェクトに配備されるべき文法規則を表す.

GrammarRules[rules,defs]

文法定義 defs を使う.

詳細とオプション

  • 文法規則は pattern->expr または pattern:>expr の形である.
  • 文法規則におけるパターンは,次の要素の組合せでなければならない.
  • "string"文字通りの文字列
    StringExpression[]任意の文字列パターン
    RegularExpression[]正規表現
    form1|form2|代替形
    OptionalElement[form,def]デフォルトを示したオプション形
    FixedOrder[form1,form2,]一定の順序で出現しなければならない形
    AnyOrder[form1,form2,]任意の順序で出現してもよい形
    form..任意回数繰り返される形
    DelimitedSequence[form,]デリミタを間に挟んで繰り返される形
    GrammarToken["name"]組込みまたは定義された領域
    CaseSensitive[form]大文字小文字の区別にマッチしなければならない形
    x:form使用されるべき名前付きの形
  • CloudDeploy[GrammarRules[]]は,文法を配備し,クラウドオブジェクトを返す.GrammarApplyおよびInterpreterで使うことができる.
  • 文法に関連する規則は,事実上,どのように入力を式に変換すべきかを指定している.
  • GrammarRules[rules,defs]では,リスト defs は,主文法規則で使うことができる文法領域についての補助規則を与えることができる.
  • GrammarRulesは次のオプションをサポートする.
  • AllowLooseGrammarAutomatic余分な文法的「間違い」を許可するかどうか
    IgnoreDiacriticsTrue文法規則を適用するときに,付加記号を無視するかどうか
    IgnoreCaseTrue大文字小文字の区別についてのデフォルト(区別しない)
    AmbiguityFunctionAutomatic曖昧さを処理するデフォルトの関数
    SaveDefinitionsFalserules および defs に関連付けられたすべての定義を保存するかどうか
    InitializationNone文法が適用された場合に評価される式

例題

すべて開くすべて閉じる

  (2)

数を足す簡単な文法を配備する:

配備された文法を自然言語の文字列に適用する:

カスタムのGrammarTokenオブジェクトについて,規則を定義する:

文法を適用する:

特性と関係  (1)

RepeatedおよびDelimitedSequenceは,再帰的文法規則に等しい:

考えられる問題  (1)

文法規則の右辺の式は,GrammarApplyの間に評価される:

式が評価されないようにするため,HoldCompleteあるいはInactivateのようなラッパーを使う:

Wolfram Research (2014), GrammarRules, Wolfram言語関数, https://reference.wolfram.com/language/ref/GrammarRules.html (2015年に更新).

テキスト

Wolfram Research (2014), GrammarRules, Wolfram言語関数, https://reference.wolfram.com/language/ref/GrammarRules.html (2015年に更新).

CMS

Wolfram Language. 2014. "GrammarRules." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/GrammarRules.html.

APA

Wolfram Language. (2014). GrammarRules. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GrammarRules.html

BibTeX

@misc{reference.wolfram_2024_grammarrules, author="Wolfram Research", title="{GrammarRules}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/GrammarRules.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_grammarrules, organization={Wolfram Research}, title={GrammarRules}, year={2015}, url={https://reference.wolfram.com/language/ref/GrammarRules.html}, note=[Accessed: 22-November-2024 ]}