最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

MINI_PL文法

IT圈 admin 28浏览 0评论

2024年4月22日发(作者:镜若薇)

扩展MINI_PL的文法

<程序>PROGRAM<标识符>’(’<标识符>﹛, <标识符>﹜’)’;<分程序>.

<分程序>[<常数说明>][<变量说明>]﹛<过程说明>﹜BEGIN<语句>﹛; <语句>﹜END

<常数说明>CONST<常量标识符>=<常量>﹛; <常量标识符>=<常量>﹜;

<变量说明>VAR<变量标识符>﹛,<变量标识符>﹜:<类型>

﹛; <变量标识符>﹛,<变量标识符>﹜:<类型>};

<过程说明>PROCEDURE<过程标识符><参数表>;<分程序>;

<参数表>ε︱’(’<参数〉﹛;<参数>﹜’)’

<参数><变参>︱<值参>

<变参>VAR <标识符>﹛,<标识符>﹜:<简单类型>

<值参><标识符>﹛,<标识符>﹜:<简单类型>

<类型><简单类型>︱ARRAY’[’<无符号整数>..<无符号整数>’]’OF <简单类型>

<简单类型>REAL︱INTEGER︱CHAR︱BOOLEAN

<语句><赋值语句>︱︱<空语句>︱<过程调用>︱<复合语句>

︱<条件语句>︱

<赋值语句><变量>:=<表达式>

<读语句>︱<写语句>

<读语句>READ’(’ <变量标识符>﹛,<变量标识符>﹜’)’

︱READLN[’(’ <变量标识符>﹛,<变量标识符>﹜’)’ ]

<写语句>WRITE’(’ <简单表达式>﹛,<简单表达式>﹜’)’

︱WRITELN[’(’ <简单表达式>﹛,<简单表达式>﹜’)’ ]

<空语句>ε

<过程调用><过程标识符>[’(’ <表达式>﹛,<表达式>﹜’)’ ]

<复合语句>BEGIN<语句>﹛;<语句>﹜END

<条件语句>IF<表达式>THEN<语句>[ELSE<语句>]

FOR<变量标识符>:=<表达式>(TO︱DOWNTO)<表达式>DO<语句>

WHILE<表达式>DO<语句>

<表达式><简单表达式>[<关系运算符><简单表达式>]

<关系运算符><︱<= ︱= ︱<>︱>= ︱>

<简单表达式>(ε︱+︱-)<项>[(+︱-︱OR)<项>]

<项><因子>[(*︱/︱DIV︱MOD︱AND)<因子>]

<因子><无符号整数>|<变量>|’(’<表达式>’)’|NOT<因子>

<变量><变量标识符>[’[’<表达式>’]’]

<常量><数值常量>|<字符串常量>

<数值常量>(ε︱+︱-)(<常量标识符>|<无符号数>)

<字符串常量>’{<字符>}’

<字符><字母>|<数字>|+|-|*|/|(|)|=|:|;|,|.|<|>|[|]

<无符号数><无符号整数>[.<数字>{<数字>}][E(ε︱+︱-)<无符号整数>]

<无符号整数><数字>{<数字>}

<变量标识符><标识符>

<常量标识符><标识符>

<过程标识符><标识符>

<标识符><字母>{<字母>|<数字>}

<字母><大写字母>|<小写字母>

<大写字母>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

2024年4月22日发(作者:镜若薇)

扩展MINI_PL的文法

<程序>PROGRAM<标识符>’(’<标识符>﹛, <标识符>﹜’)’;<分程序>.

<分程序>[<常数说明>][<变量说明>]﹛<过程说明>﹜BEGIN<语句>﹛; <语句>﹜END

<常数说明>CONST<常量标识符>=<常量>﹛; <常量标识符>=<常量>﹜;

<变量说明>VAR<变量标识符>﹛,<变量标识符>﹜:<类型>

﹛; <变量标识符>﹛,<变量标识符>﹜:<类型>};

<过程说明>PROCEDURE<过程标识符><参数表>;<分程序>;

<参数表>ε︱’(’<参数〉﹛;<参数>﹜’)’

<参数><变参>︱<值参>

<变参>VAR <标识符>﹛,<标识符>﹜:<简单类型>

<值参><标识符>﹛,<标识符>﹜:<简单类型>

<类型><简单类型>︱ARRAY’[’<无符号整数>..<无符号整数>’]’OF <简单类型>

<简单类型>REAL︱INTEGER︱CHAR︱BOOLEAN

<语句><赋值语句>︱︱<空语句>︱<过程调用>︱<复合语句>

︱<条件语句>︱

<赋值语句><变量>:=<表达式>

<读语句>︱<写语句>

<读语句>READ’(’ <变量标识符>﹛,<变量标识符>﹜’)’

︱READLN[’(’ <变量标识符>﹛,<变量标识符>﹜’)’ ]

<写语句>WRITE’(’ <简单表达式>﹛,<简单表达式>﹜’)’

︱WRITELN[’(’ <简单表达式>﹛,<简单表达式>﹜’)’ ]

<空语句>ε

<过程调用><过程标识符>[’(’ <表达式>﹛,<表达式>﹜’)’ ]

<复合语句>BEGIN<语句>﹛;<语句>﹜END

<条件语句>IF<表达式>THEN<语句>[ELSE<语句>]

FOR<变量标识符>:=<表达式>(TO︱DOWNTO)<表达式>DO<语句>

WHILE<表达式>DO<语句>

<表达式><简单表达式>[<关系运算符><简单表达式>]

<关系运算符><︱<= ︱= ︱<>︱>= ︱>

<简单表达式>(ε︱+︱-)<项>[(+︱-︱OR)<项>]

<项><因子>[(*︱/︱DIV︱MOD︱AND)<因子>]

<因子><无符号整数>|<变量>|’(’<表达式>’)’|NOT<因子>

<变量><变量标识符>[’[’<表达式>’]’]

<常量><数值常量>|<字符串常量>

<数值常量>(ε︱+︱-)(<常量标识符>|<无符号数>)

<字符串常量>’{<字符>}’

<字符><字母>|<数字>|+|-|*|/|(|)|=|:|;|,|.|<|>|[|]

<无符号数><无符号整数>[.<数字>{<数字>}][E(ε︱+︱-)<无符号整数>]

<无符号整数><数字>{<数字>}

<变量标识符><标识符>

<常量标识符><标识符>

<过程标识符><标识符>

<标识符><字母>{<字母>|<数字>}

<字母><大写字母>|<小写字母>

<大写字母>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

发布评论

评论列表 (0)

  1. 暂无评论