Japanese subtitles

← 04xps-03 Making Ambiguity Solution

dummy description

Get Embed Code
3 Languages

Showing Revision 1 created 10/23/2014 by Udacity.

  1. ここに人工言語を表す文法があります
  2. PythonやJavaScriptの間でしょうか
  3. 多くの言語にあるキーワードがたくさんあります
  4. 新しい規則を加えましょう
  5. そこで疑問は新しい規則を文法に加えると
  6. あいまいな文法になってしまうかです
  7. あいまいな文法とは
    言語の中に文字列が与えられた時
  8. 2つの解析木が文法を横切り
    文字列を作る方法が2つあることです
  9. のちに分かりますがこれは言語を解釈する上で
    悪い状況です
  10. なぜならこの結果1つの文字列、プログラム、
    HTMLドキュメントが
  11. 2つの有効な意味を持ってしまうからです
  12. 1つを選べないという状況は
  13. 好ましくありません
  14. HTMLやJavaScriptのような厳密な言語では
  15. 表示したい内容もしくは実行したい行動を
  16. 正確に把握できます あいまいはありません
  17. コンピュータはあいまいさが苦手です
    小さな脳が爆発します
  18. ここでじっくりと考えてみましょう
  19. この規則を加え文法があいまいになることを示した
    文字列の例をお見せします
  20. チェックします 見ていきましょう
  21. ここにある文法を使って
  22. 文字列を生成する方法が2通りあることを示します
  23. 1つはif-then-elseの構成体を使うことです
  24. このif、then、elseが
    ここのif、then、elseに一致します
  25. 記号の()でくくった部分が
    このCに相当すると分かります
  26. このCはここ、Eはここに相当する
    これが1つの方法です
  27. 2つ目の方法はif-thenを使います この2つです
  28. そしてif-then-elseをここで行います
  29. つまり()内の部分はこのSに相当しています
  30. 1はこのEに相当しています
  31. そしてSとしてif-then-elseを使います
  32. ここにこの文法を使って
    同じ文字列を生成する有効な方法が2つあります
  33. 新しい規則によって文法があいまいになったのです
  34. 別の例を見てみましょう
  35. この規則を加えたとします
  36. BはBBになります
  37. これもあいまいですね
  38. print 4;print 4があるとします
  39. これを生成する方法も2つあります
  40. 1つはBから始まり
  41. S;Bになります
  42. ここからprint4ができます
  43. Bは置換できます S;を書き忘れていました
  44. Sをprint4に置換できます
  45. 別の方法も基本的に似た動作となります
  46. まずBから始めてBBとなりますが
  47. 今回はそれぞれのBをS;と置換します
  48. これが2つ目の方法です
  49. さらに2つの規則があります
  50. どちらの規則も文法をあいまいにしません
  51. intを加えてもこれがintを得る唯一の方法ですので
  52. intを伴う文字列を生成する
    2つ目の方法はありません
  53. 同じ基本論理が記号の()にも適用されます
  54. これが()を得る唯一の方法で
  55. 2つ目の方法はありません
  56. これはステートメントの外側に
    ()を加えるだけなので
  57. 何回でも行うことができます
  58. x個の()を得るにはx回だけ適応します
  59. それほど複雑ではありません
  60. ()が対であることは
    あいまいさを引き起こす一因となり得ます
  61. 右括弧だけに別の規則がある場合
  62. 表現方法によってはあいまいになるかもしれません
  63. この方法は以上です では最後の1つです
  64. これはおなじみです
  65. レッスンでもやりましたし
    これによく似たものもありました
  66. そしてこれは間違いなくあいまいです
  67. 例を1つ挙げます
  68. 例えば1+2+3があると場合2通りの方法で行えます
  69. EがE+EとなりEが1、この部分は2+3になります
  70. 別の方法は左辺に2がありここは3だけになります
  71. プラスは加算の結合の性質により
  72. どのような順序でも成り立ちます
  73. しかし文脈自由文法が
    あいまいかどうかを判断する場合
  74. プラスの性質はここでは関係ありません