duangsuse::Echo
722 subscribers
4.29K photos
130 videos
583 files
6.51K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
duangsuse::Echo
最后的重构目标,现在已经支持 1_000 0x1234af 0x1D 这种数字
给大家解释一下这些类的作用和用法

借用王某人的一句话,「我并不推崇 Lisp,我也不是 Lisp 狂人,它只是我的小玩意儿之一。这个非常精巧的小玩意儿]」

(注)我只是觉得这玩意虽然依赖 Kotlin stdlib,但是本身没几行代码,所以感到高兴(我有体积强迫症),其实我觉得它大概不如 Lice 吧

lime.text

这个包是用于处理代码文本表示的,它把对 S-表达式链表的文本表示解析为 List 对象的形式

Lexer

这个类包含 Lime 的分词器程序

Token

这个类的实例代表 Lime 分词器江代码分成的一个个「词条(或标记)」

Parser

这个类通过「递归下降法」解析和生成具有 S-表达式结构的 List 对象,这个类产生的列表对象可以被 Lime 展开器(解释器)解释执行

lime.type

这个包包含
Lime 内部数据表现形式,它很简单,Lime 内部只需要「符号」、「S 表达式列表」 和 「宏」 三种对象

Macro

宏可以被理解为 JavaScript 的 Function,不过,Lime 里它只是一种「可以 apply(或者 invoke)」的对象,要不然得成大写 (. print (. + 1 1)) 这种代码

Symbol

Symbol 是字符串的 Wrapper,不过是一个独立出来的「字符串」类型而已,这和 ES6 上的 Symbol 不一样

SexpList

typealias SexpList = ArrayList<Any?>

lime 包含了 Lime 语言解释程序

Lime

这是 Lime 的解释器,它按照固定规则在一定上下文中展开 Lime 宏,并执行一些原生调用
#backend emmmm....
v86.js 真可谓是最好玩的 JavaScript 库(
KtLime1.2.zip
30.6 KB
好耶,是重构!
This media is not supported in your browser
VIEW IN TELEGRAM
Lime 已经可以作为一个解释器框架使用了!虽然我还没有增加展开器本身的测试
SourceJar.jar
20.7 KB
最新的源代码归档
-dontobfuscate
-target 1.8
-optimizations *
-optimizationpasses 5
-keepattributes SourceFile,LineNumberTable
-libraryjars /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.fc28.x86_64/jre/lib/rt.jar

-keep class lime.Lime { *; }
-keep class lime.Main { *; }

-keep class lime.type.Macro { *; }
-keep class lime.type.SexpList { *; }
-keep class lime.type.Symbol { *; }

-keep class lime.text.Token { *; }
-keep class lime.text.Lexer { *; }
-keep class lime.text.Parser { *; }
proguard6.0.3/bin/proguard.sh -injars ~/IdeaProjects/KtLime/out/artifacts/Lime/Lime.jar -outjars ~/IdeaProjects/KtLime/out/artifacts/Lime/Limee.min.jar @/home/DuangSUSE/Projects/KtLime/out/artifacts/Lime/pguared.cfg -libraryjars /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.fc28.x86_64/jre/lib/rt.jar -target 1.8 -keepattributes '*Annotation*' -keepattributes Signature -keepattributes InnerClasses -keepattributes InnerClasses,EnclosingMethod -libraryjars ~/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/182.4129.33/lib/kotlin-stdlib.jar -libraryjars ~/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/182.4129.33/lib/junit-4.12.jar

但是还是很大 😶
This media is not supported in your browser
VIEW IN TELEGRAM
累死了
Rachel 碎碎念
用爱发电结果啥都没做成的典型事例又多了一件 https://t.co/YQZThq6AkK — Rachel (ノД`)シクシク (@tangrui003) August 24, 2018
#geekapk 我们之前 GeekApk 的同志哈,不过现在 GeekApk 死了 GitApk 前扑后续还差一个 Gekyll 就反转了

新蛤社不知道有没有类似的 🐸
比 GeekApk 好,因为关注的人绠多一些,不过大概还是有难度,其实我也愿意去帮忙
不过开发的那位大佬是刚注册的帐号,所以水平暂时不清楚,不好钦定可靠度
我代表我自己对这种「敢同恶鬼争高下,不向霸王让寸分」的精神感到由衷的 excited,特此置顶表示资磁
duangsuse::Echo pinned «用爱发电结果啥都没做成的典型事例又多了一件 https://t.co/YQZThq6AkK — Rachel (ノД`)シクシク (@tangrui003) August 24, 2018»