Update SyntaxTable
This commit is contained in:
parent
01e15ce040
commit
c03f62e8fa
|
@ -2,7 +2,7 @@ use json::JsonValue;
|
|||
use linked_hash_map::LinkedHashMap;
|
||||
use linked_hash_set::LinkedHashSet;
|
||||
use llhd::{
|
||||
ir::{Arg, Block, Module, Signature, UnitBuilder, UnitData, UnitKind, UnitName, Value},
|
||||
ir::{Arg, Block, Inst, Module, Signature, UnitBuilder, UnitData, UnitKind, UnitName, Value},
|
||||
ty::Type,
|
||||
value::IntValue,
|
||||
};
|
||||
|
@ -32,6 +32,7 @@ pub struct UnitContext {
|
|||
pub struct SyntaxTable<'a> {
|
||||
pub root: &'a JsonValue,
|
||||
pub values: HashMap<Value, &'a JsonValue>,
|
||||
pub insts: HashMap<Inst, &'a JsonValue>,
|
||||
}
|
||||
|
||||
pub struct SymbolInfo {
|
||||
|
@ -138,6 +139,7 @@ impl<'a> SyntaxTable<'a> {
|
|||
Self {
|
||||
root: json,
|
||||
values: HashMap::new(),
|
||||
insts: HashMap::new(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ mod tools;
|
|||
use always_statement::AlwaysStatement;
|
||||
use case_statement::CaseStatement;
|
||||
use conditional_statement::ConditionalStatement;
|
||||
use context::{ModuleContext, SymbolInfo, SymbolKind, SyntaxTable, UnitContext};
|
||||
use context::{ModuleContext, SymbolInfo, SymbolKind, UnitContext};
|
||||
use expression::Expression;
|
||||
use module_declaration::ModuleDeclaration;
|
||||
use net_variable_assignment::NetVariableAssignment;
|
||||
|
@ -27,6 +27,7 @@ use seq_block::SeqBlock;
|
|||
use statement::Statement;
|
||||
use symbol_declaration::SymbolDeclaration;
|
||||
|
||||
pub use context::SyntaxTable;
|
||||
pub use description_list::DescriptionList;
|
||||
pub use tags::Tag;
|
||||
pub use tools::{CodeReporter, Tools};
|
||||
|
|
|
@ -63,11 +63,12 @@ impl NonblockingAssignmentStatement {
|
|||
builder.append_to(bb_head);
|
||||
|
||||
let delta_time = builder.ins().const_time(TimeValue::new(num::zero(), 1, 0));
|
||||
builder.ins().drv(
|
||||
let inst = builder.ins().drv(
|
||||
unit_ctx.raw_name_to_value[lvalue_name],
|
||||
opt_expr.unwrap(),
|
||||
delta_time,
|
||||
);
|
||||
context.syntax_table.insts.insert(inst, json);
|
||||
|
||||
Some(bb_head)
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue