摇头语

shl的Python项目详细描述


摇头语言(SHL)

嘘!(易于编写,易于理解)由llvm支持的语言。

绑定

fromswinginghead.compilerimportBinderbinder=Binder(<code>)binder.<func_name>=>yourfunctionbinder=Binder.from_file('examples/demo.shl')assertbinder.head(3.0,4.0)==5.0

类型

`type(<meta>)?`
`int<32>`
`float`
`array<`int<32>`, 4>`

文字

(<type>-><literal>)
(`int<32>`->15)
(`int<64>`->323443)
(`float`->3.35)
(`void`->0)
(`array<`int<32>`, 4>`->@32~44~55~66@)

指针

<-<value>
<-(`float`->3.35)

控制流图

比较

| expr ">" <comp prefix><comp type><comperator> "<" expr | 

,1 >f ordered gt< ,2

如果/然后

comp "=>" {
    exprs*
}

|,1 >f ordered gt< ,2| => {
    ./ (`float`->2.0)
}

如果/然后/其他

comp "=>" {
    exprs*
}
"!=>" {
    exprs*
}

|,1 >f ordered gt< ,2| => {
    ./ (`float`->2.0)
}
!=> {
    ./ (`float`->5.0)
}

功能

函数类型

swing <return> $<arg1>€....€<argn>$
swing `float` $`float`€`float`$

身体

<name> {
    <expr>*
}
add {
    ,1 f+ (`float`->3.35)
    res eqs ,1 f+ ,2
    ./ ,res
}

本地名称

,<name>
,1 (first argument)
,n (nth argument)
,xyz (xyz declared upper)

操作

<literal or name> <op prefix> <op> <literal or name>
,1 f+ (`float`->3.35)

方程式

<name> eqs <something>
res eqs ,1 f+ ,2

返回

./ <return value>
./ ,res

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
关于JSP转发的java问题   强制Oracle驱动程序向java输出带有时区的时间戳。sql。使用getObject时的时间戳   Java中的配置单元UDF在创建表时失败   eclipse怀疑Java上下文加载器使用不再存在的文件   范围如何为我没有在JavaEE中编写的类定义单例对象?   java Eclipse未启动:JVM已终止。退出代码=14   仅存在于子类中的属性的java别名(Hibernate标准)   Java字符串插入错误   无法打开java@PropertySource,因为它不存在   java从多项目Maven配置生成WAR文件   java Hibernate@Lob注释不再有效:不能用几个字符串超过CLOB的总长度?   java jbutton的鼠标侦听器包含if/else循环阻塞的jvm?   java如何删除最近24小时安卓的通话记录   java Android服务+计数器不工作   java如何获取返回结果的服务器的数据,我希望将该结果更新到另一台服务器   java从javax获得“一切”是可能的。命名。初始上下文?   java Spring云门请求超时不适用于路径   java web应用程序会话缓存   java使用dialogflow的响应通过google助手打开我的应用程序   MongoDB添加createAt updatedAt字段java