GrammarRules
✖
GrammarRules
✖
GrammarRules[rules]
GrammarApplyおよびInterpreterのような関数で使われるのにふさわしい形で文法を実装する,クラウドオブジェクトに配備されるべき文法規則を表す.
詳細とオプション


- 文法規則は pattern->expr または pattern:>expr の形である.
- 文法規則におけるパターンは,次の要素の組合せでなければならない.
-
"string" 文字通りの文字列 StringExpression[…] 任意の文字列パターン RegularExpression[…] 正規表現 form1form2… 代替形 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は次のオプションをサポートする.
-
AllowLooseGrammar Automatic 余分な文法的「間違い」を許可するかどうか IgnoreDiacritics True 文法規則を適用するときに,付加記号を無視するかどうか IgnoreCase True 大文字小文字の区別についてのデフォルト(区別しない) AmbiguityFunction Automatic 曖昧さを処理するデフォルトの関数 SaveDefinitions False rules および defs に関連付けられたすべての定義を保存するかどうか Initialization None 文法が適用された場合に評価される式
例題
すべて開くすべて閉じる例 (2)基本的な使用例
In[1]:=1

✖
https://wolfram.com/xid/01y9o8z44y6-vpwyom
Out[1]=1

In[2]:=2

✖
https://wolfram.com/xid/01y9o8z44y6-6zvjkl
Out[2]=2

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

✖
https://wolfram.com/xid/01y9o8z44y6-ps886q
Out[1]=1

In[2]:=2

✖
https://wolfram.com/xid/01y9o8z44y6-vp3fjk
Out[2]=2

In[3]:=3

✖
https://wolfram.com/xid/01y9o8z44y6-6elnrq
Out[3]=3

特性と関係 (1)この関数の特性および他の関数との関係
RepeatedおよびDelimitedSequenceは,再帰的文法規則に等しい:
In[1]:=1

✖
https://wolfram.com/xid/01y9o8z44y6-8hue5c
Out[1]=1

In[2]:=2

✖
https://wolfram.com/xid/01y9o8z44y6-78897f
Out[2]=2

In[3]:=3

✖
https://wolfram.com/xid/01y9o8z44y6-zqjjqn
Out[3]=3

In[4]:=4

✖
https://wolfram.com/xid/01y9o8z44y6-p6byl8
Out[4]=4

考えられる問題 (1)よく起る問題と予期しない動作
文法規則の右辺の式は,GrammarApplyの間に評価される:
In[1]:=1

✖
https://wolfram.com/xid/01y9o8z44y6-xp1xzp
Out[1]=1

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

✖
https://wolfram.com/xid/01y9o8z44y6-s45zz7
Out[2]=2

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年に更新).
テキスト
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.
✖
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
✖
Wolfram Language. (2014). GrammarRules. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GrammarRules.html
BibTeX
✖
@misc{reference.wolfram_2025_grammarrules, author="Wolfram Research", title="{GrammarRules}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/GrammarRules.html}", note=[Accessed: 23-June-2025
]}
BibLaTeX
✖
@online{reference.wolfram_2025_grammarrules, organization={Wolfram Research}, title={GrammarRules}, year={2015}, url={https://reference.wolfram.com/language/ref/GrammarRules.html}, note=[Accessed: 23-June-2025
]}