Commit Graph

20 Commits

Author SHA1 Message Date
Thomas Jensen
083fc37b12
Consolidate undocumented options into -x command line option 2024-09-28 15:00:45 +02:00
Thomas Jensen
0dcfdf2963
Simplify pattern in adjust_eols() in 'parsecode' module 2024-05-13 21:55:50 +02:00
Thomas Jensen
4246ad1203
Update copyright statements for 2024 2024-02-16 22:01:58 +01:00
Thomas Jensen
d62b04e485
Drop fields REVISION, REVDATE, and CREATED from config file
These pieces of information are really in Git, so they are no longer required in the config file.
2024-02-14 22:03:15 +01:00
Thomas Jensen
f739343c29
Move some declarations from shape.h to boxes.in.h
This resolves some otherwise circular dependencies between modules.
2023-12-09 14:54:13 +01:00
Thomas Jensen
76c4e10cd1
Add new test case for nearly blank corners and indentation removal
... including some fixes to make this work.
2023-12-09 14:54:13 +01:00
Thomas Jensen
34759334f7
Print useful error message on invalid design name 2023-04-30 17:44:32 +02:00
Thomas Jensen
b7e3549d15
Implement some of the things marked as to-do 2023-04-30 17:15:22 +02:00
Thomas Jensen
771f78874e
Move code on shape lines from parser.y to parsecode.c 2023-04-30 14:14:21 +02:00
Thomas Jensen
8a7bb8039f
Enable lexer and parser to handle UTF-8 config file #72 2023-04-07 21:10:00 +02:00
Thomas Jensen
77d02890a7
Update copyright statements for 2023 2023-03-26 21:32:08 +02:00
Thomas Jensen
a3a37b50fc
Upgrade project license to GPL-3 #101 2022-09-18 15:00:15 +02:00
Thomas Jensen
2d3a842728
Refactor lexer and parser for maintainability
- Speedmode is now purely a parser thing
- Lexer start condition SPEEDMODE is no longer needed
- Added lexer start condition BOX to distinguish box def content
- DELIMs are now purely a lexer thing
- No shared state between lexer and parser for DELIMs anymore
- Fix bug where speedmode could terminate in a SAMPLE block
- All lexer start conditions now exclusive
- Improved debug output
- Renamed parser token YDELWORD to YDELIMSPEC
2021-06-13 22:34:53 +02:00
Thomas Jensen
00153f8068
Fix a bug where alias names could be defined twice
This could happen when configs are inherited, but aliases redefined
(a rare case so far).
2021-06-08 22:06:25 +02:00
Thomas Jensen
82bc084bad
Extract tag query functionality into its own, new 'query' module #78 2021-04-17 15:31:04 +02:00
Thomas Jensen
aa36998f77
Rename ANZ_* constants in shape.h to NUM_* #78
This is more in keeping with English standards, and hopefully
improves maintainability a small bit.
2021-04-17 15:30:42 +02:00
Thomas Jensen
139994f97f
Add option to override line terminators #60 2021-04-11 20:34:51 +02:00
Thomas Jensen
f620c1b19b
Extract full_parse_required() in parsecode.c for maintainability 2021-04-11 20:34:51 +02:00
Thomas Jensen
09d5ebcbb4
Untangle -l and -q options #23
Both are now used stand-alone for their respective purposes.
2021-04-11 20:34:41 +02:00
Thomas Jensen
76880f1c3c
Extract parser.y's C code into new parsecode module
We took the larger pieces only, with the aim of making parser.y more
readable and making it easier to understand the syntax rules.
Also, some IDEs (such as CLion and vscode) don't support yacc/bison
syntax to the full extent, so we have better IDE support in a C file.
2021-04-11 20:27:17 +02:00