Skip to content

Compiler Layering#1512

Merged
CyrusNajmabadi merged 13 commits into
masterfrom
layering
Dec 18, 2014
Merged

Compiler Layering#1512
CyrusNajmabadi merged 13 commits into
masterfrom
layering

Conversation

@CyrusNajmabadi

Copy link
Copy Markdown
Contributor
Layer the compiler so that every layer only depends on hte layers below it.

The layering is now:

types
core
scanner
parser
binder
checker
emitter
program

and then

services

With this, anyone can now open any layer of the compiler and have it correctly work in the IDE, as well as build it from the command line.

Note: this is a work in progress. there are still additional commits coming.

…ow it.

The layering is now:

types
core
scanner
parser
binder
checker
emitter
program
This breaks layering.  Also, it means the emitter depends on too large a surface area.
Now the emitter declares exactly what it needs, and only gets that.
Comment thread src/compiler/checker.ts Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update the preceding comment.

Instead, these layers explicitly specify the functionality they need, and don't take in anything extra.
@CyrusNajmabadi CyrusNajmabadi changed the title Layering Compiler Layering Dec 16, 2014
Comment thread Jakefile

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add "program.ts" to thedefinitionsRoots`.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

CyrusNajmabadi added a commit that referenced this pull request Dec 18, 2014
@CyrusNajmabadi CyrusNajmabadi merged commit 5ecc288 into master Dec 18, 2014
@CyrusNajmabadi CyrusNajmabadi deleted the layering branch December 18, 2014 21:02
@microsoft microsoft locked and limited conversation to collaborators Jun 18, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants