summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'ast-to-instr/src/Expressions.java')
-rw-r--r--ast-to-instr/src/Expressions.java63
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(")");
}
}
}