ACT Library
Loading...
Searching...
No Matches
Public Attributes | List of all members
act_prs_lang Class Reference

Structure that holds a prs sub-language body. This consists of a linked-list of individual items in the prs body. More...

#include <lang.h>

Public Attributes

struct act_prs_langnext
 the linked list next pointer field
 
unsigned int type:3
 
union {
   struct {
      act_attr_t *   attr
 
      act_prs_expr_t *   e
 the guard of the production rule More...
 
      ActId *   id
 
      unsigned int   arrow_type:2
 
      unsigned int   dir:1
 
      unsigned int   label:1
 
   }   one
 
   struct {
      act_attr_t *   attr
 any attribute associated with the gate More...
 
      ActId *   g
 
      ActId *   s
 the source terminal More...
 
      ActId *   d
 the drain terminal More...
 
      ActId *   _g
 
      act_size_spec_t *   sz
 sizing specification More...
 
   }   p
 
   struct {
      const char *   id
 loop id More...
 
      Expr *   lo
 low range (NULL means 0..hi-1) More...
 
      Expr *   hi
 high range More...
 
      struct act_prs_lang *   p
 loop body More...
 
   }   l
 
u
 

Detailed Description

Structure that holds a prs sub-language body. This consists of a linked-list of individual items in the prs body.

Member Data Documentation

◆ _g

ActId* act_prs_lang::_g

the complemented gate (used for p-type and transmission gate)

◆ arrow_type

unsigned int act_prs_lang::arrow_type

The kind of production rule: normal (->) = 0, combinational (=>) = 1, c-element (#>) = 2

◆ attr

act_attr_t* act_prs_lang::attr

any attribute associated with the gate

any attribute associated with the production rule

◆ d

ActId* act_prs_lang::d

the drain terminal

◆ dir

unsigned int act_prs_lang::dir

direction for the right hand side 0 = -, 1 = +

◆ e

act_prs_expr_t* act_prs_lang::e

the guard of the production rule

◆ g

ActId* act_prs_lang::g

the gate terminal (used for n-type and transmission gate)

◆ hi

Expr* act_prs_lang::hi

high range

◆ id [1/2]

ActId* act_prs_lang::id

the variable on the right hand side of the prs; re-used as a char * if it is a label

◆ id [2/2]

const char* act_prs_lang::id

loop id

◆ 

struct { ... } act_prs_lang::l

used for ACT_PRS_LOOP. Also used by ACT_PRS_TREE and ACT_PRS_SUBCKT. In this case, id/lo/hi are all unused.

◆ label

unsigned int act_prs_lang::label

1 if it has a label on the RHS, 0 otherwise

◆ lo

Expr* act_prs_lang::lo

low range (NULL means 0..hi-1)

◆ next

struct act_prs_lang* act_prs_lang::next

the linked list next pointer field

◆ 

struct { ... } act_prs_lang::one

information for one prs element, used for ACT_PRS_RULE

◆  [1/2]

struct { ... } act_prs_lang::p

pass gate: use g for n-type, use _g for p-type (full transmission gate uses both). Used by ACT_PRS_GATE and ACT_PRS_CAP (cap uses s and d fields)

◆ p [2/2]

struct act_prs_lang* act_prs_lang::p

loop body

◆ s

ActId* act_prs_lang::s

the source terminal

◆ sz

act_size_spec_t* act_prs_lang::sz

sizing specification

◆ type

unsigned int act_prs_lang::type

an act_prs_lang_type that describes what the prs entry is

◆ 

union { ... } act_prs_lang::u

The documentation for this class was generated from the following file: