栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

巴科斯范式(Backus-Naur Form, BNF)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

巴科斯范式(Backus-Naur Form, BNF)

什么是巴科斯范式(Backus-Naur Form, BNF)

描述语言的语法规则

游戏规则
  • 在双引号中的东西代表它本身
  • 双引号外的字代表语法
  • <必选项>
  • [可选项]
  • {0次或多次}
  • | 代表 or
  • ::= 读作定义为
递归

单词 = 一个字母或多个字母

单词::=<字母>|<字母><单词>
简单例子

email的语法

例: 123456abc@qq.com

规则: 名字@名字.域名

email   ::=  "@"  "." 
name    ::=  |  
alpha   ::=  |  | "_"
digit   ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
letter  ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
domain  ::= "com" | "edu" | "org"
BNF

使用BNF来表示BNF

          ::=  |  
            ::=  "<"  ">"  "::="   
  ::= " "  | ""
      ::=  |   "|"  
        ::=   |  
            ::=  |   
            ::=  | "<"  ">"
         ::= '"'  '"' | "'"  "'"
           ::= "" |  
           ::= '' |  
       ::=  |  | 
          ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z"
           ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
          ::=  "|" | " " | "!" | "#" | "$" | "%" | "&" | "(" | ")" | "*" | "+" | "," | "-" | "." | "/" | ":" | ";" | ">" | "=" | "<" | "?" | "@" | "[" | "" | "]" | "^" | "_" | "`" | "{" | "}" | "~"
      ::=  | "'"
      ::=  | '"'
       ::=  |  
       ::=  |  | "-"
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268988.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号