1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-11-23 01:14:04 +02:00
Commit Graph

888 Commits

Author SHA1 Message Date
Werner Almesberger
a537cc5503 b2/subst.c (parse_var): use unique_n 2012-05-23 17:23:14 -03:00
Werner Almesberger
b9066c6331 b2/util.c: new function unique_n for strings limited by length and not NUL 2012-05-23 17:23:14 -03:00
Werner Almesberger
9445f2c85b b2/bom.c (bom_parse_line): check that components reference are unique 2012-05-23 17:23:14 -03:00
Werner Almesberger
ddd22ba16c b2/: add parsing of KiCad eeschema BOMs (option -b) 2012-05-23 17:23:14 -03:00
Werner Almesberger
7c8fc30541 b2/boom.c (usage): -Q wasn't mentioned; explain -q and -Q 2012-05-23 15:14:58 -03:00
Werner Almesberger
db279b7920 b2/subex.c (compose): use stralloc_n instead of open-coding its functionality 2012-05-23 14:18:02 -03:00
Werner Almesberger
78bcb8d3de schhist/schhist2web: correct handling of deferred columns
This fixes two bugs:

- the last column could leave td=true, causing an extra column to be
  erroneously inserted at the beginning of the next row

- a deferred <TD> at the end of the row would be output before $s,
  placing it right after the last thumbnail instead of the end of
  the thumbnail section

Also combines flushing of "td" for all code paths that produce a
difference image.
2012-05-23 01:53:33 -03:00
Werner Almesberger
c9bd26a34d b2/Makefile: generate dependencies also for YACC- and LEX-generated files
We need explicit rules to compile lex.yy.c and y.tab.c for the relaxed
CFLAGS. However, this means that the implicit rule was not used and
therefore no dependencies were generated.
2012-05-22 16:09:22 -03:00
Werner Almesberger
4f142c1250 b2/: for consistency, make "break/continue $" equivalent to "break/continue"
Plus a bit of code simplification.
2012-05-22 15:57:55 -03:00
Werner Almesberger
694d48b56a b2/: make the match name after "break" and "continue" optional
If the name is omitted, we jump back / out of the current block.
2012-05-22 15:47:02 -03:00
Werner Almesberger
107280b6d5 b2/: rename "again" to "continue" 2012-05-22 15:44:31 -03:00
Werner Almesberger
bb809b0d6c b2/: make "again" include the match; make "break" pop the stack 2012-05-22 15:29:27 -03:00
Werner Almesberger
2ce2da5c30 b2/subst.c (resolve_jump): use pointer comparison instead of strcmp
Both come from "unique".
2012-05-22 14:27:39 -03:00
Werner Almesberger
21702781bc b2/: use re_nsub instead of maintaining our own equivalent
We still need to count parentheses in prepare_re for the current index
into "units", but the rest can ue re_nsub.
2012-05-22 13:51:57 -03:00
Werner Almesberger
148d5e85ac b2/: regexec puts first substring into pmatch[1] and not pmatch[0]
Also clean up the hard-coded number of matches.
2012-05-22 13:49:49 -03:00
Werner Almesberger
3d2eca34ff b2/: meta-variable $ for "previously matched variable"
We need this for iterative processing of FN.
2012-05-22 13:01:39 -03:00
Werner Almesberger
2946b830f1 b2/subst.c (prepare_re): fail on bad (#unit) syntax instead of ignoring 2012-05-22 12:07:41 -03:00
Werner Almesberger
d2171eba47 b2/: add "ignore" keyword for substitution rules
This allows us to decide in the project-specific rules how to indicate
DNP/NC/DNS/... parts. In the original BOOM, F1 == NC was hard-coded.
2012-05-21 23:17:33 -03:00
Werner Almesberger
2014e6053e b2/eval.c (decode_mult): also support "G" prefix
Not that we'd need giga-anything anytime soon, but since all the rest
also recognizes G, we support it here for consistency.
2012-05-21 22:35:55 -03:00
Werner Almesberger
2c5850ebe6 b2/: correct some whitespace anomalies 2012-05-21 21:25:29 -03:00
Werner Almesberger
256a096220 b2/boom.c: add parametric part selection (with option -Q) 2012-05-21 21:23:31 -03:00
Werner Almesberger
bcf4696dd9 b2/db.c: add (somewhat crude) parametric part selection 2012-05-21 21:23:31 -03:00
Werner Almesberger
4a3e517935 b2/: move basic handling of variables from subex to param 2012-05-21 19:46:42 -03:00
Werner Almesberger
c1b6b2a5e4 b2/: use (general) "struct param" to replace (specialized) "struct var" 2012-05-21 19:26:36 -03:00
Werner Almesberger
061e8f5872 b2/: rename "name" field in struct value to more generic "s", for better sharing 2012-05-21 14:44:33 -03:00
Werner Almesberger
fdac542592 b2/: add relop to struct param, in preparation of merge with struct var 2012-05-21 14:35:51 -03:00
Werner Almesberger
3ad6c2c44b b2/: move all error handling from subex to subst
This makes checking of variables more strict: a variable can only
be used in the right -hand side of an assignment if it has been
assigned by an unconditional predecessor or if it has been matched
by a parent.

Things that wouldn't work anymore:

REF=X* {
	FN=*V { X=Y }
	Z=$X	/* we can't be sure X=Y was taken */
}

FN=*R {
	X=$REF	/* no previous use of REF */
}
2012-05-21 00:20:07 -03:00
Werner Almesberger
6fd5313917 b2/: assigments to can express inequalities 2012-05-20 23:16:51 -03:00
Werner Almesberger
a34702cd8d b2/: move relational operators to relop.[ch] (for sharing)
This also fixes a bug in dump_one_field, which switched > and >=
2012-05-20 23:04:41 -03:00
Werner Almesberger
99e5777448 b2/: finish unit handling and move most of its processing to the match side
The ${foo#unit} syntax didn't really make sense because it created
a large number of potential error conditions on the assignment side
and didn't help with finding compatible fields.

With all this moved to the match side, an invalid syntax simply causes
a mismatch.
2012-05-20 22:02:50 -03:00
Werner Almesberger
adecef8d4a b2/: use glob syntax instead of RE syntax for substitutions 2012-05-20 21:05:17 -03:00
Werner Almesberger
9681d44ca4 b2/subst.c: use vstring for modified regexp 2012-05-20 20:57:18 -03:00
Werner Almesberger
4e39ca2e31 b2/: move variable-length strings to vstring.[ch], for sharing 2012-05-20 20:54:07 -03:00
Werner Almesberger
8e6357f4fa b2/boom.c: add substitution query mode (option -q) 2012-05-20 20:33:15 -03:00
Werner Almesberger
04d858e047 b2/: export field hierarchy and substitution rules from lang.y 2012-05-20 20:33:14 -03:00
Werner Almesberger
fd14c5200a b2/: add processing of substitution rules 2012-05-20 20:33:14 -03:00
Werner Almesberger
9fd1dc56e7 b2/: add parsing of substitution rules (WIP) 2012-05-20 20:33:14 -03:00
Werner Almesberger
d8f5c95ecb schhist/schhist2web: correctly align shared columns
When sharing columns, the "unchanged" bar wasn't centered unless the
sheet was the first sheet in that column.
2012-05-11 22:07:10 -03:00
Werner Almesberger
cc5732bbf3 schhist/schhist2web (ordered_names): fix typo in pattern 2012-05-11 03:18:33 -03:00
Werner Almesberger
1468a33268 schhist2web: column sharing with SCHHIST_ORDER=...:first=next=...:... (WIP)
This only shows the first name in the header. Should generate a new header
line when a sheet is a column changes. Should also complain when sheets
collide. Needs more testing.
2012-05-11 02:47:18 -03:00
Werner Almesberger
b7816b9dad schhist/schhist2web: truncate commit entries after 300 characters
This limit includes the entire entry, including the author and the date.
2012-05-11 01:45:07 -03:00
Werner Almesberger
9365a23f7c schhist/sanitize-profile: treat LibDir as a list 2012-05-11 00:53:05 -03:00
Werner Almesberger
881bf33be0 rescue files from svn.openmoko.org 2012-05-01 23:09:24 -03:00
Werner Almesberger
702343cabc b2/: connect stock to provider 2012-05-01 15:21:32 -03:00
Werner Almesberger
5d7f4fc662 b2/lang.l: print file name in diagnostics 2012-05-01 15:07:38 -03:00
Werner Almesberger
9a06757420 b2/: move file opening from boom.c to lang.l and combine setup code 2012-05-01 15:04:24 -03:00
Werner Almesberger
82d532e4a2 b2/: add provider database (WIP) 2012-05-01 14:57:12 -03:00
Werner Almesberger
c3a68453d0 b2/: add currency database 2012-04-30 22:49:33 -03:00
Werner Almesberger
24a32525e2 b2/: add dumping of stock information
Also use part_add without first calling part_lookup, since the latter is
implicit.
2012-04-30 20:40:11 -03:00
Werner Almesberger
450769e031 b2/: add options to set file type on the command line 2012-04-30 20:19:55 -03:00