将命令发送到设备,为成语命名?

时间:2017-03-19 11:24:12

标签: arduino communication interpreter

有时设备会将命令发送到另一台设备。在简单的情况下,我经常使用数字和字母串,如

"123X456YG"

含义

 set the value of parameter X to 123, 456 to Y, and then Go.

解释算法非常简单:通过char处理char,“推”数字以构建数字(n = 10*n + ch-'0'),执行动作(并重置数字),当它是一个字母时。

当没有太多不同的动作(并且你能记住这些字母)时非常方便,当然你可以使用SCPI来处理更复杂的事情。

这个(相当明显的)方式是否有名称?

1 个答案:

答案 0 :(得分:0)

这是后缀表示法的示例。它是一种符号,相当自然地脱离了使用堆栈的任何东西。

示例包括:

反向波兰表示法 - 从20世纪60年代后期起可编程计算器中常见。

...其中4 3 - 5 +导致6留在堆栈的头部,因为堆栈的构建如下:

 Stack     Unconsumed input
1 [      ]  4 3 - 5 +
2 [ 4    ]  3 - 5 +
3 [ 4 3  ]  - 5 +
4 [ 1    ]  5 +
5 [ 1 5  ]  +
6 [ 6    ]

在步骤4和6中,通过从堆栈中弹出元素,然后将结果推送到堆栈来执行操作符。

许多基于堆栈的编程语言 - 包括ForthPostscript。 Postfix语法在esoteric programming languages的世界中也很常见。

如果你很好奇,我完全建议你去写一篇Postscript。它是一种成熟的编程语言;例如,您可以用几个字节编写递归Postscript程序,以绘制分形曲线。在Ghostscript中测试它。 PDF与Postscript密切相关。

您创建的语言与标记化的方法不同,但其核心 - 将操作数放在操作符之前 - 它是一种后缀语言。

您不太可能获得专利。 :)