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