Zellyn Hunter
Zellyn Hunter
One of our engineers commented: >Some of these benchmarks are really tough to make representative. For example, some benchmarks test going from an object model to a JSON string, but...
That makes sense. Presumably, JSON BinPack would always be turned back into a JSON representation before use? I imagine something like Cap'n Proto or Flatbuffers might have an advantage of...
I definitely understand the frustration with the vast differences in implementation speed and other characteristics. All the speed comparisons I've been able to find between protos and gzipped JSON severely...
Heh. Old, and never went anywhere. I'll probably delete it. Clone if you want what's there…
Nope: I didn't know about it. Looks like a willing-to-modify-yacc approach to http://people.via.ecp.fr/~stilgar/doc/compilo/parser/Generating%20LR%20Syntax%20Error%20Messages.pdf (as opposed to the approach taken by rsc (referencing the same paper) at http://research.swtch.com/yyerror. Thanks for the...
For a classroom compiler, yes :-) In fact, the test data they give you to check against has fairly typical yacc errors in it, so it's actually easier to validate...
I got a lot of mileage out of reading https://code.google.com/p/rsc/source/browse/cc/ - it does #include at the lexer level. I'm not sure about #ifdef.
Not quite sure I understand. Variables in Cool are either object attributes (https://github.com/zellyn/gocool/blob/4af507658020053606f8701603d9d5dfbeefa3ac/parser/ast.go#L46), function parameters (https://github.com/zellyn/gocool/blob/4af507658020053606f8701603d9d5dfbeefa3ac/parser/ast.go#L41), or created with Let statements (https://github.com/zellyn/gocool/blob/4af507658020053606f8701603d9d5dfbeefa3ac/parser/ast.go#L96)
Yep. But I'm just now implementing the compiler, so I have't got there yet. For typechecking, I'm using this: https://github.com/zellyn/gocool/blob/master/symbols/symbols.go
Which areas in particular would you like feedback on? I haven't got all the way through the implementation of scoping, but what's done is mostly in https://github.com/zellyn/gocool/blob/master/symbols/symbols.go Basically, each time...