首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modula-2中最短记录类型

Modula-2中最短记录类型
EN

Stack Overflow用户
提问于 2015-09-26 23:14:31
回答 1查看 297关注 0票数 1

作业1.给出Modula-2中最短记录类型的一个例子.(“最短”是指最少的词汇数。)

记录的定义

代码语言:javascript
复制
RecordType = RECORD FieldListSequence END.

FieldListSequence = FieldList {“;” FieldList}.

FieldList = [IdentList ";" Type | CASE [Ident] ";" 
Qualident OF Variant  {"|" Variant} ELSE FieldListSequence]END].

我想出的WHat是...am,我接近了

代码语言:javascript
复制
RecordType = RECORD, FieldList, END.
EN

回答 1

Stack Overflow用户

发布于 2015-09-29 14:03:08

对于任何M2方言来说,这都不是合法的M2语法。

最短字段列表是单个字段声明:

代码语言:javascript
复制
field : SomeType

因此,最短的记录类型定义是:

代码语言:javascript
复制
TYPE Foo = RECORD
  bar : Baz
END;

这对所有方言都是有效的。

更新:

正如我在学习EBNF的评论中提到的那样,我建议研究铁路图,并将它们与EBNF进行比较。这里有一个链接到Modula-2的语法图,特别是第4版的Wirth的书“moda-2中的编程”,又名PIM4。

http://modula-2.info/m2pim/pmwiki.php/SyntaxDiagrams/PIM4NonTerminals

记录类型的图表位于:

http://modula-2.info/m2pim/pmwiki.php/SyntaxDiagrams/PIM4NonTerminals#recordType

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32802970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档