March 2014 update
This commit is contained in:
parent
09687c4926
commit
a25938f123
1846 changed files with 21876 additions and 5203 deletions
16
Task/S-Expressions/AutoHotkey/s-expressions-1.ahk
Normal file
16
Task/S-Expressions/AutoHotkey/s-expressions-1.ahk
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
S_Expressions(Str){
|
||||
Str := RegExReplace(Str, "s)(?<![\\])"".*?[^\\]""(*SKIP)(*F)|((?<![\\])[)(]|\s)", "`n$0`n")
|
||||
Str := RegExReplace(Str, "`am)^\s*\v+") , Cnt := 0
|
||||
loop, parse, Str, `n, `r
|
||||
{
|
||||
Cnt := A_LoopField=")" ? Cnt-1 : Cnt
|
||||
Res .= tabs(Cnt) A_LoopField "`r`n"
|
||||
Cnt := A_LoopField="(" ? Cnt+1 : Cnt
|
||||
}
|
||||
return Res
|
||||
}
|
||||
tabs(n){
|
||||
loop, % n
|
||||
Res .= "`t"
|
||||
return Res
|
||||
}
|
||||
6
Task/S-Expressions/AutoHotkey/s-expressions-2.ahk
Normal file
6
Task/S-Expressions/AutoHotkey/s-expressions-2.ahk
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Str =
|
||||
(
|
||||
((data da\(\)ta "quot\\ed data" 123 4.5)
|
||||
("data" (!@# (4.5) "(mo\"re" "data)")))
|
||||
)
|
||||
MsgBox, 262144, , % S_Expressions(Str)
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
import std.stdio, std.conv, std.algorithm, std.variant, std.uni,
|
||||
std.functional;
|
||||
std.functional, std.string;
|
||||
|
||||
alias Sexp = Variant;
|
||||
|
||||
|
|
@ -9,8 +9,8 @@ struct Symbol {
|
|||
}
|
||||
|
||||
Sexp parseSexp(string txt) @safe pure /*nothrow*/ {
|
||||
static bool isIdentChar(in char c) @safe pure /*nothrow*/ {
|
||||
return c.isAlpha || "0123456789!@#-".canFind(c);
|
||||
static bool isIdentChar(in char c) @safe pure nothrow {
|
||||
return c.isAlpha || "0123456789!@#-".representation.canFind(c);
|
||||
}
|
||||
|
||||
size_t pos = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue