首先,明确一点,咱这个项目只是做一个简单的脚本语言而不是编译型语言!!!其次,本文不需要太多专业知识,所以不慌。最后,本文只是简单实现脚本语言,虽然不牛X......
一 准备工作:
1. 实验环境 : linux
2.知识点 : 大一所学 C语言 知识
二 要做功能:
1.实现语法分析打印 hello-world
2.实现变量定义,赋值和销毁
3.更多功能关注我后期发教程
三 要用到的几个 C语言 基础库里的函数,请了解这些函数后再继续阅读:
1. sscanf() //用于语法分析
2. setenv //用于定义环境变量
3. unsetenv() //用于销毁变量
4. getenv() //获取变量值
四 开始试验:
1.先明确下我们的语句格式
命令名称 【参数】 【命令】
如我们要试验的语句
echo "hello-world" //输出 hello-world
直接上代码 ,demo.c ,代码如下
来个要解析的代码文件:
运行代码:
看完代码,我想你该懂了吧。那好,进入第二个目标
2.实现变量:
到了最牛逼的环节了,实现变量。怎么样,是不是听起来难度很大?是不是感觉需要学习诸如编译原理这类的知识才能实现?非也!!!我们只需要借助“系统环境变量”间接实现即可!!!
来个简单的实例,在 linux 环境下,设置一个环境变量,并且获取它的值,如图
现在你该懂怎么做了吧?首先用户输入
set var=betty
然后解析器在系统中设置一个名为 var 的环境变量,并且设置它的值为 betty,代码如下
然后变量的赋值 销毁就类似上面的操作
好了,就写到这里了,实在是太困了,所以内容质量有些小瑕疵,抱歉,至于如何实现 for if之类的东西,会后期出一个专门教程。关注作者第一时间获取最新文章喔。
作者简绍:一位OIer