Applied Pokology

A blog about GNU poke
Atom feed for all posts All post feeds: RSS 2.0

Endianness in Poke - And a little nice hack

Byte endianness is an important aspect of encoding data. As a good binary editor poke provides support for both little and big endian, and will soon acquire the ability to encode exotic endianness like PDP endian. Endianness control is integrated in the Poke language, and is designed to be easily used in type descriptions. Let's see how.

Full text...

Styled output in Poke programs

I just committed support for styling in printf. Basically, it uses the libtextstyle approach of having styling classes that the user can customize in a .css file.

Full text...

Dealing with alternatives - Unions in Poke

The Poke type definitions can be seen as a sort of declarative specifications for decoding and encoding procedures. You specify the structure of the data you want to operate on, and poke uses that information to automatically decode and encode the data for you. Under this perspective, struct types correspond to sequences of instructions, array types to repetitions (or loops), and union types to conditionals.

Full text...

Values of the world, unite! - Offsets in Poke

Early in the design of what is becoming GNU poke I was struck by a problem that, to my surprise, would prove not easy to overcome in a satisfactory way: would I make a byte-oriented program, or a bit-oriented program? Considering that the program in question was nothing less than an editor for binary data, this was no petty dilemma.

Full text...

Array boundaries and closures in Poke

Poke arrays are rather peculiar. One of their seemingly bizarre characteristics is the fact that the expressions calculating their boundaries (when they are bounded) evaluate in their own lexical environment, which is captured. In other words: the expressions denoting the boundaries of Poke arrays conform closures. Also, the way they evaluate may be surprising. This is no capricious.

Full text...

Nomenclature: poke, Poke and pickles

GNU poke is a pretty new program and it introduces many a new concept. As people are starting to join the development, I think it is a good idea to clarify how I call things. The idea is for everyone to use the same nomenclature when referring to pokeish thingies. Otherwise its gonna get very confusing very soon!

Full text...

Jose E. Marchesi -