| summaryrefslogtreecommitdiff |
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-07-26 14:32:28 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-07-26 14:32:28 +0200 |
| commit | 5f06e34bc24876739c1d4af1d45f7cb322a19559 (patch) | |
| tree | 38363a28b472610d5dc8391baeba2d98e731fa2c /ast-to-instr/src/Expressions.java | |
| parent | 1eb79a5c6ae03500a2816a34983e5d4cc700de33 (diff) | |
First shot at (logic, not VHDL) functions.
Diffstat (limited to 'ast-to-instr/src/Expressions.java')
| -rw-r--r-- | ast-to-instr/src/Expressions.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/ast-to-instr/src/Expressions.java b/ast-to-instr/src/Expressions.java index 0ea741b..90b0fff 100644 --- a/ast-to-instr/src/Expressions.java +++ b/ast-to-instr/src/Expressions.java @@ -19,6 +19,7 @@ public class Expressions private static final XPathExpression XPE_GET_INDEX_LIST; private static final XPathExpression XPE_GET_NAMED_ENTITY; private static final XPathExpression XPE_GET_PREFIX_NAMED_ENTITY; + private static final XPathExpression XPE_GET_PREFIX; static { @@ -29,7 +30,7 @@ public class Expressions XPE_GET_FUN_PARAMETERS = XMLManager.compile_or_die ( - "./parameter_association_chain/el" + "./parameter_association_chain/el/actual" ); XPE_GET_INDEX_LIST = XMLManager.compile_or_die("./index_list/el"); @@ -40,6 +41,8 @@ public class Expressions ( "./prefix/named_entity" ); + + XPE_GET_PREFIX = XMLManager.compile_or_die("./prefix"); } private static enum Operator @@ -266,7 +269,7 @@ public class Expressions final int params_length; named_entity = - (Node) XPE_GET_PREFIX_NAMED_ENTITY.evaluate + (Node) XPE_GET_PREFIX/*_NAMED_ENTITY*/.evaluate ( current_node, XPathConstants.NODE @@ -274,18 +277,27 @@ public class Expressions structure.append("(?"); + /* + * TODO: Handle functions better, like: + elements.add + ( + IDs.get_id_from_xml_id + ( + XMLManager.get_attribute(named_entity, "ref"), + null + ) + ); + * But for now, we'll just use the function's name as string: + */ elements.add ( - Waveforms.get_associated_waveform_id + Strings.get_id_from_string ( - IDs.get_id_from_xml_id - ( - XMLManager.get_attribute(named_entity, "ref"), - null - ) + XMLManager.get_attribute(named_entity, "identifier") ) ); + params = (NodeList) XPE_GET_FUN_PARAMETERS.evaluate ( |


