+153
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
function parse(input) {
var options = arguments.length > 1 ? arguments[1] : {},
peg$FAILED = {},
peg$startRuleFunctions = { grammar: peg$parsegrammar },
peg$startRuleFunction = peg$parsegrammar,
peg$c0 = peg$FAILED,
peg$c1 = null,
peg$c2 = [],
peg$c3 = function(initializer, rules) {
. . .
peg$c142 = { type: "other", description: "whitespace" },
peg$c143 = /^[ \t\x0B\f\xA0\uFEFF\u1680\u180E\u2000-\u200A\u202F\u205F\u3000]/,
peg$c144 = { type: "class", value: "[ \\t\\x0B\\f\\xA0\\uFEFF\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000]", description: "[ \\t\\x0B\\f\\xA0\\uFEFF\\u1680\\u180E\\u2000-\\u200A\\u202F\\u205F\\u3000]" },
peg$currPos = 0,
peg$reportedPos = 0,
peg$cachedPos = 0,
peg$cachedPosDetails = { line: 1, column: 1, seenCR: false },
peg$maxFailPos = 0,
peg$maxFailExpected = [],
peg$silentFails = 0,
peg$result;
. . . // + 3К строк бреда до конца функции
История моих мытарств и жалких метаний:
Меня попросило начальство радикально улучшить формат в котором приложение хранит данные. Думал я, думал, и решил, что YAML ка нельзя лучше подходит для задачи (нужно хранить описание слайдов презентации, т.е. много текста и довольно схематичная графика, все это желательно бы иметь возможность комфортно редактировать в текстовом виде, создавать заготовки и т.д.).
Шаг первый: поиск готового YAML парсера, врезультате обнаружились две штуки для АС3. Один - клон Ява парсера, в котором по класу на токен. Я не шучу. Проект заброшен 5 лет назад. Второй: заброшен 4 года назад, все в одном файле, парсится регулярками и магией, какие-то комментарии имеются, но они только свидетельствуют о несостоятельности писавшего коментарии.
Подумал: если нет нормального парсера, может есть генератор парсеров?
Шаг второй: поиск обнаружил одну попытку написать клон ANTLR, но очень ограниченную, и не работающую.
Думаю: ну бля, если все так херово, может с ж.скрипта портирую чего-нибудь простенькое, PEG как раз должен подойти.
И тут я нашел это.
wvxvw,
21 Августа 2014
−163
- 1
- 2
- 3
- 4
- 5
Процедура ЗаполнитьТоЧтоможно()
СписокТогоЧтоМожно = СоздатьОбъект("СписокЗначений");
//Start = _GetPerformanceCounter();
ЗапросГрупп = CreateObject("ODBCRECORDSET");
levxxx,
11 Августа 2014
+159
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
var get_day = function(day_name_or_number, return_type) {
var day_name = '';
var day_number = '';
switch (day_name_or_number) {
case 0: //sunday
case 'sun':
case 'sunday':
day_name = 'sun';
day_number = 0;
break;
case 1: //monday
case 'mon':
case 'monday':
day_name = 'mon';
day_number = 1;
break;
case 2: //tuesday
case 'tue':
case 'tuesday':
day_name = 'tue';
day_number = 2;
break;
case 3: //wednesday
case 'wed':
case 'wednesday':
day_name = 'wed';
day_number = 3;
break;
case 4: //thursday
case 'thu':
case 'thursday':
day_name = 'thu';
day_number = 4;
break;
case 5: //friday
case 'fri':
case 'friday':
day_name = 'fri';
day_number = 5;
break;
case 6: //saturday
case 'sat':
case 'saturday':
day_name = 'sat';
day_number = 6;
break;
}
switch (return_type) {
case 'number':
return day_number;
break;
case 'name':
return day_name;
break;
default:
return day_name;
break;
}
};
Что и кому я сделал, что с таким работать приходиться?
monstrodev,
08 Августа 2014
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
$(function(){
var keyword = '';
if (typeof crtg_content !== 'undefined' && crtg_content) { keyword = crtg_content; }
var custom = { 4:ar_duo1 };
custom[1] = 'soft';
custom[2] = 'design';
custom[3] = 'linux';
/* Антоша не удаляй это условие блеать! Как я тестить буду? */
//if (true)
// show_inner_banner_block('ertelecom');
//else
new adriver("adriver_banner_132032996", {sid: 176776, bt: 52, bn: 3, custom: custom, keyword: keyword});
});
С известного ИТ ресурса.
Не говнокод, конечно, но коментарий весёлый. :)
TauSigma,
25 Июля 2014
+71
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
public Move move(final Board board) {
for (final Move move : Move.values()) {
if ((move.getDx() == Math.signum(this.target.x - board.getCx()))
&& (move.getDy() == Math.signum(this.target.y - board.getCy()))) {
return move;
}
}
return null;
}
выбираем направление движения. как? перебором!
Lure Of Chaos,
23 Июля 2014
+155
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
<?
$obf = array("0" => "Соединение,,","1" => "Путь","2" => "Контроллер","3" => "DOCUMENT_ROOT",);
$pm[($obf[((5889-(3114))-2775)])] = end($kk);
$k[($obf[((5307-(7))-5299)])] = "/pm/Library/4.2/".$pm[($obf[((5889-(3114))-2775)])][($obf[((4174-(685))-3487)])]."/Ready_Script.php";
$k[($obf[((5307-(7))-5299)])] = iconv("UTF-8", "WINDOWS-1251", $k[($obf[((5307-(7))-5299)])]);
print $_SERVER[($obf[((8714-(1196))-7515)])].$k[($obf[((5307-(7))-5299)])];
include $_SERVER[($obf[((8714-(1196))-7515)])].$k[($obf[((5307-(7))-5299)])];
?>
<?
$pm["Переключатель"] = "/pm/bibl.php";
if ($_SERVER["HTTP_HOST"] == "localhost:6448"):
$pm["Переключатель"] = "/pm/k.php";
endif;
$pm["Чпу"]["Обрабатываем ЧПУ 0/1"] = "1";
if ($pm["Чпу"]["Обрабатываем ЧПУ 0/1"]):
$kk[] = array(
"Контроллер" => "PHP Файл Подключить",
"Файл" => "/pm/Настройки/Главные.php",
);
include $_SERVER["DOCUMENT_ROOT"].$pm["Переключатель"];
$kk[] = array( "Контроллер" => "PHP Файл Подключить", "Файл" => "/pm/Настройки/Чпу.php", );
include $_SERVER["DOCUMENT_ROOT"].$pm["Переключатель"];
if ( !$pm["Чпу"]["Страница подключена 0/1"] ):
$kk[] = array( "Контроллер" => "PHP Файл Подключить", "Файл" => "/pm/Проекты/".$pm["Настройки"]["Проект"]."/_Настройки/Чпу.php", );
include $_SERVER["DOCUMENT_ROOT"].$pm["Переключатель"]; $pm["Чпу"]["Страница подключена 0/1"] = "1";
endif;
endif;
?>
Заказчик попросил починить сайт, а тут это...
Genome,
17 Июля 2014
+143
- 1
- 2
- 3
- 4
- 5
<?php
echo <<<HERE
Чё-т я не врубаюсь, каким образом на ЭТОМ сайте работает система оценивания. Если мой код минусуют, то это, значит, плохой говнокод получился ? Т.е. хороший на самом деле ? И наоборот: как плюсуют, значит хороший говнокод, т.е. риал извращённый ? Лол, параллельная вселенная с парадоксальными искажёнными правилами написания кода. Компиляторы пускают разноспектральные фонтаны жидкости и говнокод делают ПРОСТА АФИГЕССССНЫМ КОДАМ, а TRUE-код закидывает камнями.
HERE;
?>
ЙАААААААААЗЬ!!!!! ДОБРО ПОЖАЛОВАТЬ В ПАРАЛЛЕЛЬНУЮ ВСЕЛЕННУЮ!!! УХАХАХАХХА!!!
CodeStar,
15 Июля 2014
+155
- 1
- 2
- 3
- 4
- 5
- 6
$data = "<?php define('DSN', 'mysql:dbname={$_POST['db_name']};host={$_POST['host_mysql']}'); define('DBUSER', '{$_POST['login_mysql']}'); define('DBPASS', '{$_POST['password_mysql']}');";
$mysql_string = file_get_contents( 'class/mysql.php' );
$new_mysql = $data . ' ' . $mysql_string;
if ( !file_put_contents( 'class/mysql.php', $new_mysql ) ) {
errorMessage( "Не удалось сохранить файлы конфигураций, пожалуйста обратитесь в службу технической поддержки клиентов" );
}
install.php
kindofbear,
15 Июля 2014
+20
- 1
- 2
- 3
- 4
const char dll[] = "C:\\sperhacks\\superhack.dll";
LPVOID mem = NULL;
DWORD PID = 666;
if (WriteProcessMemory(OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION, FALSE, PID), (mem = VirtualAllocEx(OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_QUERY_INFORMATION, FALSE, PID), NULL, sizeof(dll), MEM_COMMIT, PAGE_EXECUTE_READWRITE)), dll, sizeof(dll), NULL) && CreateRemoteThread(OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD |PROCESS_QUERY_INFORMATION, FALSE, PID), NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA"), mem, NULL, NULL));
Говнопособие для самых маленьких: dll-injection в 4 строки. Можно и без кучи OpenProcess, тогда в 5 строк.
gost,
12 Июля 2014
+131
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
if (SceneTextureIndex == 0) return float4(CalcSceneColor(UV), 0);
else if (SceneTextureIndex == 1) return ScreenSpaceData.GBuffer.Depth;
else if (SceneTextureIndex == 2) return float4(ScreenSpaceData.GBuffer.DiffuseColor, 0);
else if (SceneTextureIndex == 3) return float4(ScreenSpaceData.GBuffer.SpecularColor, 0);
else if (SceneTextureIndex == 4) return float4(ScreenSpaceData.GBuffer.SubsurfaceColor, 0);
else if (SceneTextureIndex == 5) return float4(ScreenSpaceData.GBuffer.BaseColor, 0);
else if (SceneTextureIndex == 6) return ScreenSpaceData.GBuffer.Specular;
else if (SceneTextureIndex == 7) return ScreenSpaceData.GBuffer.Metallic;
else if (SceneTextureIndex == 8) return float4(ScreenSpaceData.GBuffer.WorldNormal, 0);
else if (SceneTextureIndex == 9) return 1; // todo
else if (SceneTextureIndex == 10) return ScreenSpaceData.GBuffer.Opacity;
else if (SceneTextureIndex == 11) return ScreenSpaceData.GBuffer.Roughness;
else if (SceneTextureIndex == 12) return ScreenSpaceData.GBuffer.GBufferAO;
else if (SceneTextureIndex == 13) return ScreenSpaceData.GBuffer.CustomDepth;
else if (SceneTextureIndex == 14) return Texture2DSample(PostprocessInput0, PostprocessInput0Sampler, UV);
else if (SceneTextureIndex == 15) return Texture2DSample(PostprocessInput1, PostprocessInput1Sampler, UV);
else if (SceneTextureIndex == 16) return Texture2DSample(PostprocessInput2, PostprocessInput2Sampler, UV);
else if (SceneTextureIndex == 17) return Texture2DSample(PostprocessInput3, PostprocessInput3Sampler, UV);
else if (SceneTextureIndex == 18) return Texture2DSample(PostprocessInput4, PostprocessInput4Sampler, UV);
else if (SceneTextureIndex == 19) return Texture2DSample(PostprocessInput5, PostprocessInput5Sampler, UV);
else if (SceneTextureIndex == 20) return Texture2DSample(PostprocessInput6, PostprocessInput6Sampler, UV);
else if (SceneTextureIndex == 21) return ScreenSpaceData.GBuffer.DecalMask;
else if (SceneTextureIndex == 22) return float4(GetLightingModelColor(ScreenSpaceData.GBuffer), 1);
else if (SceneTextureIndex == 23) return ScreenSpaceData.AmbientOcclusion;
LispGovno,
08 Июля 2014