Module kdl_script::parse

source ·
Expand description

Parsing and AST types.

The entrypoint is to invoke parse_kdl_script which is implicitly handled by Compiler::compile_path or Compiler::compile_string and will produce a ParsedProgram.

Things like name resolution are handled by the type checker.

Structs

  • A transparent type alias.
  • An attribute declaring a rust-style derive (unused, just for testing).
  • An attribute declaring this type should be packed (remove padding/align).
  • An attribute to passthrough to the target language.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • A c-like enum decl.
  • A variant of an EnumDecl.
  • A function declaration
  • An integer expression (literal)
  • An error that occured during parsing
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • A Parsed KDLScript program
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • A block for a PunDecl.
  • A type pun between different languages.
  • The environment required to resolve a PunSelector.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • A struct decl.
  • A tagged union (rust-like enum).
  • A variant of a TaggedDecl.
  • A (name, type) pair that occurs in many places like field/arg decls.
  • An untagged union decl.

Enums

  • An attribute that can be hung off a function or type.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • A selector for a PunBlock
  • All of this gunk is only used for function bodies, which only exist in the meme feature=eval mode.
  • A Type declaration
  • A type “name” (which may be structural like [u32; 4]).

Functions

Type Aliases

  • A string that may refer to another item like a type of function