Здесь действительно кто-то считает, что нужен этот плагин к браузеру по имени «Adobe Flash», когда речь идет о реализации всех ключевых моментов в HTML5 без использования чужеродных проприетарных технологий?
Скорее всего это связано с тем, что в начале этого года хакер Джордж Хотц (George Hotz), также известный под ником GeoHot, заявил, что получил полный доступ к памяти и процессору консоли. Sony просто решила подстраховаться и убрать эту лазейку для возможного полного взлома консоли.
Такое ощущение, что он сервер Сони взломал. Господа, он получил доступ к процессору и памяти СВОЕЙ консоли, которую он КУПИЛ… Какого черта нам запрещают это делать?
function Parser(text) {
this._text = text;
this._pos = 0;
this._len = text.length;
}
Parser.prototype = {
operators: {'{': true, '}': true, '|': true},
nextToken: function() {
if (this._pos >= this._len) return new Token(Token.END_OF_LINE);
if (this._text[this._pos] in this.operators) {
return new Token(Token.OPERATOR, this._pos, this._text[this._pos++]);
}
var text = '', start = this._pos;
while ((this._pos < this._len) && !(this._text[this._pos] in this.operators)) {
text += this._text[this._pos];
this._pos++;
}
return new Token(Token.TEXT, start, text);
},
getNextToken: function() {
var pos = this._pos, result = this.nextToken();
this._pos = pos;
return result;
}
};
function Interpretter(text) {
this._parser = new Parser(text);
}
Interpretter.prototype = {
value: function() {
var result = '', token = this._parser.getNextToken();
while (token.type == Token.TEXT || (token.type == Token.OPERATOR && token.value == '{')) {
token = this._parser.nextToken();
if (token.type == Token.OPERATOR) {
if (token.value == '{') {
result += this.expression();
} else {
throw 'Syntax error at pos ' + token.pos;
}
} else {
result += token.value;
}
token = this._parser.getNextToken();
}
return result;
},
expression: function() {
var variants = [this.value()], token = this._parser.nextToken();
while (token.value == '|') {
variants.push(this.value());
token = this._parser.nextToken();
}
if (!token.type == '}') 'Syntax error at pos ' + token.pos;
return variants[Math.floor(Math.random(1) * variants.length)];
}
};
var text = '{Пожалуйста|Просто} сделайте так, чтобы это {удивительное|крутое|простое} тестовое предложение {изменялось {быстро|мгновенно} случайным образом|менялось каждый раз}.';
var interpretter = new Interpretter(text);
alert(interpretter.value());
Так лучше?)
Такое ощущение, что он сервер Сони взломал. Господа, он получил доступ к процессору и памяти СВОЕЙ консоли, которую он КУПИЛ… Какого черта нам запрещают это делать?