Marek Roszko
f8744b7797
dsnlexer can live in kicommon
2024-01-03 23:18:31 -05:00
Seth Hillbrand
bd4c2df3ba
Suppress signedness warning
2022-11-03 15:08:45 -07:00
Marek Roszko
2ee6f67892
Handle leading whitespace with std::from_chars
...
Testing the parsers, this doesn't generally happen but there was a comment about it before the changes
2022-08-15 19:30:43 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
jean-pierre charras
ee5f9034f7
pcb parser: ensure the parser is reinitialized before parsing a new fp file
...
Because the same parser is used to read all footprint files of a library,
the parser must be reinitialized (internal variable cleared) before reading
a new file, otherwise the previous parser state is applied to the next file.
Fixes #7627
https://gitlab.com/kicad/code/kicad/issues/7627
2021-08-26 19:38:20 +02:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Marek Roszko
af2707929d
Don't leak a wx header via eda_item.h
...
Turns out this provided the translation header globally :D
2021-06-02 19:18:48 -04:00
Ian McInerney
ecd9bf696e
Be consistent about using nullptr instead of 0
...
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Jonathan Haas
55679be2e3
Fix some typos across the codebase
2021-04-05 16:15:25 +02:00
Werni
0e44f5128c
Add const specifiers
2020-11-18 19:50:36 +00:00
Jeff Young
834c7bbe05
Report lexer issues through error reporter.
2020-10-16 12:44:20 +01:00
Marek Roszko
a1c75748a0
Remove GetChars(), a wxWidgets 2.9 compatibility hack
2020-10-15 20:53:25 -04:00
jean-pierre charras
13304d0870
more cleanup about removing useless include
2020-10-02 13:40:00 +02:00
Wayne Stambaugh
ede39780e2
Remove all debugging output that cannot be disabled.
...
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.
There is still some debugging output in test code that really needs to
be moved into a unit test.
Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
jean-pierre charras
9b6ade6b1c
Fix a link issue (symbol not found).
2020-08-07 08:02:45 +02:00
Jeff Young
f27661fa39
Be more flexible with user input; more multibyte safety.
2020-08-06 19:38:06 +01:00
Jeff Young
c415130de9
Improve parse error messages.
2020-05-25 22:51:47 +01:00
Jeff Young
160981ee71
Better error reporting for DRC rule parsing.
2020-05-25 22:51:47 +01:00
Jeff Young
b8fd2f3c79
Revert "Don't be pedantic about the file format."
...
This reverts commit 1537cbc59c
.
2018-03-16 18:11:36 +00:00
Jeff Young
1537cbc59c
Don't be pedantic about the file format.
...
It's just another form of nagging.
2018-03-16 16:57:38 +00:00
Simon Richter
a9ccf1161b
Fix quotes in UI messages
...
This replaces all single and angle bracket quotes in UI messages with
double quotes, for consistency.
Sorry to all translators.
2017-12-15 07:33:07 -05:00
Kristoffer Ödmark
19d5cc7548
Removed all exception specifiers since deprecated.
...
Exception specifiers are deprecated in cpp11, so went through them all
and removed them from the code.
2017-06-12 13:54:55 -04:00
Konrad Beckmann
c4ea54227e
Remove redundant statement in DSNLEXER::PopReader
2017-04-13 14:03:37 -04:00
jean-pierre charras
c2227abb36
Specctra import: accept layer names like numbers (i.e. +12).
2017-03-20 19:50:07 +01:00
unknown
b3b791961a
coverity common folder fixes (mainly not initialized members).
2015-03-11 17:04:20 +01:00
Wayne Stambaugh
4c6ca81f2c
More Coverity scan error fixes.
2015-02-22 16:25:29 -05:00
jean-pierre charras
d83eb11aa6
Minor fixes. Remove unused icon. Add 3 new icons. Change one icon (3 icons are from Konstantin Baranowskiy)
2014-12-11 13:00:59 +01:00
jean-pierre charras
0e996cac9e
Pcbnew: fix Bug #1395594 (pcbplotparams parser sensitive to formatting)
...
Looked like a minor issue, but was due to a more serious bug, when using 2 different DSN_LEXERS which were not synchronized.
The fix is not perfect, but unfortunately, the parser used to read the PCB_PLOT_PARAMS in .kicad_pcb files is also used in legacy board file reader.
Therefore it is better than write 2 parser functions, one for legacy files, the other for the .kicad_pcb files, which make the same thing.
2014-12-04 20:15:26 +01:00
Dick Hollenbeck
acbe6290c5
switch back to original sexpr usage of PTREE, add new DSNLEXER constructor, enforce accessors in kicad.exe
2014-07-07 14:49:14 -05:00
Dick Hollenbeck
8c2d3d12fc
comment improvements
2013-07-09 00:22:08 -05:00
Dick Hollenbeck
9d6ec5a265
dsnlexer.cpp's isNumber() was recently stupid-ized, un-stupid-ize it.
2013-07-01 09:37:03 -05:00
Dick Hollenbeck
caf5fc8d8d
DSNLEXER::NextTok() organizes the specctraMode code better, into one if block mostly.
...
This keeps it out of the KiCad mode path, making that leaner and less confusing about
what is supported in KiCad mode. Within KiCad mode, treat quoted vs. non-quoted tokens
as the two general categories, with non-quoted having sub-categories. Eliminate
an unimplemented, unused function declaration in DSNLEXER.
Improve the output formatting of THROW_PARSE_ERROR().
2013-07-01 01:47:36 -05:00
Dick Hollenbeck
44d31a1897
Speed up DSNLEXER::findToken() to such an extent that it resulted in an approximate 13% reduction
...
in *.kicad_pcb file loading times.
2013-06-30 20:05:40 -05:00
Dick Hollenbeck
1f9ee2e45e
Support for 'initial single line comments' in the pretty footprint format.
...
This is limited to round tripping the lines of commented text in the
loading and saving to disk through PCBIO::Format() and PCBIO::Parse().
No editing of the comments is given.
2013-06-23 14:18:33 -05:00
Dick Hollenbeck
94338e072f
comment
2013-06-04 09:44:08 -05:00
Dick Hollenbeck
0390fbf978
speedups
2013-06-03 08:09:37 -05:00
Dick Hollenbeck
5c98951954
add support for exponents in dsnlexer.cpp's DSN_NUMBER token
2013-05-31 09:24:56 -05:00
Dick Hollenbeck
d8f87cca3c
factor out isNumber() in dsnlexer.cpp, add support for numbers with exponents, leave commented out for further testing
2013-05-30 20:20:37 -05:00
Dick Hollenbeck
0eae829b11
factor out isNumber() in dsnlexer.cpp, add support for numbers with exponents, leave commented out for further testing
2013-05-30 19:49:22 -05:00
Dick Hollenbeck
000ec33af2
remove temporary debug printf()s I no longer need.
2013-05-01 10:49:34 -05:00
Dick Hollenbeck
9634fa5c07
fix 2 corner case bugs in specctra import
2013-05-01 10:48:00 -05:00
jean-pierre charras
0d41a7a523
All: fix some issues in messages to translate. Remove fully outdated files
2013-04-10 09:23:20 +02:00
Lorenzo Marcantonio
42709330e0
Better strings for the translators (converted concatenations to formats)
2013-04-09 19:49:01 +02:00
Lorenzo Marcantonio
b525e3be55
Factored out text anchor drawing
...
More layer classification cleanup
2013-04-09 18:00:46 +02:00
Dick Hollenbeck
063907211e
more fp_lib_table work, enhance parser
2012-12-08 17:58:03 -06:00
Dick Hollenbeck
bb383e22b3
optimize isSpace for negative 8 bit bytes
2012-10-08 15:01:17 -05:00
Dick Hollenbeck
56796a950c
*) Use fgetc() technique to avoid strlen() in FILE_LINE_READER::ReadLine(),
...
which was having difficulty with embedded nuls in files coming from PCAD.
*) Make dsnlexer.cpp's isSpace() treat nuls as whitespace.
2012-10-08 14:34:46 -05:00
jean-pierre charras
3a8bf14c9f
Fix an issue (only found using gcc under mingw) in dsnlexer.cpp, using ::isspace( ) function that accepts only a 7 bit ASCII value under gcc/ mingw.
2012-06-20 22:33:05 +02:00
Dick Hollenbeck
3fa7c200b7
Add tools/parser_gen.cpp which is the beginnings of an s-expression parser
...
generation tool. For now, it is just an s-expression beautifier using
our "non-specctra mode" version of s-expressions.
2012-04-29 21:57:48 -05:00