PslNode_ptr 
PslNode_convert_from_node_ptr(
  node_ptr  expr 
)
The returned structure will still contain operators in the SMV parser's domain

Side Effects None

Defined in pslNode.c

PslNode_ptr 
PslNode_convert_id(
  PslNode_ptr  id, 
  PslOpConvType  type 
)
Converts an id to a different id type, for example a PSL id to a SMV id

Side Effects None

Defined in pslConv.c

node_ptr 
PslNode_convert_psl_to_core(
  PslNode_ptr  expr 
)
This is the high fcuntion used at system level to convert PSL expression to equivalent expressions that can be managed at system level. Warning: the resulting expression may have a different structure, do not refer to its structure to report errors to the user, use it internally intstead.

Side Effects None

Defined in pslConv.c

node_ptr 
PslNode_convert_to_node_ptr(
  PslNode_ptr  expr 
)
The returned structure will still contain operators in the PSL parser's domain

Side Effects None

Defined in pslNode.c

boolean 
PslNode_is_handled_psl(
  PslNode_ptr  e 
)
Returns true iff given expression can be translated into LTL.

Side Effects None

See Also optional
Defined in pslNode.c

boolean 
PslNode_is_ltl(
  const PslNode_ptr  expr 
)
Checks for a formula being an LTL formula

Side Effects None

See Also optional
Defined in pslNode.c

boolean 
PslNode_is_obe(
  const PslNode_ptr  expr 
)
Checks for a formula being an CTL formula

Side Effects None

See Also optional
Defined in pslNode.c

boolean 
PslNode_is_propositional(
  const PslNode_ptr  expr 
)
Checks for a formula being a propositional formula

Side Effects None

See Also optional
Defined in pslNode.c

PslNode_ptr 
PslNode_new_context(
  PslNode_ptr  ctx, 
  PslNode_ptr  node 
)
Creates a psl node that represents a contestualized node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
PslNode_pslltl2ltl(
  PslNode_ptr  expr, 
  PslOpConvType  type 
)
Takes a PSL LTL expression and builds the corresponding LTL expression. This ignores SERE that can be easily mapped to the corresponding LTL expression. The parameter replicator_id_stack is used to prevent ID duplication of nested forall (replicators).

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
PslNode_pslobe2ctl(
  PslNode_ptr  expr, 
  PslOpConvType  type 
)
Takes a PSL OBE expression and builds the corresponding CTL expression.

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
PslNode_remove_forall_replicators(
  PslNode_ptr  expr 
)
Takes a PSL expression and expands all forall constructs contained in the expression. Visits the syntax tree of the expressions and whenever it finds a forall construct it expands the expression in its scope.

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
PslNode_remove_sere(
  PslNode_ptr  e 
)
Converts the given expression (possibly containing sere) into an equivalent LTL formula

Side Effects required

See Also optional
Defined in pslConv.c

PslOp 
psl_conv_op(
  PslOpConvType  type, 
  PslOp  op 
)
Converts the given operator into either a PSL operator, or a SMV operator, depending on the value of 'type'

Side Effects required

See Also PSL_OP_CONV
Defined in pslConv.c

static int 
psl_expr_base_num_to_val(
  char* base_num 
)
optional

See Also optional
Defined in pslExpr.c

static int 
psl_expr_check_klass(
  const PslExpr  psl, 
  SyntaxClass  expected 
)
optional

See Also optional
Defined in pslExpr.c

static int 
psl_expr_is_boolean(
  const PslExpr  psl 
)
optional

See Also optional
Defined in pslExpr.c

static void 
psl_expr_print_klass(
  FILE* file, 
  SyntaxClass  type 
)
optional

Side Effects required

See Also optional
Defined in pslExpr.c

static void 
psl_expr_require_klass(
  const PslExpr  psl, 
  SyntaxClass  expected 
)
optional

See Also optional
Defined in pslExpr.c

PslNode_ptr 
psl_new_node(
  PslOp  op, 
  PslNode_ptr  left, 
  PslNode_ptr  right 
)
WARNING: If this function is being called to build a branch of the parse-tree from a branch coming from the parsing phase (i.e. it is a token, and not a symbol), the token *must* be converted to a PSL node by calling psl_conv_op(TOK2PSL, op)

Side Effects None

See Also optional
Defined in pslNode.c

PslNode_ptr 
psl_node_cons_get_element(
  PslNode_ptr  e 
)
Returns the currently pointed element of a list

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_cons_get_next(
  PslNode_ptr  e 
)
Returns the next element of a list

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_cons_reverse(
  PslNode_ptr  e 
)
Returns a new sequence containing the same elements as 'e' but in reverse order

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_context_to_main_context(
  PslNode_ptr  context 
)
This function is used to build the internal structure of the context (e.g. module instance name) from the parse tree. The function is needed since with the grammar it is not possible/simple to build directly the desired structure.

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_expand_next_event(
  PslOp  op, 
  PslNode_ptr  f, 
  PslNode_ptr  b, 
  PslOpConvType  type 
)
During the conversion to LTL, this function is invoked when the expansion of next_event family is required.

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_expand_replicator(
  PslNode_ptr  rep, 
  PslNode_ptr  wff, 
  PslOp  op 
)
Wff must not have been converted to smv yet when this function is called. Each replicated expression wff will be joined with the others by using the passed operator op. The result still contains only psl tokens.

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
psl_node_extended_next_get_condition(
  PslNode_ptr  next 
)
Returns the boolean condition of a next expression node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_extended_next_get_expr(
  PslNode_ptr  next 
)
Returns the FL expression of a next expression node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_extended_next_get_when(
  PslNode_ptr  next 
)
Returns the when component of a next expression node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_case_cond(
  PslNode_ptr  _case 
)
Returns the condition of the given case node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_case_next(
  PslNode_ptr  _case 
)
Returns the next case node of the given case.

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_case_then(
  PslNode_ptr  _case 
)
Returns the 'then' branch of the given case node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_ite_cond(
  PslNode_ptr  _ite 
)
Returns the condition of the given ITE node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_ite_else(
  PslNode_ptr  _ite 
)
Returns the 'else' branch of the given ITE node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_ite_then(
  PslNode_ptr  _ite 
)
Returns the 'then' branch of the given ITE node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_left(
  PslNode_ptr  n 
)
Returns the given expression's left branch

Side Effects None

Defined in pslNode.c

PslOp 
psl_node_get_op(
  PslNode_ptr  n 
)
Returns the given expression's top level operator

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_replicator_id(
  PslNode_ptr  _repl 
)
Given a replicator, returns the its ID

Side Effects None

Defined in pslNode.c

PslOp 
psl_node_get_replicator_join_op(
  PslNode_ptr  _repl 
)
Given a replicator, returns the operator joining each replicated expression

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_replicator_normalized_value_set(
  PslNode_ptr  rep 
)
Given a replicator, returns its values set as a list of the enumerated values

Side Effects required

See Also optional
Defined in pslNode.c

PslNode_ptr 
psl_node_get_replicator_range(
  PslNode_ptr  _repl 
)
Given a replicator, returns its range

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_replicator_value_set(
  PslNode_ptr  _repl 
)
Given a replicator, returns the its values set.

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_get_right(
  PslNode_ptr  n 
)
Returns the given expression's right branch

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_insert_inside_holes(
  PslNode_ptr  e, 
  PslNode_ptr  to_be_inserted, 
  boolean* inserted 
)
Service due to way concat_fusion expansion is implemented

Side Effects required

See Also optional
Defined in pslConv.c

boolean 
psl_node_is_boolean_type(
  PslNode_ptr  expr 
)
Returns true if the given node is the PSL syntactic type 'boolean'

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_case(
  PslNode_ptr  _case 
)
Returns true if the given expression is a case expression

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_cons(
  PslNode_ptr  e 
)
Returns true if the given node is a list

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_is_emptystar_free(
  PslNode_ptr  expr 
)
Returns true if the given expression is empty star-free

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_is_equal(
  PslNode_ptr  e, 
  PslNode_ptr  f 
)
To compare structures like {{a}} and {{{{a}}}} and check whether the innermost {a}'s are actually the same node pointer

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_extended_next(
  PslNode_ptr  e 
)
Given a psl node returns true iff the expression belongs to the next operators family.

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_is_fl_op(
  PslOp  op 
)
Private service of PslNode_is_handled_psl

Side Effects None

See Also PslNode_is_handled_psl
Defined in pslNode.c

static boolean 
psl_node_is_handled_fl_op(
  PslOp  op 
)
Private service of PslNode_is_handled_psl

Side Effects None

See Also PslNode_is_handled_psl
Defined in pslNode.c

static boolean 
psl_node_is_handled_next(
  PslNode_ptr  next 
)
Private service of PslNode_is_handled_psl

Side Effects None

See Also PslNode_is_handled_psl
Defined in pslNode.c

static boolean 
psl_node_is_handled_sere(
  PslNode_ptr  e, 
  boolean  toplevel 
)
Private service of PslNode_is_handled_psl

Side Effects None

See Also PslNode_is_handled_psl
Defined in pslNode.c

boolean 
psl_node_is_handled_star(
  PslNode_ptr  expr, 
  boolean  toplevel 
)
precond: expr must be a repeated sere

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_id_equal(
  PslNode_ptr  _id1, 
  PslNode_ptr  _id2 
)
Returns true if two ids are equal

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_id(
  PslNode_ptr  expr 
)
The top level operator of an ID can be DOT, ATOM or ARRAY

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_infinite(
  PslNode_ptr  expr 
)
Returns true if the given node is the PSL syntactic value 'inf'

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_ite(
  PslNode_ptr  _ite 
)
Returns true if the given expression is If Then Else

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_leaf(
  PslNode_ptr  expr 
)
Returns true if the given node is a leaf, i.e. PSL_NULL, a number, a boolean constant, or an atom.

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_num_equal(
  PslNode_ptr  _id1, 
  PslNode_ptr  _id2 
)
Returns true if the given numbers are equal

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_number(
  PslNode_ptr  e 
)
Returns true if the given expression is an integer number

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_is_obe_op(
  PslOp  op 
)
Private service of PslNode_is_handled_psl

Side Effects None

See Also PslNode_is_handled_psl
Defined in pslNode.c

boolean 
psl_node_is_propstar(
  PslNode_ptr  e 
)
Returns true if the given expression is a propositional starred sere.

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_range(
  PslNode_ptr  expr 
)
Returns true if the given node is a range

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_repl_prop(
  PslNode_ptr  _prop 
)
Returns true if the given expression is a replicated property

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_replicator(
  PslNode_ptr  _repl 
)
Returns true if the given expression represents a replicator.

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_sere_compound_binary(
  PslNode_ptr  e 
)
Returns true if the given expression is a sere compound

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_sere(
  PslNode_ptr  expr 
)
A SERE can be in the form {a}, {a};{b}, {a}:{b}, {a}[*], {a}[+], {a}|{b}, {a}&{a}, {a}&&{b}

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_is_star_free(
  PslNode_ptr  expr 
)
Returns true if the given sere is star-free

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_suffix_implication_strong(
  PslNode_ptr  expr 
)
Returns true if the given expression is a strong suffix implication

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_suffix_implication_weak(
  PslNode_ptr  expr 
)
Returns true if the given expression is a weak suffix implication

Side Effects None

Defined in pslNode.c

boolean 
psl_node_is_suffix_implication(
  PslNode_ptr  expr 
)
Returns true if the given expression is a suffix implication

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_is_unbound_star_free(
  PslNode_ptr  expr 
)
Returns true if the given sere doesn't contain any unbound star

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_case(
  PslNode_ptr  _cond, 
  PslNode_ptr  _then, 
  PslNode_ptr  _next 
)
Maker for a CASE node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_cons_new(
  PslNode_ptr  elem, 
  PslNode_ptr  next 
)
This gets the element to insert at top level, and the list for next

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_cons(
  PslNode_ptr  elem, 
  PslNode_ptr  next 
)
This gets the element to insert at top level, and the list for next

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_extended_next(
  PslOp  op, 
  PslNode_ptr  expr, 
  PslNode_ptr  when, 
  PslNode_ptr  condition 
)
Warning: the operator must be a symbol, not a token. This means that psl_conv_op must be called to convert tokens before.

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_failure(
  const char* msg, 
  FailureKind  kind 
)
Maker for a FAILURE node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_false(
    
)
Creates a new FALSE node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_number(
  int  value 
)
Maker for a NUMBER node

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_sere_compound(
  PslNode_ptr  seq1, 
  PslOp  op, 
  PslNode_ptr  seq2 
)
Warning: the operator must be a symbol, not a token. This means that psl_conv_op must be called to convert tokens before.

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_make_true(
    
)
Creates a new TRUE node

Side Effects None

Defined in pslNode.c

int 
psl_node_number_get_value(
  PslNode_ptr  e 
)
Returns the integer value associated with the given number node.

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_prune(
  PslNode_ptr  tree, 
  PslNode_ptr  branch 
)
Prunes aways the given branch from the given tree

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_pslltl2ltl(
  PslNode_ptr  expr, 
  PslOpConvType  type, 
  NodeList_ptr  replicator_id_stack 
)
Takes a PSL LTL expression and builds the corresponding LTL expression. This ignores SERE that can be easily mapped to the corresponding LTL expression. The parameter replicator_id_stack is used to prevent ID duplication of nested forall (replicators). type can be PSL2SMV or PSL2PSL

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_pslobe2ctl(
  PslNode_ptr  expr, 
  PslOpConvType  type, 
  NodeList_ptr  replicator_id_stack 
)
Private service for high level function PslNode_pslobe2ctl

Side Effects required

See Also PslNode_pslobe2ctl
Defined in pslConv.c

PslNode_ptr 
psl_node_range_get_high(
  PslNode_ptr  expr 
)
Returns the high bound of the given range

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_range_get_low(
  PslNode_ptr  expr 
)
Returns the low bound of the given range

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_remove_forall_replicators(
  PslNode_ptr  expr, 
  NodeList_ptr  replicator_id_stack 
)
Private service for high level function PslNode_remove_forall_replicators. In removing nested forall it takes into accaount possible clashes on the names of the bounded variables.

Side Effects required

See Also PslNode_remove_forall_replicators
Defined in pslConv.c

static PslNode_ptr 
psl_node_remove_suffix_implication(
  PslNode_ptr  e 
)
Resolves suffix implication

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
psl_node_repl_prop_get_property(
  PslNode_ptr  _prop 
)
Given a replicated property, returns the node that contains the property.

Side Effects None

See Also psl_node_repl_prop_get_replicator
Defined in pslNode.c

PslNode_ptr 
psl_node_repl_prop_get_replicator(
  PslNode_ptr  _prop 
)
Given a replicated property, returns the node that contains the replicator.

Side Effects None

See Also psl_node_repl_prop_get_property
Defined in pslNode.c

static PslNode_ptr 
psl_node_sere_concat_fusion2ltl(
  PslNode_ptr  e, 
  PslNode_ptr  phi 
)
This function assumes that expression is a concat/fusion

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_distrib_disj(
  PslNode_ptr  e, 
  boolean * modified 
)
Distributes the disjunction among SEREs

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_get_leftmost(
  PslNode_ptr  e 
)
Returns the leftmost element of e that is not a SERE

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_get_rightmost(
  PslNode_ptr  e 
)
Returns the rightmost element of e that is not a SERE

Side Effects required

See Also optional
Defined in pslConv.c

boolean 
psl_node_sere_is_2ampersand(
  PslNode_ptr  e 
)
Returns true if the given expression is a sere in the form { s2 && s1 }

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_sere_is_ampersand(
  PslNode_ptr  e 
)
Returns true if the given SERE is in the form {a} & {b}

Side Effects required

See Also optional
Defined in pslConv.c

boolean 
psl_node_sere_is_concat_fusion_holes_free(
  PslNode_ptr  e 
)
[Returns true if there are no holes in the given fusion/concat sere to be filled in.

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_concat_fusion(
  PslNode_ptr  e 
)
Returns true if the given expression is a concat or fusion sere.

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_concat_holes_free(
  PslNode_ptr  e 
)
Returns true if there are no holes in the given concat sere to be filled in.

Side Effects None

Defined in pslNode.c

static boolean 
psl_node_sere_is_disj(
  PslNode_ptr  e 
)
Returns true if the given expression is a disjunction of SEREs.

Side Effects required

See Also optional
Defined in pslConv.c

boolean 
psl_node_sere_is_plus(
  PslNode_ptr  e 
)
Returns true if the given expression a plus repeated sere

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_propositional(
  PslNode_ptr  e 
)
Returns true if the given sere contains a single propositional expression

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_repeated(
  PslNode_ptr  e 
)
Returns true if the given expr is a repeated sere

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_standalone_plus(
  PslNode_ptr  e 
)
Returns true if the given repeated sere is in the form [+]

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_standalone_star(
  PslNode_ptr  e 
)
Returns true if the given expr is in the form [*], with or without a counter.

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_star_count(
  PslNode_ptr  e 
)
Returns true if the given starred repeated sere as also a counter

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_stareq(
  PslNode_ptr  e 
)
Returns true if the given expr is a starred-eq repeated sere

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_starminusgt(
  PslNode_ptr  e 
)
Returns true if the given expr is a starred-minusgt repeated sere

Side Effects None

Defined in pslNode.c

boolean 
psl_node_sere_is_star(
  PslNode_ptr  e 
)
Returns true if the given expr is a starred repeated sere

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_sere_remove_2ampersand(
  PslNode_ptr  e, 
  boolean * modified 
)
Resolves {a} && {a}

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_ampersand(
  PslNode_ptr  e, 
  boolean* modified 
)
Resolves {a}&{a}

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_disj(
  PslNode_ptr  e 
)
This function assumes that expression is a disjunction of concat/fusion

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_fusion(
  PslNode_ptr  e, 
  boolean * modified 
)
Resolves {a}:{a}

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_plus(
  PslNode_ptr  e, 
  boolean  toplevel 
)
Resolve SERE [+]

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_star_count(
  PslNode_ptr  e 
)
Resolves starred SEREs

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_star(
  PslNode_ptr  e, 
  boolean  toplevel, 
  boolean* modified 
)
Resolves starred SEREs

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_trailing_plus(
  PslNode_ptr  e 
)
Resolves the last trailing standalone plus

Side Effects required

See Also optional
Defined in pslConv.c

static PslNode_ptr 
psl_node_sere_remove_trailing_star(
  PslNode_ptr  e, 
  boolean* modified 
)
Resolves trailing standalone stars

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
psl_node_sere_repeated_get_count(
  PslNode_ptr  e 
)
Returns the count associated to the repeated sere

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_sere_repeated_get_expr(
  PslNode_ptr  e 
)
Returns the repeated expression associated to the repeated sere

Side Effects None

Defined in pslNode.c

PslOp 
psl_node_sere_repeated_get_op(
  PslNode_ptr  e 
)
Returns the count associated to the repeated sere

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_sere_star_get_count(
  const PslNode_ptr  e 
)
Returned value can be either a positive integer value, or the constant PSL_EMPTYSTAR to represent an empty starred sere.

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_sere_translate(
  PslNode_ptr  e 
)
High-level service of exported function PslNode_remove_sere

Side Effects required

See Also optional
Defined in pslConv.c

void 
psl_node_set_left(
  PslNode_ptr  n, 
  PslNode_ptr  l 
)
Sets the given expression's left branch

Side Effects None

Defined in pslNode.c

void 
psl_node_set_right(
  PslNode_ptr  n, 
  PslNode_ptr  r 
)
Sets the given expression's right branch

Side Effects None

Defined in pslNode.c

static PslNode_ptr 
psl_node_subst_id(
  PslNode_ptr  expr, 
  PslNode_ptr  id, 
  PslNode_ptr  v, 
  boolean  is_top_level 
)
This is used to rename IDs occurring in the tree, when the replicator 'foreach' statement is resolved

Side Effects required

See Also optional
Defined in pslConv.c

PslNode_ptr 
psl_node_suffix_implication_get_consequence(
  PslNode_ptr  e 
)
Returns the consequence of the given suffix implication

Side Effects None

Defined in pslNode.c

PslNode_ptr 
psl_node_suffix_implication_get_premise(
  PslNode_ptr  e 
)
Returns the premise of the given suffix implication

Side Effects None

Defined in pslNode.c

 
(
    
)
Define to optimize the convertion of next

Defined in pslConv.c

 
(
    
)
This is used by the function that converts the operators, as a shortcut for PSL_OP_CONV3(tok, X, X)

Defined in pslConv.c

Last updated on 2009/01/30 15h:04