如梦令编程语言主页上线了

Posted njinn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如梦令编程语言主页上线了相关的知识,希望对你有一定的参考价值。

经过一段时间的密集开发,如梦令编程语言(RML)主页正式上线了!

www.rml-lang.top

RML主页提供了较为详尽的语言文档,有助于快速掌握RML的语法。

另外,RML的主页服务器完全使用RML编写完成,目前稳定提供服务中。

这一定程度上验证了RML已具备一定的可用性。

 

一个简单的基于TCP的服务器示例

server: open tcp://:8384

server/awake: [

    conn/awake: copy [
        write this-port "HTTP/1.1 200 OK^M^/Content-Type:text/html; charset=utf8^M^/Content-Length:14^M^/^M^/<h1>HELLO</h1>"      
    ]
    conn/read-timeout: 30
    conn/on-close: []
    fork [listen conn]
]

print "start listen"
fork [listen server]

 

RML主页使用的服务器支持动态页面,其实现原理是将rsp文件解析成RML中的collect代码,通过parse方言能够很轻松实现这个功能,下面是rsp文件的解析代码

rsp-complier: func [inp] [
    rst: copy ""

    parse copy inp [
        opt [
            copy start-str to "<?" ( if start-str [reppend* rst [" keep "  format start-str " " ]] )
            |
            copy start-str to end ( print start-str if start-str [reppend* rst [" keep " format start-str " " ]] )
        ]
        
        some [
            thru "<?" copy code to "?>"
            (append* rst code)
            [
                thru "?>" copy str to "<?"
                (reppend* rst [" keep " format str])
                |
                thru "?>" copy str to end
                (reppend* rst [" keep " format str])  
                |
                thru "?>" end         ]
        ]
    ]

    rst: append "collect [ " rst
    append* rst "]"
    
    return rst
]

主页文档提供了较为完整的parse方言教程,快来了解一下这个文本解析神器吧!

以上是关于如梦令编程语言主页上线了的主要内容,如果未能解决你的问题,请参考以下文章

PHP WordPress条件为主页SlideDeck主题代码片段

ActionBar的后退主页按钮无法使用片段

从片段返回主页活动而不启动新活动(主页)

禁用导航抽屉,在片段中切换主页按钮/向上指示器

导航抽屉活动:在按钮单击时从片段移动到片段

如梦令·海棠花溪