06 2019 档案
摘要:四则运算编译器,虽然说功能很简单,只能编译四则运算表达式。但是编译原理前端部分几乎都有涉及,词法分析,语法分析,还有代码生成。 再复杂的编译器、再简单的编译器,功能上是差不多的,只是复杂的编译器实现上会更困难。 这个系列的文章是为了帮助你入门,在这个基础上再去看编译原理相关书籍,不至于打瞌睡。 如果
阅读全文
摘要:现在来模拟一下 CPU 执行机器指令的情况,由于汇编代码和机器指令一一对应,所以我们可以创建一个直接执行汇编代码的模拟器。 在创建模拟器前,先来讲解一下相关指令的操作。 栈 在内存中,栈的特点是只能在同一端进行插入和删除的操作,即只有 push 和 pop 两种操作。 push push 指令的作用
阅读全文
摘要:四则运算的语法规则(语法规则是分层的) 1. x 表示 x 出现零次或多次 2. x | y 表示 x 或 y 将出现 3. ( ) 圆括号,用于语言构词的分组 以下规则从左往右看,表示左边的表达式还能继续往下细分成右边的表达式,一直细分到不可再分为止。 expression : addExpres
阅读全文
摘要:编译器 编译器是一个程序,作用是将一门语言翻译成另一门语言。 一般的程序,CPU 是无法直接执行的,因为 CPU 只能识别机器指令。所以要想执行一个程序,首先要将高级语言编写的程序翻译为汇编代码,再将汇编代码翻译为机器指令,这样 CPU 才能识别并执行。 示例: 学会编译原理有什么好处? 对编译过程
阅读全文
摘要:"项目地址" 这个项目是为了学习 node 而建的,从前端到后端一手包办。相对来说,还是有一定难度的,适合有一定编程基础的人进阶学习。 如果有问题,欢迎提 "issues" 注意,本项目的前后端代码都是放在一起的,前端代码放在 目录,后端代码放在 目录。 "在线预览" 由于服务器网速原因,加载时间较
阅读全文
摘要:"更多文章" 页面权限控制 页面权限控制是什么意思呢? 就是一个网站有不同的角色,比如管理员和普通用户,要求不同的角色能访问的页面是不一样的。如果一个页面,有角色越权访问,这时就得做出限制了。 "Vue 动态添加路由及生成菜单" 这是我写过的一篇文章, 通过动态添加路由和菜单来做控制,不能访问的页面
阅读全文
摘要:"更多文章" 写后台管理系统,估计有不少人遇过这样的需求:根据后台数据动态添加路由和菜单。 为什么这么做呢?因为不同的用户有不同的权限,能访问的页面是不一样的。 在网上找了好多资料,终于想到了解决办法。 动态生成路由 利用 vue router 的 方法可以动态添加路由。 先看一下官方介绍: rou
阅读全文
摘要:"更多文章" 一个弹窗组件通常包含两个部分,分别是遮罩层和内容层。 遮罩层是背景层,一般是半透明或不透明的黑色。 内容层是放我们要展示的内容的容器。 现在弹窗组件的结构已经搭建出来了。 类 : 遮罩层 类 : 内容层容器 类 : 内容层头部 类 : 内容层主体部分(用来展示内容) 类 : 内容层脚部
阅读全文
摘要:"更多文章" 最近在用 element ui 开发一个网站,使用 table 组件时,发现修改完数据,有时候会延迟一两秒,页面才会发生变化。 看了一下代码,发现修改数据的代码是这样的 注意事项(以下内容摘自 "官方文档" ) 由于 JavaScript 的限制,Vue 不能检测以下数组的变动: 1.
阅读全文
摘要:"更多文章 " 一般情况下,在 vue 中结合 axios 的拦截器控制 loading 展示和关闭,是这样的: 在 配置一个全局 loading。 同时设置 axios 拦截器。 这个拦截器的功能是在请求前打开 loading,请求结束或出错时关闭 loading。 如果每次只有一个请求,这样运行
阅读全文
摘要:更多文章 需求一: 在一个列表页中,第一次进入的时候,请求获取数据。 点击某个列表项,跳到详情页,再从详情页后退回到列表页时,不刷新。 也就是说从其他页面进到列表页,需要刷新获取数据,从详情页返回到列表页时不要刷新。 解决方案 在 App.vue设置: <keep-alive include="li
阅读全文