Commit Graph
44 Commits
Author SHA1 Message Date
Mike Auty b7c8961d50 Fix up the addition of the append method. 2018-02-10 23:43:29 +00:00
Mike Auty f3b6b5311f Fix up a couple extra typing issues, improving code quality. 2018-02-10 22:51:56 +00:00
Mike Auty 942de5f166 Finish adding type-annotations thoughout the code. 2017-12-13 20:48:52 +00:00
Mike Auty ee12b81f4a Add in type-annotations for renderers and start on symbols. 2017-12-13 20:48:52 +00:00
Mike Auty 21b4506b7b Add in type-annotations for the remaining interfaces. 2017-12-13 20:48:52 +00:00
Mike Auty 0ecf68af0f Support table remapping for referenced symbol names. 2017-11-27 14:39:46 +00:00
Mike Auty 2d570fdb62 Fix up the broken get_symbols_by_location call. 2017-11-23 01:36:16 +00:00
Mike Auty e90b4e2d02 Add and make use of free_table_name for symbol_spaces. 2017-09-03 22:54:42 +01:00
Mike Auty 2954d7433f Improve documentation and ordering. 2017-08-11 19:29:37 +01:00
Mike Auty e434909e50 Make SymbolTable.symbols consistent with enumerations and types. 2017-08-11 19:25:13 +01:00
Mike Auty d80fbf1a69 Fix validation typo preventing the newer symbols from properly working. 2017-07-10 00:04:29 +01:00
Mike Auty 5675942050 Add in symbol constant_data and bump the schema to 0.4.1.
Special thanks to @npetroni for having to suffer a very long discussion
with me about my need for things to have particular names because I
don't know the field very well.  5:S  Sorry!  5:)
2017-07-08 21:50:25 +01:00
Mike Auty f97a5b4700 All the object constructor to accept a Symbol as well as a name. 2017-04-26 09:59:47 +01:00
Mike Auty 08eb2bce96 Add in schema 2.1.0 and supporting code changes. 2017-02-13 22:39:20 +00:00
Mike Auty 6603e503c5 Rework enumeration access in symbol tables. 2017-02-04 14:46:46 +00:00
Mike Auty f0bc4ea59b Improve the symbol interface documentation, but it needs more work. 2016-12-30 02:46:40 +00:00
Mike Auty b745f41c6c Move the interface fo rthe SymbolSpace over to the interfaces module. 2016-12-28 22:50:52 +00:00
Mike Auty cf4ac3a7f6 Allow enumeration dictionaries to be accessed through the SymbolSpace directly. 2016-12-18 02:48:23 +00:00
Mike Auty ed716ca12a Convert SymbolTableInterfaces to descend from ConfigurableInterface
This allows SymbolTables to hold actual requirements (which
IntermedSymbolTable already did, but without pulling in the right
interface).  It means that values like kernel_virtual_offset get saved.

We still need to figure out how to allow plugins to demand optional
configuration values in other places (such as the kvo) but for now the
plugin will barf if it doesn't get it.
2016-12-12 02:08:32 +00:00
Mike Auty 667014a1fd Attempt to standardize error message display. 2016-10-30 17:51:45 +00:00
Mike Auty 6f1bdcb6cb Refactor symbol.offset to symbol.address. 2016-10-26 01:42:37 +01:00
Mike Auty 43aba96e3f Minor pylint (alphabetical imports) and refactoring the construct class to work for symbols. 2016-07-30 01:58:29 +01:00
Mike Auty 14c0cc262c Significantly rework the configuration system.
So this is where I ripped out the guts of the dependency tree
and made it a little better defined in some ways, and delayed
populating it in others.  The validate function signature has
changed and I'm still up in the air whether to validate with
True/False or throw/catch exceptions.

So now, configurables have a list of requirements, these are
then bundled into a single requirement and can be passed to
automagic.  Automagic runs a set of things over the deptree
to help build/manage it.  These run in order of priority.

The tree is still built from the top down, but now automagic
can build branch from the bottom up and try and splice them
into the tree where appropriate.  Hopefully this will make it
easier to see follow.
2016-07-29 03:24:52 +01:00
Mike Auty e0b7f0b5f0 Add in helper functions for symbolspaces/symboltables to locate specific symbols. 2016-05-22 15:57:48 +01:00
Mike Auty fea6e0820a Convert to using a BANG variable for the symbol name delimiter.
Whilst it's easy to do now (because we don't yet use it many places)
convert the ! delimiter into a variable.
2016-05-22 15:26:31 +01:00
Mike Auty 659bfc1670 Add in Symbol class to properly represent programming symbols. 2016-05-22 11:54:44 +01:00
Mike Auty 2d23c93def Completely refactor constants and structures to symbols and types. 2016-05-22 11:51:06 +01:00
Mike Auty 00660f2a2b Refactor requirements to their own file. 2016-01-16 21:04:41 +00:00
Mike Auty bcbfee9016 Refactor the validity function names to make it easier for autocomplete to find. 2015-12-29 22:24:32 +00:00
Mike Auty d258c56991 Rerun pylint with pycharm-5 and fix pep8 issues as well. 2015-11-21 13:12:00 +00:00
Mike Auty 2f980fb613 Fix up typo in symbols interface for native_structures (now natives). 2015-10-11 18:28:16 +01:00
Mike Auty 65fcd5fbe5 Minor pylinting. 2015-09-28 01:34:52 +01:00
Mike Auty d27c3adced Remove helper functions that don't format properly. 2015-01-20 00:00:27 +00:00
Mike Auty 3a28d7ae41 Refactor the context work, to use composable objects rather than inheritable classes. 2015-01-19 23:57:49 +00:00
Mike Auty c1d054df10 Rename functions in validity to avoid future member name collisions. 2014-12-30 03:49:31 +00:00
Mike Auty 38b0791233 General code refactor. 2014-12-30 03:43:36 +00:00
Mike Auty 39c0b38f09 Add additional docstrings and refactor/rearrange the entire codebase. 2014-06-11 01:35:50 +01:00
Mike Auty a97bd19988 Reformat and optimize code, including trailing whitespace and end of file newline. 2014-06-10 15:40:50 +01:00
Mike Auty 8e7ad364c7 Alter type/class checking structure so that it can be optimized out (either throws an exception or does nothing). 2014-04-08 00:59:08 +01:00
Mike Auty 89e7e6e7ff Tidy up several areas using PyCharm corrections. 2014-03-30 00:46:31 +00:00
Mike Auty 26f8d0f7cc Add in write support, and change symbols to be both structures and constants. 2013-12-28 05:30:54 +00:00
Mike Auty 3790ca03e1 Add in some TODOs, and swap to the File layer for testing. 2013-05-07 23:44:40 +01:00
Mike Auty 9c2e486356 Refactor code locations, tidy up object initializers and add in File Layer. 2013-05-06 17:45:15 +01:00
Mike Auty dc65c356fc Restructure the packages, change importing style to from ... import. 2013-05-04 15:44:59 +01:00