{"push_id":915397593,"size":22,"distinct_size":22,"ref":"refs/heads/master","head":"b9558c6bcd2294c91f86f911cad9b1e0fedd99ed","before":"9a345ad8889cdc3d59d17ce1aaf5ab9470b36dfe","commits":[{"sha":"fa498a2748ededfe17e9e11aad24dc60fb03cafd","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Describe future sections implementation","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/fa498a2748ededfe17e9e11aad24dc60fb03cafd"},{"sha":"2238bb0b74e1b9a76a3769928de4e2a4959b65ca","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"cstr class for C-style strings without memory management\n\nA cstr is just a pointer to a const C-style string kept elsewhere.\nThe caller must assure the origin string exists for the duration of the\ncstr object, or strore it in the string pool.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/2238bb0b74e1b9a76a3769928de4e2a4959b65ca"},{"sha":"18ca0fdcfdc388a8622aedc545cfa3db290df3d4","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add uint and cptr types","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/18ca0fdcfdc388a8622aedc545cfa3db290df3d4"},{"sha":"1d839b255719af6137c27b6a3fd5a17c06655395","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Index string pool by string length to prepare for very big pool\n\nPool is a vector of hashes, indexed by string length.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/1d839b255719af6137c27b6a3fd5a17c06655395"},{"sha":"fdcdedf9608e44462bad7a054e867fc6de8040e6","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Define constant for program version","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/fdcdedf9608e44462bad7a054e867fc6de8040e6"},{"sha":"992a01bea343613ba2f70cdac1c05ef727dc14b8","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"cstr: add conversion methods c_str() and str()","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/992a01bea343613ba2f70cdac1c05ef727dc14b8"},{"sha":"91da2b6f6ebeb490a4e2bd603b24b534fe05dd61","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add fatal_error exceptions for fatal errors","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/91da2b6f6ebeb490a4e2bd603b24b534fe05dd61"},{"sha":"53375135adcd5ca41c09035ac0619d6d44e8b59d","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add SourceLine and Source classes\n\nSource holds a complete input file in memory, SourceLine holds each\ninput line.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/53375135adcd5ca41c09035ac0619d6d44e8b59d"},{"sha":"27f36f0899ad6a17b4bc8942899555bc48c04637","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Store SourceLine in a vector in Source instead of list, store value instead of pointer","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/27f36f0899ad6a17b4bc8942899555bc48c04637"},{"sha":"86b8f0d3c6269318eab33c051caa72f48cea53e0","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add class Sources to hold all source files read in one run\n\nLines are stored in strpool, saving memory for duplicate lines.\nSpeeds up compiles where same file is read repeatedly, e.g. includes at\nthe cost of hash-lookups for every line read.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/86b8f0d3c6269318eab33c051caa72f48cea53e0"},{"sha":"5e6aad72cf38273563e77797d5703e8480dfa9d2","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Source keeps all SourceLine's instead of moving them to Pool - performance\n\nSource cannot be copied as all pointers become invalid.\nRemove Sources cache - not needed, may cost a lot of memory.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/5e6aad72cf38273563e77797d5703e8480dfa9d2"},{"sha":"f1ca4dbd37f4984a878e6c048ab7edb91f8d1794","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Remove common module - global objects will not be used","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/f1ca4dbd37f4984a878e6c048ab7edb91f8d1794"},{"sha":"a052f0afe1672912104ec76a09504b59587a7fa5","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Create types.h for common types","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/a052f0afe1672912104ec76a09504b59587a7fa5"},{"sha":"bc660621e67bac944fe6b27a97aecf48344565ab","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Path: use types.h, pass arguments as const string& to avoid copies","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/bc660621e67bac944fe6b27a97aecf48344565ab"},{"sha":"5f6c95b2511c3531a93a68843fed8d54d35fcc8f","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Source: iterator-interface\n\nRead whole file in constructor, expose begin(), end(), et.al. from\nvector<> to allow read lines to be read via iterators.\n\nSourceLine: stores reference of parent filename, to reuse memory - filename\nis the same for all input lines.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/5f6c95b2511c3531a93a68843fed8d54d35fcc8f"},{"sha":"2067ede73b6d20c95f9dd008b0ebd6ff4acaf07b","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Source: store SourceLine as SourceLine::ptr, a shared_ptr<>\n\nThis allows copying the SourceLine pointers to other objects, while\nmaking sure they stay alive until all references are gone.","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/2067ede73b6d20c95f9dd008b0ebd6ff4acaf07b"},{"sha":"3aa6c054eebb63eb53bec1e1bfa03bd5f3b97a85","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add ZX spectrum ROM as test file","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/3aa6c054eebb63eb53bec1e1bfa03bd5f3b97a85"},{"sha":"207aa11e0d0e74c3f6493cd645508daa6d39eb5d","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add using statements for commonly used standard library classes","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/207aa11e0d0e74c3f6493cd645508daa6d39eb5d"},{"sha":"f49ab0edb8883beeceb975fa962ba7aee09e27a0","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add Error and Warning classes","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/f49ab0edb8883beeceb975fa962ba7aee09e27a0"},{"sha":"e87c473652cc54bcfd35a5476dccb610744a44c9","author":{"email":"3e9a871f230bb65c1f63098a98982f3ae7d99f03@gmail.com","name":"Paulo Custodio"},"message":"Add Source::ptr for shared pointers to Source","distinct":true,"url":"https://api.github.com/repos/pauloscustodio/z80masm/commits/e87c473652cc54bcfd35a5476dccb610744a44c9"}]}