Commit Graph

6 Commits

Author SHA1 Message Date
Xi Ge
a86f89da48 SwiftSyntax Parser: expose parser diagnostics via C API.
This allows SwiftSyntax to listen to emitted diagnostics during
parsing.

rdar://48439271
2019-03-01 15:22:21 -08:00
Xi Ge
e07a8cf2a6 SyntaxParser: set up a C API to get a hash value indicating the node declaration set
To ensure SwiftSyntax calls a compatible parser library, this patch sets
up a C API that returns a constant string calculated during compilation time to indicate
the version of syntax node declarations. The same hash will be calculated
in the SwiftSyntax (client) side as well by using the same algorithm.

During runtime, SwiftSyntax will verify its hash value is identical to the
result of calling swiftparse_node_declaration_hash before actual
parsing happens.

This patch only sets the API up. The actual implementation of the
hashing algorithm will come later.
2019-02-06 17:33:48 -08:00
Argyrios Kyrtzidis
aa97c4e327 [SwiftSyntaxParser] Clarify doc-comment about the order of the nodes that the parser provides 2019-01-10 16:50:46 -08:00
Argyrios Kyrtzidis
7d56a195e6 [SwiftSyntaxParser] Add doc-comments for swiftparse_parser_t 2019-01-10 16:36:32 -08:00
Argyrios Kyrtzidis
484479dde4 [SyntaxParser] Remove leftover type declaration and adjust the *_EXPORTS macro name
Also fixup some doc-comments.
2019-01-10 08:10:44 -08:00
Argyrios Kyrtzidis
1dc288fb23 Introduce C parser library
Add a shared library with a C API that provides access to the syntactic parser with callbacks for the inference of raw syntax nodes.
This is primarily intended to be used by SwiftSyntax to speed-up source code parsing for it.
2019-01-09 18:30:45 -08:00