public abstract class SmcElement
extends java.lang.Object
SmcFSM
,
SmcMap
,
SmcState
,
SmcTransition
,
SmcGuard
,
SmcAction
,
SmcParameter
,
SmcVisitor
Modifier and Type | Class and Description |
---|---|
static class |
SmcElement.TransType
The SMC transitions fall into four types.
|
Modifier and Type | Field and Description |
---|---|
protected int |
_lineNumber
The line number where this element is defined in the .sm
file.
|
protected java.lang.String |
_name
An element has a unique name.
|
static java.lang.String |
NIL_STATE
Inner loopback transitions use "nil" as their destination
state.
|
Modifier | Constructor and Description |
---|---|
protected |
SmcElement(java.lang.String name,
int lineNumber)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
accept(SmcVisitor visitor)
Accepts a new visitor which performs some action upon this
abstract syntax tree element.
|
int |
getLineNumber()
Returns the element's position in the .sm file.
|
java.lang.String |
getName()
Returns the element's unique name.
|
static java.util.List<SmcTransition> |
merge(java.util.List<SmcTransition> l1,
java.util.List<SmcTransition> l2,
java.util.Comparator<SmcTransition> c)
Returns an ordered transition list with no repeated
entries by merging two transition lists together.
|
protected final java.lang.String _name
protected final int _lineNumber
public static final java.lang.String NIL_STATE
protected SmcElement(java.lang.String name, int lineNumber)
name
- the elements unique name.lineNumber
- where this element appears in the .sm
file.public abstract void accept(SmcVisitor visitor)
visitor
- a parser visitor.public java.lang.String getName()
public int getLineNumber()
public static java.util.List<SmcTransition> merge(java.util.List<SmcTransition> l1, java.util.List<SmcTransition> l2, java.util.Comparator<SmcTransition> c)
l1
- The first transition list.l2
- The second transition list.c
- Transition comparator.Copyright © 2015. Charles W. Rapp. All Rights Reserved. Use is subject to license terms.