1: <?php
2: class MinifierException extends \RuntimeException {} ;
3: abstract class Minifier {
4: const TOKEN_NONE = 0 ;
5: const TOKEN_SPACE = 1 ;
6: const TOKEN_NEWLINE = 2 ;
7: const TOKEN_STRING = 3 ;
8: const TOKEN_ELEMENT = 4 ;
9: const TOKEN_IDENTIFIER = 5 ;
10: protected $SingleLineComments = [] ;
11: protected $MultiLineComments = [] ;
12: protected $QuotedStrings = [] ;
13: protected $Continuation = false ;
14: protected $Spaces = [ " " => " ", "\t" => "\t", "\v" => "\v", "\r" => "\r", "\xA0" => "\xA0" ] ;
15: protected $IdentifierRegex = false ;
16: protected $Tokens = [] ;
17: protected $Content ;
18: protected $ContentLength ;
19: protected $CurrentLine ;
20: protected $LastToken ;
21: protected $LastTokenType ;
22: protected function Finalize ( )
23: {}
24: protected function SetComments ( $single_comments, $multi_comments )
25: {}
26: protected function SetQuotedStrings ( $strings )
27: {}
28: protected function SetContinuation ( $string )
29: {}
30: protected function SetSpaces ( $spaces )
31: {}
32: protected function SetIdentifierRegex ( $re )
33: {}
34: protected function SetTokens ( $tokens )
35: {}
36: protected function Reset ( $data = '' )
37: {}
38: abstract protected function MinifyData ( ) ;
39: /*--------------------------------------------------------------------------------------------------------------
40: Minify, MinifyFile -
41: Minifies a string/file.
42: *-------------------------------------------------------------------------------------------------------------*/
43: public function Minify ( $contents )
44: {}
45: public function MinifyFrom ( $input )
46: {}
47: public function MinifyTo ( $output, $contents )
48: {}
49: public function MinifyFileTo ( $output, $input )
50: {}
51: protected function GetNextToken ( &$offset, &$token, &$token_type )
52: {}
53: protected function ProcessContinuation ( $contents, $length, &$offset, $continuation )
54: {}
55: protected function ProcessSingleLineComments ( $contents, $length, &$offset )
56: {}
57: protected function ProcessSpaces ( $contents, $length, &$offset, &$token, &$token_type )
58: {}
59: protected function EatSpaces ( $contents, $length, &$offset )
60: {}
61: protected function ProcessNewlines ( $contents, $length, &$offset, &$token, &$token_type )
62: {}
63: protected function ProcessMultiLineComments ( $contents, $length, &$offset )
64: {}
65: protected function ProcessString ( $contents, $length, &$offset, &$token, &$token_type )
66: {}
67: protected function ProcessToken ( $contents, $length, &$offset, &$token, &$token_type )
68: {}
69: }
70: