tree-sitter / tree-sitter-haskell

Haskell grammar for tree-sitter.
MIT License
152 stars 36 forks source link

Support c++03 #58

Closed 414owen closed 2 years ago

414owen commented 2 years ago

This increases portability. See https://github.com/tree-sitter/tree-sitter-haskell/issues/34#issue-884495183. @tek this should be ready to merge.

This compiles with no output with g++ -Wall -std=c++03 -c -o out.o src/scanner.cc. I've tested the changes with tree-sitter (my compiler uses c++14 by default), but not with an older compiler.

@wenkokke this should remove the need for most of the web-tree-sitter patch, can you give us an update on that?
(Sorry, I would compile web-tree-sitter et al. myself, but unless there's a nix derivation, doing so is difficult on my machine)

wenkokke commented 2 years ago

@414owen It still needs __ZNSt3__25ctypeIcE2idE, which @maxbrunsfeld mentioned is "needed because of the use of iostream for logging." If you could remove that, that would be huge!

414owen commented 2 years ago

If you could remove that, that would be huge!

I have a branch that will definitely remove that: https://github.com/414owen/tree-sitter-haskell/tree/pure-c

but it has a kind of infinite-loop type bug at the moment :)