问题标签 [modula-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
syntax - Modula-2 中的最短记录类型
家庭作业 1. 举一个Modula-2 中最短记录类型的例子。(“最短”意味着最少的词位。)
RECORD的EBNF定义
我想出的是......我接近了吗
modula-2 - Modula-2 字频计数器
我要做的是创建一个 Modula-2 程序,该程序获取一个文件并返回读取文件中的多个单词以及读取的每个单词的频率。就像一个文件说,“狐狸狐狸跳过了懒狗。” 输出将是
(这里的 9 是总字数。)到目前为止,我已经让总字数计数器工作了,所有的字都以这种方式显示,但我一直坚持如何实现每个字的频率计数器单词。这是代码。
types - 类 Pascal 语言中的类型等价
Oberon-2 语言报告“The Programming Language Oberon-2”在附录 A 中有以下定义:
两个类型为T a和T b的变量a和b属于同一类型,如果
- T a和T b都由相同的类型标识符表示,或
- 在T a = T b形式的类型声明中,T a被声明为等于T b,或者
- a和b出现在变量、记录字段或形式参数声明的同一标识符列表中,并且不是开放数组。
给定类型声明
上述定义中的第二段表明
- Ta和Tb是不同的类型(没有声明Ta = Tb),
- Ta和Tc是不同的类型(没有声明Ta = Tc)并且
- Tc和 INTEGER 是不同的类型(没有声明Tc = INTEGER)。
这是对Oberon-2中相同类型的正确解释吗?据我了解,Oberon-2 在名称等效性方面非常严格,在这种情况下,这种解释实际上是有道理的。标准帕斯卡和 ISO Modula-2 怎么样?
embedded - Big Endian 架构上 Modula-2 中 32 位整数的地址
我在 Big Endian 处理器上的 modula-2 中有这行代码:
我想知道 Ptr 是否等于最高有效字节的地址(即最小地址)或次要字节(即最大地址)?
language-design - 为什么模块和过程名称在主体之后重复?
在 Modula-2 和 Oberon 中,每个模块和过程声明必须以模块或过程的名称结尾。在 Pascal 中不需要它。我从来没有真正理解这样做的动机。有人可以启发我吗?
modula-2 - 致命错误 (13):XDS Modula-2 没有程序入口点?
我正在使用来自https://github.com/excelsior-oss/xds(截至 2020 年 12 月 6 日)的当前捆绑二进制文件以及最基本的 Hello World MOD 文件:
xc HelloWorld.mod
可以很好地将其编译为对象。但是,我不清楚 xlink 在独立 MOD 文件上的确切语法。 xlink HelloWorld.obj
至少会让它尝试使用我的目标文件,但正如错误所示,它不知道入口点。我尝试使用 /ENTRY 开关设置入口点,但通过模块名称没有运气。我也尝试将 /SYS 设置为控制台,但同样没有运气。
我觉得需要一些微不足道的链接器选项或程序指令,但我只是没有通过谷歌找到它......
winapi - Win32 API 中的随机数?
在 Modula-2 (ISO) 中处理 Win32 API GUI 应用程序,似乎没有办法在库中生成随机数。在我推出自己的 PRNG 之前(仅出于有趣的模拟目的,不需要加密声音),有没有办法从 Windows 获取随机数?
winapi - 如何使 Windows 复选框在单击时起作用?
我一直不敢问,因为我确信答案很简单,但是我现在已经在这件简单的事情上撞墙了好几天,并且没有取得任何进展。
我有一个基本窗口,里面有一个像这样的复选框(忽略所有标准的 WndProc 样板),并且允许对话处理(在我的完整应用程序中,我有输入字段,我允许通过选项卡):
我的理解是复选框应该直接启用,并且可以通过单击或键盘打开/关闭。但是,它不会。它总是关闭。如果单击(或激活键盘),按钮会短暂闪烁,然后返回未选中状态。如果我在 WM_COMMAND 中捕获消息,它总是告诉我我单击了“检查”框。我从来没有收到过“UNCHECK”事件。所以,至少它是内部一致的。由于我收到消息,它似乎已启用。
到目前为止,我已经尝试了许多变体来捕获点击,然后强制复选框进入/退出选中状态(包括为其分配自定义 ID)。但是,在我通过 Google 找到的所有各种方法中,它们都不起作用。在所有情况下,该复选框都非常牢固地“未选中”。关于复选框在 Windows 中的工作方式,我缺少哪些微小但至关重要的知识?