我正在尝试学习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) 我对编写汇编程序的概念非常陌生,即使在阅读了大量材料之后,我仍然难以绕过几个概念.
将源文件实际分解为令牌的过程是什么?我相信这个过程叫做lexing,我已经搜索了一些有意义的实际代码示例,但我找不到一个如此简单的代码示例非常受欢迎;)
在解析时,是否需要在树上向上或向下传递信息?我问的原因如下,采取:
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节点是否根据操作数返回不同的东西,或者它是返回某些东西的操作数?这是如何实现的?如果时间允许,更简单的代码示例将是非常好的.
有没有办法将MySQL表的一个列内容映射到MySQL中另一个表的枚举?我认为这不是一件容易的事,但似乎没有任何关于这个主题的信息.
关于这个问题的任何建议或帮助都会很酷,如果不可能,有没有人知道为什么不可能的内部原因?
最好的问候大家:)
加里
我试图使用透视相机矩阵将一系列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) 我正在创建一个 Android 本机应用程序,我正在使用 Firebase Auth 和多个身份验证提供,例如;电子邮件、Facebook、Google 等,我将使用 Firebase SDK 进行聊天和实时数据库。
我有一个带有 MySQL 的 RESTful API(与 Facebook 类似;朋友、私人和公共帖子)、一个 PHP 服务器后面的用户数据库,我想同步身份验证,以便我可以确保用户是正确的并且有一个有权访问他们有权访问的数据。我能够编辑和更改我的数据库,因此我可以根据此处的建议进行调整。
(我最初认为我可能需要像 OAuth 这样的东西,但我不再认为这是必要的)
经过大量研究,我认为我需要将用户电子邮件和 Firebase Auth 令牌安全地传达给 MySQL,同时保持细节同步?这似乎是一件很常见的事情,但我一直无法找到明确的答案。
(如果以上说法属实)
我的问题是:
我对大多数 Auth 概念都不熟悉。
此致
mysql authentication synchronization credentials firebase-authentication
在C++中,当声明一个方法时,我注意到有时候该方法可能会附加一个分配.
有谁能告诉我这是什么?
例如:
virtual void MyMethod () = 0;
Run Code Online (Sandbox Code Playgroud)
'= 0'是什么意思.:)
感谢大家 !!!
首先,我对C/C++知之甚少,所以我的知识可能有一个黑点,但我正在尝试将OpenGL的一些功能移植到AS3并查看OpenGL的glGenTextures()方法
http://www.opengl.org/sdk/docs/man/xhtml/glGenTextures.xml
这个方法需要几个,但我的问题是针对后面的参数
GLuint*纹理
我查找了GLuint的类型数据,它似乎是一个32位无符号整数,但是文档然后说明如下:
textures指定存储生成的纹理名称的数组.
那么,GLuint是一个数组还是一个无符号整数?如果这是某种指向数组内存地址的指针(不知道这是否也是可能的?)那么任何人都可以推荐一种等效的实现方式ActionScript中的类似功能,请记住参数是按值而不是在ActionScript中引用.
非常感谢所有关于SO的好人.
加里帕卢克