Age | Commit message (Collapse) | Author | Files | Lines |
|
This is needed if the cli runtime is included from another file instead
of being generated. The alternative would be to move that code to the
header file. However, that would also require including a lot of standard
headers in the generated header file.
|
|
New include-path prefixes, c++: and cli:, are now recognized (e.g.,
include <cli:foo>;). Without a prefix, the include declarations is
considered to be c++-include unless the path ends with the .cli
extension.
The cli-included files are loaded and parsed. Currently, only inclusion
relative to the current file is supported. Duplicate inclusions are
detected and ignored based on the absolute filesystem path.
If a file cli-includes another file, then the runtime code is assumed
to come from the included file and is not generated.
|
|
|
|
|
|
|
|
|
|
On some platforms (e.g., Windows/VC++ 8.0) stdout is a macro.
|
|
Add the man page generator. Port CLI usage, HTML documentation and the man
page to the auto-generated version. Update examples and documentation.
|
|
|
|
Also migrate the CLI compiler usage handling to the auto-generated version.
|
|
|
|
|
|
--include-with-brackets
--include-prefix
--guard-prefix
|
|
|
|
|
|
|
|
Also generate some runtime support code such exceptions, value
parsers, etc.
|
|
Name processor is a separate pass over the semantics graph that assigns
names to various constructs while making sure there are no name clashes.
|
|
|
|
|
|
Use cutl::fs::path instead of std::string in the semantic
graph. Add context and generator stubs, to be filled next.
Connect everything in the compiler driver.
|