SpacemanDMM/src/dreammaker
2019-07-14 20:18:33 -07:00
..
examples Add ObjectTree::expect for convenience 2019-02-20 13:29:38 -08:00
tests Handle 1#INF literals 2019-06-29 15:54:01 -07:00
annotation.rs Include macro definitions in the outline 2019-03-10 00:29:23 -08:00
ast.rs Add further type expression structure 2019-06-24 21:41:25 -07:00
builtins.rs Add built in values for most of the atom vars (#89) 2019-07-12 13:07:49 -07:00
Cargo.toml Drop noisy_float dependency 2019-06-26 22:48:18 -07:00
constants.rs Add ConstFn::File 2019-06-29 17:59:17 -07:00
dmi.rs Add example for detecting duplicate icon states 2019-01-20 00:24:59 -08:00
docs.rs Tidy use of deprecated trim_ variants 2019-01-19 22:22:36 -08:00
error.rs Use the global context to allow file_url to work 2019-04-02 23:42:53 -07:00
indents.rs Apply a variety of rustfmt suggestions 2018-10-21 14:15:09 -07:00
lexer.rs Handle 1#INF literals 2019-06-29 15:54:01 -07:00
lib.rs Drop noisy_float dependency 2019-06-26 22:48:18 -07:00
objtree.rs Add TypeProc::main_value method 2019-07-14 20:18:21 -07:00
parser.rs Add note to errors which terminate the parse 2019-06-30 19:26:50 -07:00
preprocessor.rs Return documentation with completion results 2019-07-14 20:18:33 -07:00
README.md Add a readme for the dreammaker crate 2019-07-02 20:35:20 -07:00

dreammaker library

This library crate implements a parser for the DreamMaker language. It is a core component of SpacemanDMM and powers the rest of the tooling.

Diagnostics

  • Preprocessor:
    • Redefining a macro which is already defined.
    • Undefining a macro which is not defined.
    • Unterminated conditional blocks (#if/#ifdef).
    • Using a define in a buggy context.
  • Language:
    • Incorrect or correct-but-strange syntax.
    • Non-constant initial values for object variables.
    • Integer constants which are outside of range.