开发语言引擎,编译引擎构思

引导引擎,内核引擎(编译引擎),

引导引擎【含 变量的内存地址和对应的内核引擎的类型】
内核引擎(编译引擎)

内核引擎判断顺序:类型 -> 变量 -> 值

内核引擎,它判断了哪些事情呢?
(类型)类型:类的类型
(类型)方法:类的方法
(类型)变量:被定义的变量,有作用域的变量,未被定义的是值
(类型)值:被定义的叫变量,因此未被定义的就是值,比如直接代码中写3.14,就是个值,它是没有指针的。

【示例一】如何判断3.14?
当遇到 . 的时候,调用引擎,编译引擎获取到 3.14不是个"类",因为它是没有指针的(会继续执行),依次判断到3.14它不是个变量(因为它没有指向一块内存地址,它就是个临时的值,也是临时的内存地址),最后判断它就是一个值,若是值就不必调用引擎(它存储在临时内存,既栈中)。

否则例如:person.eye(人的眼睛),截取到 . 之前,我们判断到 person有指针,而且它是一个"类"的类型,我们就能够调用person这个类了。

一个变量过来,在引擎中我们先找这个变量的引用地址,这个引用地址它包含:引用地址和它本身对应的内核引擎(类?方法?变量?值?)。

当我们知道了这个变量的类型(类?方法?变量?值?),我们就能够调用【内核引擎】,通过内核引擎 (比如 person 去实例化 person这个类),当遇到 . 的时候回到【示例一】

  1. .(点)代表特殊引擎,当输入 . 的时候先判断数据类型(是对象引擎?类的方法引擎?还是数据内核引擎?,比如 人 . 眼睛,人就是对象类型;3.14就是),当前被定义了什么类型,接着调用这个类型的引擎( . 本来也是个引擎,它优先于内核引擎【内核引擎:[ ], { }】)
  2. 何时调用引擎?当出现特殊符号时候: 【 符号引擎 [ ] , { } ," " 】, 【 方法引擎 toArray(), toInt(), toObj() 】 【 变量引擎 temp, hello 】
  3. 定义变量作用域,类私有方法和属性(方法加var),类的外部可访问方法(不加var),避免像go一样大小写混杂
  4. 定义数据类型: 数组 [ ] , 对象{ }, 字符串对象" ",布尔?,存在吗??(方法,属性,值),
  5. 定义根据参数个数调用类的哪个方法,在构造函数cons中判断调用者传过来了几个参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kentrl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值