MCPcopy Create free account
hub / github.com/AliveToolkit/alive2 / parse_memory_access

Function parse_memory_access

tools/alive_parser.cpp:1101–1128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1099}
1100
1101static void parse_memory_access(MemoryAccess &mem) {
1102 mem.setNoAccess();
1103 tokenizer.ensure(LPAREN);
1104
1105 switch (tokenizer.peek()) {
1106 case NONE:
1107 *tokenizer;
1108 break;
1109 case READ:
1110 *tokenizer;
1111 mem.setCanOnlyRead();
1112 break;
1113 case WRITE:
1114 *tokenizer;
1115 mem.setCanOnlyWrite();
1116 break;
1117 default: {
1118 bool first = true;
1119 while (tokenizer.peek() != RPAREN) {
1120 if (!first)
1121 tokenizer.ensure(COMMA);
1122 first = false;
1123 // TODO
1124 }
1125 }
1126 }
1127 tokenizer.ensure(RPAREN);
1128}
1129
1130static unique_ptr<Instr> parse_call(string_view name) {
1131 // call ty name(ty_1 %op_1, ..., ty_n %op_n)

Callers 1

parse_callFunction · 0.85

Calls 5

setNoAccessMethod · 0.80
ensureMethod · 0.80
peekMethod · 0.80
setCanOnlyReadMethod · 0.80
setCanOnlyWriteMethod · 0.80

Tested by

no test coverage detected