JFlex
public abstract class PackEmitter extends Object
int arrays as strings.
Also splits up strings when longer than 64K in UTF8 encoding.
Subclasses emit unpacking code.
Usage protocol:
p.emitInit();for each data: p.emitData(data);p.emitUnpack();
| Field Summary | |
|---|---|
| protected int | chunks number of existing string chunks |
| protected String | name name of the generated array (mixed case, no yy prefix) |
| protected StringBuffer | out output buffer |
| Constructor Summary | |
|---|---|
| PackEmitter(String name)
Create new emitter for an array.
| |
| Method Summary | |
|---|---|
| void | breaks()
Execute line/chunk break if necessary.
|
| protected String | constName()
Convert array name into all uppercase internal scanner
constant name.
|
| void | emitInit()
Emit declaration of decoded member and open first chunk. |
| void | emitUC(int i)
Emit single unicode character.
|
| abstract void | emitUnpack()
Emit the unpacking code. |
| protected void | nl()
emit newline |
| protected void | println(String s) |
| String | toString()
Return current output buffer. |
Parameters: name the name of the generated array
Returns: name as a internal constant name.
See Also: name
Parameters: i the character to emit.
UNKNOWN: 0 <= i <= 0xFFFF