| summaryrefslogtreecommitdiff | 
path: root/ast-to-instr
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-15 18:43:56 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-08-15 18:43:56 +0200 | 
| commit | be92d1955a45b81e3d7f4af26497c3d73aa46ceb (patch) | |
| tree | 1aa263fc71d62f85d59e6bdc142b97bf4bb47e6d /ast-to-instr | |
| parent | b45d145f19c7818db7a890117b089ebf3f891947 (diff) | |
Partial attr. support, build/run targets, literals
Diffstat (limited to 'ast-to-instr')
| -rw-r--r-- | ast-to-instr/Makefile | 2 | ||||
| -rw-r--r-- | ast-to-instr/src/Expressions.java | 63 | 
2 files changed, 51 insertions, 14 deletions
| 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(")");        }     }  } | 


