compiler: github.com/serulian/compiler

Directories

PathSynopsis
builderbuilder package defines the library for invoking the full compilation of Serulian code.
bundlePackage bundle defines interfaces for bundling together the files produced by a run of a generator.
compilercommonPackage compilercommon defines common types and their functions shared across the compiler.
compilergraphPackage compilergraph defines methods for loading and populating the overall Serulian graph.
compilerutilcompilerutil package defines utility methods.
developerdeveloper package defines a webserver for serving compiled code that automatically re-compiles on refresh.
formatterformatter package defines a library for formatting Serulian source code.
generator/es5The es5 package implements a generator for compiling Serulian into ECMAScript 5.
generator/es5/codedomcodedom package contains types representing a lower-level IR for easier construction of ES5.
generator/es5/dombuilderdombuilder package defines methods for translating the Serulian SRG into the codedom IR.
generator/es5/expressiongeneratorexpressiongenerator defines code for translating from CodeDOM expressions into esbuilder ExpressionBuilder objects.
generator/es5/shared
generator/es5/statemachinestatemachine package contains the helper code for generating a state machine representing the statement and expression level of the ES5 generator.
generator/escommonescommon defines common packages and methods for generating ECMAScript.
generator/escommon/esbuilderThe esbuilder package implements an ECMAScript AST for easier generation of code with source mapping references.
genericparserThis is a *generic* implementation of a lexer.
graphs/scopegraphPackage scopegraph defines methods for creating and interacting with the Scope Information Graph, which represents the determing scopes of all expressions and statements.
graphs/scopegraph/protoPackage proto is a generated protocol buffer package.
graphs/srgsrg package defines methods for interacting with the Source Representation Graph.
graphs/srg/typeconstructor
graphs/srg/typerefresolver
graphs/typegraphtypegraph package defines methods for creating and interacting with the Type Graph, which represents the definitions of all types (classes, interfaces, etc) in the Serulian type system defined by the parsed SRG.
graphs/typegraph/diff
graphs/typegraph/protoPackage proto is a generated protocol buffer package.
grokPackage grok provides helpers and tooling for reading, understanding and writing Serulian code.
integrationPackage integration defines interfaces and helpers for writing integrations with Serulian.
packageloaderPackage packageloader defines functions and types for loading and parsing source from disk or VCS.
packagetoolsPackage packagetools implements tools for working on Serulian packages.
parserPackage parser defines the full Serulian language parser and lexer for translating Serulian source code into an abstract syntax tree (AST).
parser/sharedPackage shared defines types shared by all parser implementations.
parser/v0Package parser defines the full Serulian language parser and lexer for translating Serulian source code into an abstract syntax tree (AST).
parser/v1Package parser defines the full Serulian language parser and lexer for translating Serulian source code into an abstract syntax tree (AST).
sourcemapsourcemap is a package which defines types and methods for working with V3 of the SourceMap spec: https://goo.gl/Bn7iTo
sourceshapePackage sourceshape defines the types representing the structure of source code.
testerpackage tester implements support for testing Serulian code.
tester/karmapackage karma implements support for testing Serulian code via the karma testing framework.
vcsvcs package defines helpers functions and interfaces for working with Version Control Systems such as git, including discovery of VCS information based on the Golang VCS discovery protocol.
vcs/checkouttool
vcs/discovertool
versionPackage version defines the versioning information for the toolkit.
webidlPackage webidl defines the WebIDL integration for Serulian.
webidl/graphPackage graph defines the graph for the WebIDL integration.
webidl/parserThis is a *generic* implementation of a lexer.
webidl/typeconstructor

Updated 2019-02-15. Refresh now. Tools for package owners.