Programming languages 语言定义问题

Programming languages 语言定义问题,programming-languages,language-design,Programming Languages,Language Design,有人能帮我确切地理解这意味着什么吗 <stmt> := var <ident> = <expr> | <ident> = <expr> | for <ident> = <expr> to <expr> do <stmt> end | read_int <ident> | print <expr> | <stmt>

有人能帮我确切地理解这意味着什么吗

<stmt> := var <ident> = <expr>
    | <ident> = <expr>
    | for <ident> = <expr> to <expr> do <stmt> end
    | read_int <ident>
    | print <expr>
    | <stmt> ; <stmt>

<expr> := <string>
    | <int>
    | <arith_expr>
    | <ident>

<bin_expr> := <expr> <bin_op> <expr>
<bin_op> := + | - | * | /

<ident> := <char> <ident_rest>*
<ident_rest> := <char> | <digit>

<int> := <digit>+
<digit> := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<string> := " <string_elem>* "
<string_elem> := <any char other than ">
:=var=
|  = 
|结束
|读音
|印刷品
|  ; 
:= 
| 
| 
| 
:=   
:= + | - | * | /
:=  *
:=  | 
:= +
:= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
:= " * "
:=
=语句
=表达式
=二进制表达式(涉及的表达式)
=二进制运算符
=标识符
=标识符的其余部分
=整数
=位数
=字符串
=字符串元素
=语句
=表达式
=二进制表达式(涉及的表达式)
=二进制运算符
=标识符
=标识符的其余部分
=整数
=位数
=字符串
=字符串元素

也许应该温习一下你的阅读技能。

也许应该温习一下你的阅读技能

<stmt> := var <ident> = <expr>
    | <ident> = <expr>
    | for <ident> = <expr> to <expr> do <stmt> end
    | read_int <ident>
    | print <expr>
    | <stmt> ; <stmt>

:=*
:=  | 
标识符总是以字符开头,但标识符的其余部分可以由字符和数字组成


:=+
:= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
数字的定义


:=“*”
:= 

:=*
:=  | 
标识符总是以字符开头,但标识符的其余部分可以由字符和数字组成


:=+
:= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
数字的定义


:=“*”
:=
<stmt> := var <ident> = <expr>
    | <ident> = <expr>
    | for <ident> = <expr> to <expr> do <stmt> end
    | read_int <ident>
    | print <expr>
    | <stmt> ; <stmt>
<expr> := <string>
    | <int>
    | <arith_expr>
    | <ident>
<bin_expr> := <expr> <bin_op> <expr>
<bin_op> := + | - | * | /
+ - * /
<ident> := <char> <ident_rest>*
<ident_rest> := <char> | <digit>
<int> := <digit>+
<digit> := 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<string> := " <string_elem>* "
<string_elem> := <any char other than ">