Skip to content

Instantly share code, notes, and snippets.

{
"category": "help",
"components": [
"want", "delimiters",
"create synonyms", "delimiters",
{"terminal": "a language node"},
{"regex": ".*"}
]
}
@nathanathan
nathanathan / languageNode.json
Created September 9, 2012 01:30
Test language node
{
"category": "test",
"components": [
{"terminal": "test"}
]
}
@nathanathan
nathanathan / languageNode.json
Created September 16, 2012 00:00
add language node
{
"category": "main",
"components": [
"add language node"
],
"url": "/addLangNode.html"
}
@nathanathan
nathanathan / index.html
Created October 20, 2012 22:43
How does language work?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Widget</title>
<style>
code {
display:block;
}
@nathanathan
nathanathan / languageNode.json
Created October 27, 2012 21:08
s-expression node
{
"category": "main",
"components": [
{"category": "s_exp"}
],
"url": "http://nathanathan.github.com/LanguageWidgets/interpreter.html"
}
{
"category": "s_list",
"components": [
{"category": "s_exp"}, {"regex" : "\\s+"},
{"category": "s_list"}
],
"implementation": "function (components) {return [components.at(0)].concat(components.at(2))}"
}
{
"category": "s_exp",
"components": [
"(",
{"category": "s_list"},
")"
],
"implementation": "function (components) {return components.at(1).at(0)(components.at(1).slice(1));}",
"asyncImpl": "components.at(1, function(component){ component.atAll(0, function(components) { callback(components[0](components.at(1).slice(1))); }); })"
}
@nathanathan
nathanathan / languageNode.json
Created October 28, 2012 21:01
s_exp number
{
"category": "s_exp",
"components": [
{"regex": "\\d+(\\.\\d+)?"}
],
"implementation": "function (components){return parseFloat(components[0], 10)}",
"asyncImpl": "components.at(0, function(component){ callback(parseFloat(component, 10)) })"
}
@nathanathan
nathanathan / languageNode.json
Created October 28, 2012 21:12
s_exp symbol
{
"category": "s_exp",
"components": [
{"regex": "[^\\s\\d'\"()]+"}
]
}
@nathanathan
nathanathan / languageNode.json
Created October 29, 2012 00:53
s_list single
{
"category": "s_list",
"components": [
{"category": "s_exp"}
]
}