From 7ee6dfc00d26bd41b334386115dd2a58cfd80aab Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Tue, 5 Dec 2017 19:27:09 +0200 Subject: Initial commit --- 3rdparty/compile_gumbo_parser.nim | 11 + 3rdparty/compile_gumbo_parser.nim.cfg | 4 + 3rdparty/create_gumbo_wrapper.nim | 27 + 3rdparty/gumbo-parser/CHANGES.md | 63 + 3rdparty/gumbo-parser/COPYING | 201 + 3rdparty/gumbo-parser/README.md | 218 + 3rdparty/gumbo-parser/src/attribute.c | 44 + 3rdparty/gumbo-parser/src/attribute.h | 37 + 3rdparty/gumbo-parser/src/char_ref.c | 23069 +++++++++++++++++++++++++ 3rdparty/gumbo-parser/src/char_ref.h | 60 + 3rdparty/gumbo-parser/src/char_ref.rl | 2554 +++ 3rdparty/gumbo-parser/src/error.c | 279 + 3rdparty/gumbo-parser/src/error.h | 225 + 3rdparty/gumbo-parser/src/gumbo.h | 858 + 3rdparty/gumbo-parser/src/insertion_mode.h | 57 + 3rdparty/gumbo-parser/src/parser.c | 4192 +++++ 3rdparty/gumbo-parser/src/parser.h | 57 + 3rdparty/gumbo-parser/src/string_buffer.c | 110 + 3rdparty/gumbo-parser/src/string_buffer.h | 84 + 3rdparty/gumbo-parser/src/string_piece.c | 48 + 3rdparty/gumbo-parser/src/string_piece.h | 38 + 3rdparty/gumbo-parser/src/tag.c | 95 + 3rdparty/gumbo-parser/src/tag.in | 150 + 3rdparty/gumbo-parser/src/tag_enum.h | 153 + 3rdparty/gumbo-parser/src/tag_gperf.h | 105 + 3rdparty/gumbo-parser/src/tag_sizes.h | 4 + 3rdparty/gumbo-parser/src/tag_strings.h | 153 + 3rdparty/gumbo-parser/src/token_type.h | 41 + 3rdparty/gumbo-parser/src/tokenizer.c | 2897 ++++ 3rdparty/gumbo-parser/src/tokenizer.h | 123 + 3rdparty/gumbo-parser/src/tokenizer_states.h | 103 + 3rdparty/gumbo-parser/src/utf8.c | 270 + 3rdparty/gumbo-parser/src/utf8.h | 132 + 3rdparty/gumbo-parser/src/util.c | 58 + 3rdparty/gumbo-parser/src/util.h | 60 + 3rdparty/gumbo-parser/src/vector.c | 123 + 3rdparty/gumbo-parser/src/vector.h | 67 + 3rdparty/link_gumbo_parser.nim | 25 + LICENSE.md | 201 + README.md | 29 + examples/dump.nim | 48 + examples/nim.cfg | 1 + gumbo_parser.nim | 35 + gumbo_parser.nimble | 24 + gumbo_parser/gumbo.nim | 254 + 45 files changed, 37387 insertions(+) create mode 100644 3rdparty/compile_gumbo_parser.nim create mode 100644 3rdparty/compile_gumbo_parser.nim.cfg create mode 100644 3rdparty/create_gumbo_wrapper.nim create mode 100644 3rdparty/gumbo-parser/CHANGES.md create mode 100644 3rdparty/gumbo-parser/COPYING create mode 100644 3rdparty/gumbo-parser/README.md create mode 100644 3rdparty/gumbo-parser/src/attribute.c create mode 100644 3rdparty/gumbo-parser/src/attribute.h create mode 100644 3rdparty/gumbo-parser/src/char_ref.c create mode 100644 3rdparty/gumbo-parser/src/char_ref.h create mode 100644 3rdparty/gumbo-parser/src/char_ref.rl create mode 100644 3rdparty/gumbo-parser/src/error.c create mode 100644 3rdparty/gumbo-parser/src/error.h create mode 100644 3rdparty/gumbo-parser/src/gumbo.h create mode 100644 3rdparty/gumbo-parser/src/insertion_mode.h create mode 100644 3rdparty/gumbo-parser/src/parser.c create mode 100644 3rdparty/gumbo-parser/src/parser.h create mode 100644 3rdparty/gumbo-parser/src/string_buffer.c create mode 100644 3rdparty/gumbo-parser/src/string_buffer.h create mode 100644 3rdparty/gumbo-parser/src/string_piece.c create mode 100644 3rdparty/gumbo-parser/src/string_piece.h create mode 100644 3rdparty/gumbo-parser/src/tag.c create mode 100644 3rdparty/gumbo-parser/src/tag.in create mode 100644 3rdparty/gumbo-parser/src/tag_enum.h create mode 100644 3rdparty/gumbo-parser/src/tag_gperf.h create mode 100644 3rdparty/gumbo-parser/src/tag_sizes.h create mode 100644 3rdparty/gumbo-parser/src/tag_strings.h create mode 100644 3rdparty/gumbo-parser/src/token_type.h create mode 100644 3rdparty/gumbo-parser/src/tokenizer.c create mode 100644 3rdparty/gumbo-parser/src/tokenizer.h create mode 100644 3rdparty/gumbo-parser/src/tokenizer_states.h create mode 100644 3rdparty/gumbo-parser/src/utf8.c create mode 100644 3rdparty/gumbo-parser/src/utf8.h create mode 100644 3rdparty/gumbo-parser/src/util.c create mode 100644 3rdparty/gumbo-parser/src/util.h create mode 100644 3rdparty/gumbo-parser/src/vector.c create mode 100644 3rdparty/gumbo-parser/src/vector.h create mode 100644 3rdparty/link_gumbo_parser.nim create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 examples/dump.nim create mode 100644 examples/nim.cfg create mode 100644 gumbo_parser.nim create mode 100644 gumbo_parser.nimble create mode 100644 gumbo_parser/gumbo.nim diff --git a/3rdparty/compile_gumbo_parser.nim b/3rdparty/compile_gumbo_parser.nim new file mode 100644 index 0000000..9ca0adc --- /dev/null +++ b/3rdparty/compile_gumbo_parser.nim @@ -0,0 +1,11 @@ +{.compile:"gumbo-parser/src/attribute.c".} +{.compile:"gumbo-parser/src/char_ref.c".} +{.compile:"gumbo-parser/src/error.c".} +{.compile:"gumbo-parser/src/parser.c".} +{.compile:"gumbo-parser/src/string_buffer.c".} +{.compile:"gumbo-parser/src/string_piece.c".} +{.compile:"gumbo-parser/src/tag.c".} +{.compile:"gumbo-parser/src/tokenizer.c".} +{.compile:"gumbo-parser/src/utf8.c".} +{.compile:"gumbo-parser/src/util.c".} +{.compile:"gumbo-parser/src/vector.c".} diff --git a/3rdparty/compile_gumbo_parser.nim.cfg b/3rdparty/compile_gumbo_parser.nim.cfg new file mode 100644 index 0000000..ce3c009 --- /dev/null +++ b/3rdparty/compile_gumbo_parser.nim.cfg @@ -0,0 +1,4 @@ +--app:staticlib +--gc:none +--deadCodeElim:on +--noMain diff --git a/3rdparty/create_gumbo_wrapper.nim b/3rdparty/create_gumbo_wrapper.nim new file mode 100644 index 0000000..86c8b99 --- /dev/null +++ b/3rdparty/create_gumbo_wrapper.nim @@ -0,0 +1,27 @@ +import json +import os +import osproc +import strutils +import sequtils +import pegs + +let gumboHeader = getAppDir() / "gumbo-parser" / "src" / "gumbo.h" +let tmpFile = getAppDir() / "gumbo.nim.tmp" +let outputFile = getAppDir() / "gumbo.nim" + +let dynlibPeg = peg"','\s*'dynlib: DYNLIB'" + +let args = [ + "--skipinclude", + "--skipcomments", + "--dynlib:DYNLIB", + "--out:" & tmpFile, + "--debug", + gumboHeader +] + +echo(execProcess("c2nim", args, nil, {poEchoCmd, poUsePath})) + +transformFile(tmpFile, outputFile, [(pattern: dynlibPeg, repl: "")]) + +removeFile(tmpFile) diff --git a/3rdparty/gumbo-parser/CHANGES.md b/3rdparty/gumbo-parser/CHANGES.md new file mode 100644 index 0000000..277b3a2 --- /dev/null +++ b/3rdparty/gumbo-parser/CHANGES.md @@ -0,0 +1,63 @@ +## Gumbo 0.10.1 (2015-04-30) + +Same as 0.10.0, but with the version number bumped because the last version-number commit to v0.9.4 makes GitHub think that v0.9.4 is the latest version and so it's not highlighted on the webpage. + +## Gumbo 0.10.0 (2015-04-30) + +* Full support for `