Table of Contents

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();
}
/*--------------------------------------------------------------------------*/