diff options
author | alon@honor <none@none> | 2010-09-29 22:28:27 -0700 |
---|---|---|
committer | alon@honor <none@none> | 2010-09-29 22:28:27 -0700 |
commit | 0923eaec251fb7af9f9bf642e06d2f17fdf0f250 (patch) | |
tree | fe6dac1470d8f42b71f7258e49d0c4f568ccc776 /src/parseTools.js | |
parent | 335bd8e73d093b10c38036072186254531e8c099 (diff) |
nicer llvm parameter parsing tools, used in 'store'
Diffstat (limited to 'src/parseTools.js')
-rw-r--r-- | src/parseTools.js | 13 |
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) { |