| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'ast-to-instr/src')
| -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(")");        }     }  } | 


