This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/examplefiles/kuin/example.kn
Georg Brandl 47e1e1bc7e
Add KuinLexer (#1300)
* Add KuinLexer

* Add golden test output.

* Update mapfiles.

* Update URL.

* Fix regex lint failures.

Co-authored-by: tatt61880 <tatt61880@gmail.com>
Co-authored-by: Matthäus G. Chajdas <dev@anteru.net>
2021-03-14 11:19:45 +01:00

37 lines
1.2 KiB
Text

{ Quine in Kuin. @tatt61880 }
func main()
func quine(str: []char)
var s: []char :: ""
foreach c(str)
switch(c)
case '\n'
do s :~ "\\n\" ~\n | \""
case '\\', '"'
do s :~ "\\\{c}"
default
do s :~ c.toStr()
end switch
end foreach
do cui@print(str ~ s ~ "\"\n do quine(str)\nend func\n")
end func
const str: []char :: "" ~
| "{ Quine in Kuin. @tatt61880 }\n" ~
| "func main()\n" ~
| " func quine(str: []char)\n" ~
| " var s: []char :: \"\"\n" ~
| " foreach c(str)\n" ~
| " switch(c)\n" ~
| " case '\\n'\n" ~
| " do s :~ \"\\\\n\\\" ~\\n | \\\"\"\n" ~
| " case '\\\\', '\"'\n" ~
| " do s :~ \"\\\\\\{c}\"\n" ~
| " default\n" ~
| " do s :~ c.toStr()\n" ~
| " end switch\n" ~
| " end foreach\n" ~
| " do cui@print(str ~ s ~ \"\\\"\\n do quine(str)\\nend func\\n\")\n" ~
| " end func\n" ~
| " const str: []char :: \"\" ~\n" ~
| " | \""
do quine(str)
end func