I like how you guys like saying that lisp is bad because you can make a mess of parentheses but assignments in expressions doesn't count because you can not make it.
Description
There are an infinite number of ASCII strings. Write a program that will output every possible ASCII string exactly once.
The ordering does not matter, but you must be able to show that for any possible ASCII string s, there exists an integer n such that s is the nth string in the o...
@HyperNeutrino you should learn and use a PEG parser instead of writing your own logic from scratch, it makes your logic a lot easier to follow and it's typically easier to implement and maintain
PatternMatcher([('expression', lambda x: 'literal' not in x), (lambda x: 'bracket_expr' in x and 'bracket' in x,)], lambda x, y: ASTNode(lexer.Token('call/expression', ''), [x] + (y.children[0].children if y.children and y.children[0].token.type == 'comma' else y.children))),
it's an (expression that isn't a literal) followed by a (bracketed expression) which becomes a (call) which is an (expression) and it will move the function into the first slot and the rest of the things into the next slots, splatting any comma expressions
The later version of the tokenzier uses an actual require.
var v = getVar(scope, dat[0][1][0][1][0][1]);
var ind = parseExpression(dat[0][1][1][1][1],scope);
var val = parseExpression(dat[2],scope);
try{
v[ind] = val;
}catch(e){}
@ATaco that second argument doesn't even make sense. The Sync methods don't require a callback, you'd normally put an options object or an encoding there.