[][src]Crate moore_svlog

This crate implements SystemVerilog for the moore compiler.

Re-exports

pub extern crate moore_svlog_syntax as syntax;

Modules

ast
cat

The categorizing lexer. Tokenizes an input stream of characters, yielding a stream of newline, whitespace, comment, symbol, and text tokens.

hir

The high-level intermediate representation for SystemVerilog.

lexer

A lexical analyzer for SystemVerilog files, based on IEEE 1800-2009, section 5.

mir

The medium-level intermediate representation for SystemVerilog.

parser

A parser for the SystemVerilog language. Based on IEEE 1800-2009.

preproc

A preprocessor for SystemVerilog files that takes the raw stream of tokens generated by a lexer and performs include and macro resolution.

token

Defines all tokens that may result from performing lexical analysis on a SystemVerilog source file. This module is inspired heavily by the tokens used in the Rust compiler.

ty

An implementation of the verilog type system.

value

Representation of constant values and their operations

Macros

database_storage

This macro generates the "query storage" that goes into your database. It requires you to list all of the query groups that you need as well as the queries within those groups. The format looks like so:

query_group

A macro that helps in defining the "context trait" of a given module. This is a trait that defines everything that a block of queries need to execute, as well as defining the queries themselves that are exported for others to use.

Structs

CodeGenerator

A code generator.

GlobalArenas

The arenas that allocate things in the global context.

GlobalContext

The central data structure of the compiler. It stores references to various arenas and tables that store the results of the various computations that have been performed.

GlobalTables

The lookup tables for a global context.

ParamEnv

A parameter environment.

ParamEnvData

A parameter environment.

PortMapping

A port mapping.

Rib

One local scope.

Enums

ParamEnvBinding

A binding in a parameter environment.

ParamEnvSource

A location that implies a parameter environment.

PortMappingSource

A location that implies a port mapping.

RibKind

A local scope kind.

Traits

BaseContext

The fundamental compiler context.

Context

A collection of compiler queries.

Type Definitions

NodeEnvId

A node id with corresponding parameter environment.