From be92d1955a45b81e3d7f4af26497c3d73aa46ceb Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Tue, 15 Aug 2017 18:43:56 +0200 Subject: Partial attr. support, build/run targets, literals --- ast-to-instr/Makefile | 2 ++ ast-to-instr/src/Expressions.java | 63 ++++++++++++++++++++++++++++++--------- 2 files changed, 51 insertions(+), 14 deletions(-) (limited to 'ast-to-instr') diff --git a/ast-to-instr/Makefile b/ast-to-instr/Makefile index bb50219..50a953c 100644 --- a/ast-to-instr/Makefile +++ b/ast-to-instr/Makefile @@ -49,6 +49,8 @@ CLASSES = $(SOURCES:.java=.class) $(MODEL_DIR)/structural.mod: $(CLASSES) $(AST_FILE) $(JAVA) -cp $(CLASSPATH) Main $(AST_FILE) $(MODEL_DIR) +build: $(CLASSES) + clean: rm -f $(CLASSES) rm -f $(MODEL_DIR)/*.mod 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(")"); } } } -- cgit v1.2.3-70-g09d2