質問編集履歴

2

誤字を修正。

2016/09/03 13:12

投稿

clubman
clubman

スコア63

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  その機能の一つとして、テキストエリアやコンボボックスに対して独自の構文スクリプトを設定しそのスクリプトを実行させたいです。
10
10
 
11
- 例えば、テキストエリアA・テキストエリアBがあり、テキストエリアAに「if(#[テキストエリアB] <> "", MyValue(), #[テキストエリアB])」という構文が設定されているとします。この構文の意味は「テキストエリアBが空白の場合はテキストエリアAの値を設定し、そうでなければテキストエリアBの値を設定する」という意味です。
11
+ 例えば、テキストエリアA・テキストエリアBがあり、テキストエリアAに「if(#[テキストエリアB] = "", MyValue(), #[テキストエリアB])」という構文が設定されているとします。この構文の意味は「テキストエリアBが空白の場合はテキストエリアAの値を設定し、そうでなければテキストエリアBの値を設定する」という意味です。
12
12
 
13
13
  質問内容としては、javascriptで構文解析をしたいのですが自力でゼロから作るのは難しいと思っています。
14
14
 

1

コードをコードブロックで囲むように修正。質問文のコードブロックを削除。

2016/09/03 13:12

投稿

clubman
clubman

スコア63

test CHANGED
File without changes
test CHANGED
@@ -14,11 +14,15 @@
14
14
 
15
15
  そこで調査したところ、Peg.jsなるものを見つけました。
16
16
 
17
+ そのPeg.jsで不明点がいくつかあります。
18
+
19
+
20
+
17
21
  ###発生している問題・エラーメッセージ
18
22
 
19
23
  まずhttp://pegjs.org/onlineにサンプルがあるのでこれから勉強しようと思っているのですがサンプルの構文に分からないところがあります。
20
24
 
21
- ```
25
+
22
26
 
23
27
  1.一番下に「_」をスペースとして定義している箇所があります。スペースは「 \t\n\r」の繰り返しからなっている。ということは分かるのですが、「"whitespace" 」は何のための記述かわかりません。
24
28
 
@@ -28,7 +32,7 @@
28
32
 
29
33
  4.このサンプルでは四則演算ができ、「2 * (3 + 4)」と与えれば3 + 4を先に評価していますがどこの定義で優先での指定をしているのでしょう。
30
34
 
31
- ```
35
+
32
36
 
33
37
  質問も漠として申し訳ありませんがご回答いただければ幸いです。どうぞよろしくお願いいたします。
34
38
 
@@ -37,6 +41,8 @@
37
41
 
38
42
 
39
43
  ###該当のソースコード
44
+
45
+ ```ここに言語を入力
40
46
 
41
47
  Expression
42
48
 
@@ -104,6 +110,8 @@
104
110
 
105
111
  = [ \t\n\r]*
106
112
 
113
+ ```
114
+
107
115
 
108
116
 
109
117
  ###補足情報(言語/FW/ツール等のバージョンなど)