====== Language plugins ======
===== Implementation =====
==== parse, print label ====
=== Background ===
The label is a string by which this instance is known.
In a paramset (Spice .model) the label is the name of the new type being defined.
A "short_label" is the simple form of the label, without scope information.
A "long_label" is a full label including hierarchical scope information.
=== parse_label ===
This function usually reads the type from the input string, then calls ''set_dev_type'' to set it.
Usually, you can use this function:
/*--------------------------------------------------------------------------*/
static void parse_label(CS& cmd, CARD* x)
{
assert(x);
std::string my_name;
cmd >> my_name;
x->set_label(my_name);
}
/*--------------------------------------------------------------------------*/
=== print_label ===
Printing the type usually simple. Usually, you can use this function:
/*--------------------------------------------------------------------------*/
static void print_label(OMSTREAM& o, const COMPONENT* x)
{
assert(x);
o << x->short_label();
}
/*--------------------------------------------------------------------------*/