小编Gar*_*luk的帖子

Z80 ASM BNF结构......我在正确的轨道上吗?

我正在尝试学习BNF并尝试组装一些Z80 ASM代码.由于我是两个领域的新手,我的问题是,我是否在正确的轨道上?我正在尝试将Z80 ASM的格式编写为EBNF,以便我可以从那里找出从源头创建机器代码的位置.目前我有以下内容:

Assignment = Identifier, ":" ;

Instruction = Opcode, [ Operand ], [ Operand ] ;

Operand = Identifier | Something* ;

Something* = "(" , Identifier, ")" ;

Identifier = Alpha, { Numeric | Alpha } ;

Opcode = Alpha, Alpha ;

Int = [ "-" ], Numeric, { Numeric } ;

Alpha = "A" | "B" | "C" | "D" | "E" | "F" | 
        "G" | "H" | "I" | "J" | "K" | "L" …
Run Code Online (Sandbox Code Playgroud)

assembly z80 bnf ebnf

10
推荐指数
1
解决办法
3824
查看次数

编写Z80汇编程序 - lexing ASM并使用组合构建解析树?

我对编写汇编程序的概念非常陌生,即使在阅读了大量材料之后,我仍然难以绕过几个概念.

  1. 将源文件实际分解为令牌的过程是什么?我相信这个过程叫做lexing,我已经搜索了一些有意义的实际代码示例,但我找不到一个如此简单的代码示例非常受欢迎;)

  2. 在解析时,是否需要在树上向上或向下传递信息?我问的原因如下,采取:

    LD BC,nn

一旦标记化(???),它需要变成以下的解析树

  ___ LD ___
  |        |
 BC        nn
Run Code Online (Sandbox Code Playgroud)

现在,当遍历此树时,它需要生成以下机器代码:

01 n n
Run Code Online (Sandbox Code Playgroud)

如果说明是:

LD DE,nn
Run Code Online (Sandbox Code Playgroud)

然后输出需要是:

11 n n
Run Code Online (Sandbox Code Playgroud)

这意味着它提出了问题,LD节点是否根据操作数返回不同的东西,或者它是返回某些东西的操作数?这是如何实现的?如果时间允许,更简单的代码示例将是非常好的.

我最感兴趣的是学习一些原始流程,而不是查看先进的现有工具,所以在将我发送给YaccFlex之前请记住这一点.

assembly parsing z80 lexical-analysis

9
推荐指数
2
解决办法
3698
查看次数

使用表在MySQL中提供枚举值?

有没有办法将MySQL表的一个列内容映射到MySQL中另一个表的枚举?我认为这不是一件容易的事,但似乎没有任何关于这个主题的信息.

关于这个问题的任何建议或帮助都会很酷,如果不可能,有没有人知道为什么不可能的内部原因?

最好的问候大家:)

加里

mysql sql database enums

9
推荐指数
1
解决办法
5435
查看次数

使用透视相机矩阵将3D点投影到2D屏幕空间

我试图使用透视相机矩阵将一系列3D点投影到屏幕上.我没有世界空间(或者认为它是一个单位矩阵)并且我的相机没有相机空间(或者认为它是一个单位矩阵),我的对象空间确实有一个4x4矩阵.

我正在使用对象矩阵并将其乘以相机透视矩阵,使用以下方法生成:

Matrix4 createPerspectiveMatrix( Float fov, Float aspect, Float near, Float far )
{
    Float fov2 = (fov/2) * (Math.PI/180);
    Float tan = Math.tan(fov2);
    Float f = 1 / tan;

    return new Matrix4 ( 
        f/aspect, 0, 0, 0,
        0, f, 0, 0,
        0, 0, -((near+far)/(near-far)), (2*far*near)/(near-far),
        0, 0, 1, 0 
    );
}
Run Code Online (Sandbox Code Playgroud)

然后我接受我的观点[x,y,z,1]并将其乘以透视矩阵和对象矩阵的结果乘法.

下一部分是我被困扰的地方,我很确定我需要在-1和1,或0和1的范围内得到这些点,并且在具有第一组值的情况下然后,我会将屏幕宽度和高度分别乘以屏幕坐标x和y值,或者将这些值乘以屏幕高度/ 2和宽度/ 2,并将相同的值添加到相应的点.

任何一步一步地告诉我如何实现这一目标或者我可能会出现任何问题的地方都将受到大力赞赏!:d

最好的问候大家!

PS在身份/翻译矩阵的例子中,我的模型中的矩阵格式是:

[1, 0, 0, tx,
 0, 1, 0, ty,
 0, 0, 1, tz,
 0, 0, 0, 1 ]
Run Code Online (Sandbox Code Playgroud)

3d camera projection matrix perspective

7
推荐指数
1
解决办法
9503
查看次数

将 Android Firebase Auth 用户安全地存储在 MySQL 数据库中

我正在创建一个 Android 本机应用程序,我正在使用 Firebase Auth 和多个身份验证提供,例如;电子邮件、Facebook、Google 等,我将使用 Firebase SDK 进行聊天和实时数据库。

我有一个带有 MySQL 的 RESTful API(与 Facebook 类似;朋友、私人和公共帖子)、一个 PHP 服务器后面的用户数据库,我想同步身份验证,以便我可以确保用户是正确的并且有一个有权访问他们有权访问的数据。我能够编辑和更改我的数据库,因此我可以根据此处的建议进行调整。

(我最初认为我可能需要像 OAuth 这样的东西,但我不再认为这是必要的)

经过大量研究,我认为我需要将用户电子邮件和 Firebase Auth 令牌安全地传达给 MySQL,同时保持细节同步?这似乎是一件很常见的事情,但我一直无法找到明确的答案。

(如果以上说法属实)

我的问题是:

  • 电子邮件和身份验证令牌是通过服务器对用户进行身份验证所需的全部内容吗?
  • 是否应使用 PHP SDK 将 Auth 令牌发送到 Firebase SDK
  • 关于安全性,凭据应如何存储在 MySQL 数据库中
  • 身份验证令牌如何过期和/或刷新
  • 如何将信息从 Android 客户端安全地发送到 MySQL 数据库
  • 更新 Auth 令牌的正确程序和策略是什么
  • 身份验证详细信息的正确同步策略是什么,例如客户端和服务器之间的电子邮件地址和令牌
  • 我什至在正确的轨道上:)

我对大多数 Auth 概念都不熟悉。

此致

mysql authentication synchronization credentials firebase-authentication

6
推荐指数
1
解决办法
3374
查看次数

在c ++中的方法声明之后附加'= x'

在C++中,当声明一个方法时,我注意到有时候该方法可能会附加一个分配.

有谁能告诉我这是什么?

例如:

virtual void MyMethod () = 0;
Run Code Online (Sandbox Code Playgroud)

'= 0'是什么意思.:)

感谢大家 !!!

c++ syntax language-features

3
推荐指数
1
解决办法
227
查看次数

glGenTextures GLuint还是Array?

首先,我对C/C++知之甚少,所以我的知识可能有一个黑点,但我正在尝试将OpenGL的一些功能移植到AS3并查看OpenGL的glGenTextures()方法

http://www.opengl.org/sdk/docs/man/xhtml/glGenTextures.xml

这个方法需要几个,但我的问题是针对后面的参数

GLuint*纹理

我查找了GLuint的类型数据,它似乎是一个32位无符号整数,但是文档然后说明如下:

textures指定存储生成的纹理名称的数组.

那么,GLuint是一个数组还是一个无符号整数?如果这是某种指向数组内存地址的指针(不知道这是否也是可能的?)那么任何人都可以推荐一种等效的实现方式ActionScript中的类似功能,请记住参数是按值而不是在ActionScript中引用.

非常感谢所有关于SO的好人.

加里帕卢克

opengl api flash port actionscript-3

3
推荐指数
1
解决办法
4621
查看次数