Commit Graph

7 Commits

Author SHA1 Message Date
practicalswift
7eb7d5b109 [gardening] Fix 100 typos. 2017-04-18 17:01:42 +02:00
practicalswift
33a5601ad1 [gardening] Fix typos 2017-02-23 22:46:40 +01:00
David Farler
52096534a6 [Syntax] Fix a few typos and language in Readme.md 2017-02-22 18:45:29 -08:00
David Farler
bd6959b274 [Syntax] Fix unconscionable typography 2017-02-20 17:56:26 -08:00
David Farler
2578ae3be1 [Syntax] Add example object diagram for a return statement
Add a little visualization for a code snippet showing the main
players in the Syntax tree, showing where the strong references
flow.

NFC - documentation only.
2017-02-20 17:53:31 -08:00
David Farler
a6df054ae0 [Syntax] Add README.md for lib/Syntax 2017-02-17 12:57:04 -08:00
David Farler
7ee42994c8 Start the Syntax library and optional full token lexing
Add an option to the lexer to go back and get a list of "full"
tokens, which include their leading and trailing trivia, which
we can index into from SourceLocs in the current AST.

This starts the Syntax sublibrary, which will support structured
editing APIs. Some skeleton support and basic implementations are
in place for types and generics in the grammar. Yes, it's slightly
redundant with what we have right now. lib/AST conflates syntax
and semantics in the same place(s); this is a first step in changing
that to separate the two concepts for clarity and also to get closer
to incremental parsing and type-checking. The goal is to eventually
extract all of the syntactic information from lib/AST and change that
to be more of a semantic/symbolic model.

Stub out a Semantics manager. This ought to eventually be used as a hub
for encapsulating lazily computed semantic information for syntax nodes.
For the time being, it can serve as a temporary place for mapping from
Syntax nodes to semantically full lib/AST nodes.

This is still in a molten state - don't get too close, wear appropriate
proximity suits, etc.
2017-02-17 12:57:04 -08:00