大模拟挑战

10.2

P3695 CYaRon!语

码量和调试难度不算大,不如我以前做过的一道数据结构题。

不过这道题加深了我对语言的理解。

代码的区域:
1.读入缓存区
2.指令缓存区
3.变量存储区(一个大umap)
4.表达式区
5.指令运行区

首先,我将读入的全部代码存入一个读入缓存区,然后按行进行翻译。

翻译:将给定字符串翻译成指令和表达式,表达式是指令的参数,变量/常量/数组是表达式的一部分。

设计4个针对表达式和变量池的函数

表达式一项的求值:输入:一个字符串(不含运算符) 输出:该项的值
变量的地址:输入:一个字符串(对应变量/数组) 输出 变量的地址
算术表达式求值
逻辑表达式求值

指令分为:

输出

赋值

分支

循环

跳转

循环由分支和跳转实现。

posted @ 2022-10-02 21:31  artalter  阅读(42)  评论(2编辑  收藏  举报