-
Notifications
You must be signed in to change notification settings - Fork 2
/
reduzir.php
70 lines (62 loc) · 1.43 KB
/
reduzir.php
1
2
3
4
5
6
7
8
9
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
<?php
// Troca os nomes das variáveis no arquivo compilado para reduzir o tamanho do programa
// Variáveis locais \<-x
$localVars = array('altura',
'anexos',
'cache',
'indice',
'largura',
'nome',
'opcoes',
'paginas',
'posIndice',
'strings',
'versao');
// Outras variáveis
$vars = array('ABRIRLIVRO',
'alinhamento',
'COMPILARPAGINA',
'eElemento',
'ENVIAR',
'GETPAGINACOMPILADA',
'GVIEW',
'img',
'ini',
'lado',
'lista',
'loop',
'MONTARANEXOS',
'MONTARINDICE',
'MONTARINDICERAIZ',
'PREOBJCABECALHO',
'PREOBJEQ',
'PREOBJIMG',
'PREOBJREGUA',
'PREOBJTXT',
'string',
'subindice',
'SUBIRINDICE',
'TEMP',
'TEMPLIVRO',
'tipo');
reduzir('src-hp/COMPILADO.txt', 'src-hp/COMPILADO2.txt');
reduzir('src-libHP/COMPILADO.txt', 'src-libHP/COMPILADO2.txt');
function reduzir($de, $para) {
global $localVars, $vars;
$str = file_get_contents($de);
$letras = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$c = strlen($letras);
for ($i=0; $i<count($localVars); $i++) {
$var = $localVars[$i];
$nome = $i<$c ? $letras[$i] : ($letras[floor($i/$c)] . $letras[$i%$c]);
$str = preg_replace('@\b' . $var . '\b@', $nome, $str);
}
for ($i=0; $i<count($vars); $i++) {
$var = $vars[$i];
$nome = $i<$c ? $letras[$i] : ($letras[floor($i/$c)] . $letras[$i%$c]);
$str = preg_replace('@\b' . $var . '\b@', '~' . $nome, $str);
}
// Troca números float para int
$str = preg_replace('@\b(\d+)\.(?=\D)@', '$1', $str);
file_put_contents($para, $str);
}