| summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'ast-to-instr/src/Expressions.java')
| -rw-r--r-- | ast-to-instr/src/Expressions.java | 63 |
1 files changed, 49 insertions, 14 deletions
diff --git a/ast-to-instr/src/Expressions.java b/ast-to-instr/src/Expressions.java index 90b0fff..c6037d6 100644 --- a/ast-to-instr/src/Expressions.java +++ b/ast-to-instr/src/Expressions.java @@ -372,22 +372,57 @@ public class Expressions /* grep "Kind.*Literal" ./src/vhdl/nodes_meta.adb | sort | uniq -u points to: - "character_literal"; - "enumeration_literal"; - "floating_point_literal"; - "integer_literal"; - "null_literal"; - "overflow_literal"; - "physical_fp_literal"; - "physical_int_literal"; - "physical_literal"; (unsure if it can happen) - "string_literal8"; - - They don't all use the same structure, so we're going to handle them - latter. + "character_literal"; + "enumeration_literal"; + "floating_point_literal"; + "integer_literal"; + "null_literal"; + "overflow_literal"; + "physical_fp_literal"; + "physical_int_literal"; + "physical_literal"; (unsure if it can happen) + "string_literal8"; + + They don't all use the same structure, so we're going to handle them + later. + TODO */ - structure.append("l"); + structure.append("?"); + elements.add + ( + Strings.get_id_from_string + ( + "l" + ) + ); + + } + else if (kind.contains("attribute")) + { + structure.append("(?"); + + elements.add + ( + Strings.get_id_from_string + ( + /* FIXME: Kind of a hacky */ + kind.replace("_attribute", "") + ) + ); + + process + ( + elements, + structure, + (Node) XPE_GET_PREFIX.evaluate + ( + current_node, + XPathConstants.NODE + ) + ); + + structure.append(")"); } } } |


