More Related Content
More from Tsunenori Oohara
More from Tsunenori Oohara (20)
Elixir解答
- 2. 課題
expression ::= additive
additive ::= multitive ( ‘+’ multitive | ‘-’ multitive )*
multitive ::= primary ( ‘*’ primary | ‘/’ primary )*
primary ::= ‘(‘ expression ‘)’ | number
number ::= ‘0’ | [1-9][0-9]*
- 3. パーサーI/F
• 入力: 四則演算の文字列
• 出力:
• 成功時: {:ok, <パース結果>, <残りの文字列>}
• 失敗時: {:error, <入力文字列>}
• 例) 数値(number)を取り出すパーサーPの場合
• P(“123”) -> {:ok, 123, “”}
• P(“123abc”) -> {:ok, 123, “abc”}
• P(“abc”) -> {:error, “abc”}