【问题标题】:What's the name of this language that describes a language syntax?这种描述语言语法的语言的名称是什么?
【发布时间】:2011-02-22 06:34:07
【问题描述】:

例如:

<SELECT statement> ::=  
    [WITH <common_table_expression> [,...n]]
    <query_expression> 
    [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } 
  [ ,...n ] ] 
    [ COMPUTE 
  { { AVG | COUNT | MAX | MIN | SUM } ( expression ) } [ ,...n ] 
  [ BY expression [ ,...n ] ] 
    ] 
    [ <FOR Clause>] 
    [ OPTION ( <query_hint> [ ,...n ] ) ] 
<query_expression> ::= 
    { <query_specification> | ( <query_expression> ) } 
    [  { UNION [ ALL ] | EXCEPT | INTERSECT }
        <query_specification> | ( <query_expression> ) [...n ] ] 
<query_specification> ::= 
SELECT [ ALL | DISTINCT ] 
    [TOP expression [PERCENT] [ WITH TIES ] ] 
    < select_list > 
    [ INTO new_table ] 
    [ FROM { <table_source> } [ ,...n ] ] 
    [ WHERE <search_condition> ] 
    [ <GROUP BY> ] 
    [ HAVING < search_condition > ] 

语言叫什么?

【问题讨论】:

    标签: terminology


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      这不是一种语言,而是BNF(Backus-Naur 形式)中语法的正式描述(在本例中为 SQL 选择语句)。

      【讨论】:

      • 实际上 BNF 是通过上下文无关文法定义的,本身就是一种语言。
      • @pmr - 但你能用它编程吗;)
      【解决方案3】:

      由于您提供的示例使用“可选”括号[...],它实际上是Extended Backus Naur Form

      【讨论】:

        【解决方案4】:

        这看起来有点像部分 SQL 的 BNF 定义。

        【讨论】:

          最近更新 更多