问题标签 [b]

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.

0 投票
2 回答
6595 浏览

compiler-construction - 有人有工作的 B 编译器吗?

有谁知道我在哪里可以得到一个好的 B 编译器?我已经搜索了一段时间的 B 编译器,但是在为 Windows 或 Linux 系统找到完整的东西时遇到了一些困难。

以 B 为例:

0 投票
0 回答
135 浏览

compiler-construction - B 语言限制(表格大小)

官方 B 教程说如果发生错误,编译器会给出两个字母。字母组合包括:

  • >c- 案例表溢出
  • >e- 表达式表溢出
  • >i- 标签表溢出
  • >s- 符号表溢出

我不想在我的 B 编译器中使用 malloc,而是想静态分配表。

外壳、标签和符号表的最小尺寸是多少?

0 投票
1 回答
483 浏览

extern - B中的外部或外部?

我对两个 B 关键字感到困惑。

官方 B 参考手册使用extrn关键字,而 Wikipedia 和 C 使用extern.

由于我不知道任何适用于 x86 的好的 B 编译器,我无法使用编译器进行拼写检查。

那么,在 B - externor中编写 extern 关键字的正确方法是extrn什么?

0 投票
1 回答
155 浏览

c - 为什么 C 使用星号来引用指针的值?

我发现我更频繁地引用指针指向的内存位置的值,然后我想引用指针的实际值。结果,我想知道为什么 C 不使用星号来引用指针的实际值,因为它是更多类型的。

我已经在另一个网站上阅读了一篇关于 B 是如何做到这一点的帖子。这不能回答我的问题;它只是将其更改为为什么 B 会这样做。

0 投票
0 回答
54 浏览

b - B 编程语言是否允许在内部代码块中声明变量?

例如,以下代码段在 B 中是否合法?

0 投票
2 回答
233 浏览

assembly - Ti-89 68k 汇编中的函数指针

几个月来,我一直在尝试为我的 Ti-89 构建一个自制的 B 交叉编译器,最终我想生成我的计算器执行的程序集。该语言是“B”,因为只有一种类型是整数/指针。我不明白如何在这个平台上实现函数指针。我正在考虑通过以下方式实现函数指针:

  • 使用立即值存储第一条指令的地址
  • 使用程序计数器和偏移量推导第一条指令的地址
  • 仅存储偏移量并计算跳转时第一条指令的地址。

第一种方法肯定行不通,因为 Ti-89 上的汇编程序在执行之前会被复制到 RAM 中。我无法在编译时知道函数的位置。此外,根据第 24 页的 Ti-89/Ti-92 Plus 开发人员指南,“ASM 程序可能会在堆垃圾收集期间移动。指向覆盖系统代码的指针将变得无效。” 这意味着第二种方法也不一定有效,因为堆垃圾收集可能发生在计算第一条指令的地址之后。假设它所说的程序移动是正确的,这可能会导致整个函数移动。第三种方法将在特定情况下起作用,但问题是我不一定知道该函数将在汇编程序中的哪个位置被调用。

TIGCC 允许使用函数指针,那么它们到底是如何实现它们的呢?有什么我想念的吗?

链接:

0 投票
1 回答
452 浏览

parsing - 如何解决这个减少/减少冲突?

我正在为 B 编程语言编写编译器。这种语言的语法在语法上区分左值和右值。在将语法翻译成 yacc 语法时,我偶然发现了 reduce/reduce 冲突。这是一个最小、完整且可验证的示例:

Yacc 表示 1 个减少/减少冲突。这种减少/减少冲突出现在状态 6 中:

显然应该选择“reduce 1”作为这种冲突的解决方案,因为“reduce 2”似乎永远不会导致成功的解析。

我该如何解决这个冲突?

出于可移植性的原因,我不愿意使用 bison 或 POSIX.1 2008 中指定之外的任何 yacc 功能。

0 投票
0 回答
60 浏览

linux - 你能在 Linux(更具体地说是 Raspbian)上运行 B 编程语言吗?

最近我一直在阅读 Brian Kernighan 关于 B 的书(https://web.archive.org/web/20150611114427/https://www.bell-labs.com/usr/dmr/www/kbman.pdf),我想知道我是否真的可以在 Linux 上运行 B 脚本。那里有编译器吗?我真的很想看看 C 是如何编程的。谢谢!

0 投票
0 回答
14 浏览

mongodb - 如何使值以百分比格式显示在文本框 vba 用户窗体中

输入后如何使数字始终以百分比格式显示?例如,如果我在文本框中写 5,我希望最终数字为 5%

0 投票
2 回答
53 浏览

c# - 添加到字节而不溢出

对于某些 API 集成,我有一个操作需要添加两个字节并得到一个字节作为结果。这是某种校验和。现在自然会发生溢出。

例如

是否有一个简单的内置语法来避免溢出以移动到下一个字节,还是我必须自己这样做?例如减去完整字节等等?没有找到一个API,我忽略了什么吗?