gerbonara/gerber
Paulo Henrique Silva 670d3fbbd7 Add aperture macro parsing and evaluation.
Aperture macros can get complex with arithmetical operations,
variables and variables substitution.

Current pcb-tools code just read each macro block as an independent
unit, this cannot deal with variables that get changed after used.

This patch splits the task in two: first we parse all macro content
and creates a bytecode representation of all operations. This bytecode
representation will be executed when an AD command is issues passing
the required parameters.

Parsing is heavily based on gerbv using a Shunting Yard approach to
math parsing.

Integration with rs274x.py code is not finished as I need to figure out
how to integrate the final macro primitives with the graphical primitives
already in use.
2015-03-03 03:41:55 -03:00
..
render Fix arc width per comment in #12 2015-02-20 10:07:26 -05:00
tests Merge pull request #20 from curtacircuitos/ipc-d-356 2015-02-21 02:48:55 -02:00
__init__.py Test update 2014-10-19 22:23:00 -04:00
__main__.py accidentially changed import order in 7ace94b 2015-02-18 16:14:46 +01:00
am_eval.py Add aperture macro parsing and evaluation. 2015-03-03 03:41:55 -03:00
am_read.py Add aperture macro parsing and evaluation. 2015-03-03 03:41:55 -03:00
am_statements.py Add aperture macro parsing and evaluation. 2015-03-03 03:41:55 -03:00
cam.py Add IPC-D-356 Netlist Parsing 2015-02-20 22:24:34 -05:00
common.py Fixing more relative import statements 2015-02-18 16:14:46 +01:00
excellon.py Add offset operation 2015-02-18 23:13:23 -05:00
excellon_statements.py Add offset operation 2015-02-18 23:13:23 -05:00
gerber_statements.py Add aperture macro parsing and evaluation. 2015-03-03 03:41:55 -03:00
ipc356.py Add IPC-D-356 Netlist Parsing 2015-02-20 22:24:34 -05:00
layers.py Refactor rendering 2014-10-18 01:44:51 -04:00
operations.py Doc update 2015-02-18 23:23:53 -05:00
primitives.py Add offset operation 2015-02-18 23:13:23 -05:00
rs274x.py Add aperture macro parsing and evaluation. 2015-03-03 03:41:55 -03:00
utils.py Python 3 tests passing 2015-02-18 21:14:30 -05:00