aboutsummaryrefslogtreecommitdiff
path: root/src/parseTools.js
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-09-29 22:28:27 -0700
committeralon@honor <none@none>2010-09-29 22:28:27 -0700
commit0923eaec251fb7af9f9bf642e06d2f17fdf0f250 (patch)
treefe6dac1470d8f42b71f7258e49d0c4f568ccc776 /src/parseTools.js
parent335bd8e73d093b10c38036072186254531e8c099 (diff)
nicer llvm parameter parsing tools, used in 'store'
Diffstat (limited to 'src/parseTools.js')
-rw-r--r--src/parseTools.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/parseTools.js b/src/parseTools.js
index d27ef071..e7796b12 100644
--- a/src/parseTools.js
+++ b/src/parseTools.js
@@ -265,6 +265,19 @@ function parseParamTokens(params) {
return ret;
}
+// Segment ==> Parameter
+function parseLLVMSegment(segment) {
+ if (segment[1].text in PARSABLE_LLVM_FUNCTIONS) {
+ return parseLLVMFunctionCall(segment);
+ } else {
+ return {
+ intertype: 'value',
+ ident: segment[1].text,
+ type: segment[0].text,
+ };
+ }
+}
+
function cleanSegment(segment) {
if (segment.length == 1) return segment;
while (['noalias', 'sret', 'nocapture', 'nest', 'zeroext', 'signext'].indexOf(segment[1].text) != -1) {