exited normally

--back of the flyer--

MyHL エスケープシーケンスの処理を追加

MyHLは、haribote HL-8cを改造したバージョンです。

MyHL エスケープシーケンスの処理を追加

文字列リテラルエスケープシーケンスを使えるようにするために、getTokenCode()の「手抜き実装(エスケープシーケンスを処理していない)」というコメントをつけていた箇所を変更しました。

char *str = malloc(len - 1);
if (str == NULL) {
  printf("Failed to allocate memory\n");
  exit(1);
}
vars[i] = (intptr_t) str;
int j = 0;
for (int k = 1; tokenStrs[i][k] != tokenStrs[i][0]; ++j, ++k) {
  if (tokenStrs[i][k] == '\\') { // エスケープシーケンス
    switch (tokenStrs[i][k + 1]) {
    case 'f': str[j] = 12; break; // FF
    case 'n': str[j] = 10; break; // LF
    case 'r': str[j] = 13; break; // CR
    case 't': str[j] = 9;  break; // HT
    case 'v': str[j] = 11; break; // VT
    }
    ++k;
    continue;
  }
  str[j] = tokenStrs[i][k];
}
str[j] = 0;

とりあえず、\f(フォームフィード)、\n(改行)、\r(キャリッジリターン)、\t(タブ)、\v(垂直タブ)を実装しています。