S-expressions: Difference between revisions

m
m (→‎JavaScript :: Functional: Simpler quoteTokens)
Line 3,628:
const [t, ...ts] = tkns;
 
// Subforests are introduced by brackets,
return "(" === t ? (
// Opening brackets introduce subForests,
bimap(
xs => trees.concat(
Line 3,637:
xs => xs.slice(1)
)(go(ts))
 
// closing bracketsand conclude forests,where brackets close.
) : ")" === t ? (
// closing brackets conclude forests,
Tuple(trees)(ts)
// and otherOther tokens are appended leaves.
) : Tuple(
// and other tokens are appended leaves.
trees.concat(
Node(atom(t))([])
9,655

edits