172 lines
9.1 KiB
HTML
172 lines
9.1 KiB
HTML
<!DOCTYPE html>
|
||
<head>
|
||
<title> nasal-http-test-web </title>
|
||
<meta charset="utf-8">
|
||
<meta author="ValKmjolnir">
|
||
<style>
|
||
body{
|
||
background: white;
|
||
width: 60%;
|
||
}
|
||
pre{
|
||
background: #303030;
|
||
font-family: 'Courier New', Courier, monospace;
|
||
font-size: small;
|
||
color: #d4d4d4;
|
||
}
|
||
h1,h2,h3{
|
||
padding: 5px;
|
||
background-color: #555588;
|
||
font-family: Arial, Helvetica, sans-serif;
|
||
color: white;
|
||
}
|
||
p{
|
||
margin-left: 15px;
|
||
}
|
||
div.badges{
|
||
text-align: center;
|
||
}
|
||
tr{
|
||
vertical-align: top;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<h1> Nasal | Not another scripting language!</h1>
|
||
<img src="/doc/pic/social.png" width="900" height="400" style="margin-left: 15px;"><br /></img>
|
||
<div class="badges">
|
||
<a href="https://github.com/ValKmjolnir/Nasal-Interpreter"><img src="https://img.shields.io/github/languages/code-size/ValKmjolnir/Nasal-Interpreter?style=flat-square&logo=github"></img></a>
|
||
<a href="https://github.com/ValKmjolnir/Nasal-Interpreter"><img src="https://img.shields.io/github/v/release/ValKmjolnir/Nasal-Interpreter?style=flat-square&logo=github"></img></a>
|
||
<a href="https://github.com/ValKmjolnir/Nasal-Interpreter"><img src="https://img.shields.io/badge/dev-v11.2-blue?style=flat-square&logo=github"></img></a>
|
||
<a href="https://github.com/ValKmjolnir/Nasal-Interpreter"><img src="https://img.shields.io/badge/license-GPLv2-green?style=flat-square&logo=github"><br/></img></a>
|
||
</div>
|
||
<h2> Introduction | 介绍</h2>
|
||
<text>
|
||
<p>
|
||
Hello, this is a simple HTML document just for test. This simple http server is written in nasal.
|
||
Nasal is an ECMAscript-like programming language that used in Flightgear designed by Andy Ross.<br/>
|
||
</p>
|
||
<p>
|
||
这是个用于测试的简易HTML文档。该http服务器是用nasal编写的。Nasal是一款用于飞行模拟器Flightgear的、类似ECMAscript的编程语言。该语言由Andy Ross设计完成。
|
||
</p>
|
||
<p>
|
||
The interpreter is totally rewritten by <a href="https://github.com/ValKmjolnir">ValKmjolnir</a> using C++(-std=c++11) without reusing the code in Andy Ross's nasal interpreter.
|
||
But we really appreciate that Andy created this amazing programming language and his interpreter project.
|
||
Now this project uses <a href="/license">GPL-2.0 license</a>.<br/>
|
||
</p>
|
||
<p>
|
||
这个解释器是由<a href="https://github.com/ValKmjolnir">ValKmjolnir</a>用C++11编写的,完全没有复用Andy Ross版解释器的代码。但是我们仍然非常感谢Andy为我们带来了这么一款有趣的编程语言。
|
||
现在这个项目使用<a href="/license">GPL-2.0协议</a>开源。
|
||
</p>
|
||
</text>
|
||
<h2> Benchmark | 执行效率</h2>
|
||
<img src="/doc/pic/benchmark.png" width="450" height="350"></img>
|
||
<img src="/doc/pic/mandelbrot.png" width="450" height="350"><br /></img>
|
||
<text>
|
||
<p>
|
||
Benchmark of different versions of nasal interpreter(left).
|
||
Beautiful picture generated by brainfuck interpreter written in nasal(right).
|
||
</p>
|
||
<p>
|
||
不同版本的nasal解释器执行效率图(左)。
|
||
nasal运行brainfuck绘制的曼德勃罗集合(右)。
|
||
</p>
|
||
<p>
|
||
Nasal can run this test file(test/bf.nas) to draw this picture in about 220 seconds.
|
||
In fact this test file cost over 2200 seconds before ver 8.0 .
|
||
</p>
|
||
<p>
|
||
Nasal现在可以在220秒内运行该文件(test/bf.nas)并绘制出这张图。
|
||
在8.0版本中这个解释器需要跑超过2200秒来绘制这张图。
|
||
</p>
|
||
<p>
|
||
The figure below is the feigenbaum-figure and burningship-figure generated by ppm script written in nasal.
|
||
</p>
|
||
<p>
|
||
下方是使用 nasal 的 ppm 生成脚本生成的 feigenbaum 和 burningship 图形。
|
||
</p>
|
||
</text>
|
||
<img src="/doc/pic/feigenbaum.png" width="900" height="550" style="margin-left: 15px;"><br /></img>
|
||
<img src="/doc/pic/burningship.png" width="900" height="550" style="margin-left: 15px;"><br /></img>
|
||
<h2> Example | 样例代码</h2>
|
||
<form method="get">
|
||
<text style="margin-left: 15px;"> </text>
|
||
<input type="text" name="filename" value="ascii-art.nas">
|
||
<input type="submit" value="search">
|
||
</form>
|
||
<table>
|
||
<tr>
|
||
<td>
|
||
<ul>
|
||
<li><a href="/ascii-art.nas">ascii-art.nas</a></li>
|
||
<li><a href="/auto_crash.nas">auto_crash.nas</a></li>
|
||
<li><a href="/bf.nas">bf.nas</a></li>
|
||
<li><a href="/bfconvertor.nas">bfconvertor.nas</a></li>
|
||
<li><a href="/bfs.nas">bfs.nas</a></li>
|
||
<li><a href="/bigloop.nas">bigloop.nas</a></li>
|
||
<li><a href="/bp.nas">bp.nas</a></li>
|
||
<li><a href="/calc.nas">calc.nas</a></li>
|
||
<li><a href="/choice.nas">choice.nas</a></li>
|
||
</ul>
|
||
</td>
|
||
<td>
|
||
<ul>
|
||
<li><a href="/class.nas">class.nas</a></li>
|
||
<li><a href="/coroutine.nas">coroutine.nas</a></li>
|
||
<li><a href="/diff.nas">diff.nas</a></li>
|
||
<li><a href="/exception.nas">exception.nas</a></li>
|
||
<li><a href="/fib.nas">fib.nas</a></li>
|
||
<li><a href="/filesystem.nas">filesystem.nas</a></li>
|
||
<li><a href="/hexdump.nas">hexdump.nas</a></li>
|
||
<li><a href="/httptest.nas">httptest.nas</a></li>
|
||
<li><a href="/json.nas">json.nas</a></li>
|
||
</ul>
|
||
</td>
|
||
<td>
|
||
<ul>
|
||
<li><a href="/leetcode1319.nas">leetcode1319.nas</a></li>
|
||
<li><a href="/lexer.nas">lexer.nas</a></li>
|
||
<li><a href="/life.nas">life.nas</a></li>
|
||
<li><a href="/loop.nas">loop.nas</a></li>
|
||
<li><a href="/mandelbrot.nas">mandelbrot.nas</a></li>
|
||
<li><a href="/mandelbrotset.nas">mandelbrotset.nas</a></li>
|
||
<li><a href="/mcpu.nas">mcpu.nas</a></li>
|
||
<li><a href="/md5_self.nas">md5_self.nas</a></li>
|
||
<li><a href="/md5compare.nas">md5compare.nas</a></li>
|
||
</ul>
|
||
</td>
|
||
<td>
|
||
<ul>
|
||
<li><a href="/module_test.nas">module_test.nas</a></li>
|
||
<li><a href="/nasal_test.nas">nasal_test.nas</a></li>
|
||
<li><a href="/occupation.nas">occupation.nas</a></li>
|
||
<li><a href="/pi.nas">pi.nas</a></li>
|
||
<li><a href="/ppmgen.nas">ppmgen.nas</a></li>
|
||
<li><a href="/prime.nas">prime.nas</a></li>
|
||
<li><a href="/qrcode.nas">qrcode.nas</a></li>
|
||
<li><a href="/quick_sort.nas">quick_sort.nas</a></li>
|
||
<li><a href="/scalar.nas">scalar.nas</a></li>
|
||
</ul>
|
||
</td>
|
||
<td>
|
||
<ul>
|
||
<li><a href="/snake.nas">snake.nas</a></li>
|
||
<li><a href="/tetris.nas">tetris.nas</a></li>
|
||
<li><a href="/trait.nas">trait.nas</a></li>
|
||
<li><a href="/turingmachine.nas">turingmachine.nas</a></li>
|
||
<li><a href="/utf8chk.nas">utf8chk.nas</a></li>
|
||
<li><a href="/watchdog.nas">watchdog.nas</a></li>
|
||
<li><a href="/wavecollapse.nas">wavecollapse.nas</a></li>
|
||
<li><a href="/word_collector.nas">word_collector.nas</a></li>
|
||
<li><a href="/ycombinator.nas">ycombinator.nas</a></li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</body>
|
||
<h2> Shutdown | 关闭服务器</h2>
|
||
<text>
|
||
<p>Click <a href="/shutdown">here</a> to shutdown http server.</p>
|
||
<p>Don't click <a href="/teapot">me</a> besauce i am just a teapot.</p>
|
||
</text>
|
||
</html> |