有时设备会将命令发送到另一台设备。在简单的情况下,我经常使用数字和字母串,如
"123X456YG"
含义
set the value of parameter X to 123, 456 to Y, and then Go.
解释算法非常简单:通过char处理char,“推”数字以构建数字(n = 10*n + ch-'0'
),执行动作(并重置数字),当它是一个字母时。
当没有太多不同的动作(并且你能记住这些字母)时非常方便,当然你可以使用SCPI来处理更复杂的事情。
这个(相当明显的)方式是否有名称?
答案 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中,通过从堆栈中弹出元素,然后将结果推送到堆栈来执行操作符。
许多基于堆栈的编程语言 - 包括Forth和Postscript。 Postfix语法在esoteric programming languages的世界中也很常见。
如果你很好奇,我完全建议你去写一篇Postscript。它是一种成熟的编程语言;例如,您可以用几个字节编写递归Postscript程序,以绘制分形曲线。在Ghostscript中测试它。 PDF与Postscript密切相关。
您创建的语言与标记化的方法不同,但其核心 - 将操作数放在操作符之前 - 它是一种后缀语言。
您不太可能获得专利。 :)