ネタ元 → プログラミング言語C 3文字表記(trigraph sequence)
キートップのショボいキーボードでもプログラミングできるよう考案されました。
trigraph sequenceに変換するコード: とりぐらふぁー をこさえたです。
#include <iostream>
#include <iterator>
#include <algorithm>
#include <string>
using namespace std;
string trigraph(char c) {
string::size_type pos = string("#[\\]^{|}~").find(c);
return ( pos == string::npos )
? string(1,c) : (string("??") + "=(/)'<!>-"[pos]);
}
int main() {
transform(istreambuf_iterator<char>(cin),
istreambuf_iterator<char>(),
ostream_iterator<string>(cout), trigraph);
}
----- 自分自身を食わせてみた -----
??=include <iostream>
??=include <iterator>
??=include <algorithm>
??=include <string>
using namespace std;
string trigraph(char c) ??<
string::size_type pos = string("??=??(??/??/??)??'??<??!??>??-").find(c);
return ( pos == string::npos )
? string(1,c) : (string("??") + "=(/)'<!>-"??(pos??));
??>
int main() ??<
transform(istreambuf_iterator<char>(cin),
istreambuf_iterator<char>(),
ostream_iterator<string>(cout), trigraph);
??>
呪文に磨きがかかります♪