BNF記法

(2016/08/22)
  • 文脈自由文法を形式的に記述する代表的な方式

  • ALGOL 60の構文規則を記述するのに用いられた表記法
  • ざっくり言うならある構文の定義を表現する記法
  • =の後には数字が来る、みたいな
  • 定義

  • 1けたの数字と1文字の英字(小文字), 1桁の英数字を定義する
  • <英数字> ::= <英字> | <英字>
  • <数字> ::= 0 | 1 | 2 | 3 | ... | 8 | 9
  • <英字> ::= 1 | b | c | d | ... | x | y | z
  • ここで::=は左辺と右辺の区切りを意味し、右辺で左辺を定義する
  • |はorを表す
  • 非終端記号は< >でくくる
  • a, b, c...や1, 2, ...9を終端記号という
  • 例:算術式の構文

  • <式> ::= <項> | <式><加減演算子><項>
  • <項> ::= <因子> | <項><除算演算子<因子>
  • <因子> ::= 数
  • <加減演算子> ::= + | -
  • <除算演算子> ::= * | /
  • 応用情報技術者試験

general(396)