Pseudocode
- emit_gzip_header()
- init_window_and_frequency_tables()
- for each position in input_data:
- match = longest_match_in_window()
- if match.length ≥ 3:
- emit_length_distance(match)
- else emit_literal(current_byte)
- update_symbol_frequencies(token)
- codes = build_huffman_codes(frequencies)
- write_block_header(codes)
- write_tokens_with_codes(tokens)
- write_footer(crc32(input), input_size)