标签: topdown

左因子分解与左递归之间的差异

Left Factoring和之间有什么区别Left Recursion?据我所知,这Left factoring是一种预测自上而下的解析技术.但是当我听到这两个术语时,我感到困惑.

language-agnostic compiler-construction parsing topdown

29
推荐指数
5
解决办法
7万
查看次数

用自上而下的方法用Java设计API - 写Javadoc是最好的起点吗?

每当我需要用Java设计API时,我通常会先打开我的IDE,然后创建包,类和接口.方法实现都是虚拟的,但javadocs是详细的.

这是最好的办法吗?我开始觉得API文档应该是第一个被淘汰的 - 甚至在第一个.java文件被写入之前.这没什么好处:

  1. API设计人员可以完成设计和规范,然后在多个实现者之间拆分实现.
  2. 更灵活 - 设计更改不需要在java文件中反弹,寻找编辑javadoc注释的位置.

还有其他人分享这个意见吗?如果是这样,您如何开始使用API​​设计?

此外,有什么工具可以帮助吗?甚至可能是某种基于注释的工具,它可以生成文档,然后生成骨架源(类似于模型到代码生成器)?我遇到了Eclipse PDE API工具 - 但这是Eclipse插件项目特有的.我没有找到更通用的东西.

java javadoc api-design topdown

8
推荐指数
1
解决办法
1215
查看次数

语法:自上而下和自下而上的区别?(例)

这是Grammar的后续问题:自上而下和自下而上的区别?

我从这个问题中了解到:

  • 语法本身不是自上而下或自下而上的,解析器是
  • 有一些语法可以被一个语法解析而不能被另一个语法解析
  • (谢谢Jerry Coffin

所以对于这个语法(所有可能的数学公式):

    E -> E T E
    E -> (E)
    E -> D

    T -> + | - | * | /

    D -> 0
    D -> L G

    G -> G G    
    G -> 0 | L

    L -> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 
Run Code Online (Sandbox Code Playgroud)

这可以通过自上而下和自下而上的解析器读取吗?

你能说这是自上而下的语法还是自下而上的语法(或两者都没有)?


我问,因为我有一个功课问题,问:

"为所有语言编写自上而下和自下而上的语法......"(不同的问题)

我不确定这是否正确,因为它似乎没有自上而下和自下而上的语法.任何人都可以澄清吗?

grammar topdown bottom-up

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

语法:自上而下和自下而上的区别?

自上而下和自下而上的语法有什么区别?一个例子很棒.

grammar topdown bottom-up

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

Unity 2D自上而下射击运动问题C#

我想在Unity中制作一个简单的2D自上而下射击游戏.我有基本动作和鼠标跟随,但运动中存在问题.

每当你同时按下"向上"和"向右"时,它会按照您的预期对角移动,但是当你放开向上键时,它会沿对角线方向移动,我希望它向右移动.我处理运动的代码是:

private void Update () 
{
    if (Input.GetKey(Up)) {
        Debug.Log("UP");
        Vector3 velUp = rigidbody2D.velocity;
        velUp.y = walkSpeed;
        rigidbody2D.velocity = velUp;
    }
    else if (Input.GetKey(Down)) {
        Vector3 velDown = rigidbody2D.velocity;
        velDown.y = walkSpeed*-1;
        rigidbody2D.velocity = velDown;
    }
    else if (Input.GetKey(Left)) {
        Vector3 velLeft = rigidbody2D.velocity;
        velLeft.x = walkSpeed*-1;
        rigidbody2D.velocity = velLeft;

    }
    else if (Input.GetKey(Right)) {
        Vector3 velRight = rigidbody2D.velocity;
        velRight.x = walkSpeed;
        rigidbody2D.velocity = velRight;
    }
    else {
        Vector3 velStop = rigidbody2D.velocity;
        velStop.x = 0;
        velStop.y = 0;
        rigidbody2D.velocity …
Run Code Online (Sandbox Code Playgroud)

c# topdown unity-game-engine game-physics

2
推荐指数
1
解决办法
6112
查看次数

运算符“-”对于“Vector2”和“Vector3”类型的操作数不明确

target = transform.GetComponent<Camera>().ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, transform.position.z));
crosshairs.transform.position = new Vector2(target.x, target.y);

Vector2 difference = target - player.transform.position;
float rotationZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
player.transform.rotation = Quaternion.Euler(0.0f, 0.0f, rotationZ);
Run Code Online (Sandbox Code Playgroud)

c# 2d topdown unity-game-engine

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