Dustin Spicuzza
326da6112c
Remove EmptyBlockState
...
- Turns out you can't put an empty block except in code
2023-09-27 01:14:21 -04:00
Dustin Spicuzza
8c69970857
Merge pull request #66 from robotpy/fn-operator
...
breaking change: Remove operator type and make part of Function
2023-09-24 22:01:10 -04:00
Dustin Spicuzza
c3fbe4c16c
breaking change: Remove operator type and make part of Function
...
- Unifies free function operators and method operators -- otherwise users
would need to parse the operator themselves to deal with free function operators
- We don't have any releases yet, so there are no stability guarantees
2023-09-23 21:45:30 -04:00
Dustin Spicuzza
09eb5af3a3
Add tokfmt test for void**
2023-09-19 00:19:46 -04:00
Dustin Spicuzza
67c1f2b17d
Reorder enum in file
2023-09-19 00:19:39 -04:00
Dustin Spicuzza
960ed68785
Merge pull request #65 from robotpy/skip-sections
...
Skip sections
2023-09-09 23:14:05 -04:00
Dustin Spicuzza
8e2d9909fa
Provide mechanism to skip entire blocks
...
- Simplifies usage of visitor logic considerably
- Add null_visitor to help with this
2023-09-09 23:10:17 -04:00
Dustin Spicuzza
56278abe33
Fix gentest pcpp option
2023-09-09 22:53:23 -04:00
Dustin Spicuzza
f836f81baf
Merge pull request #64 from robotpy/state-user-data
...
Allow parser visitors to leverage the parser's state instead of creating their own stacks
2023-09-09 11:27:22 -04:00
Dustin Spicuzza
3bae95f2a7
Allow parser visitors to leverage the parser's state instead of creating their own stacks
2023-09-03 19:49:40 -04:00
Dustin Spicuzza
15ec31b84f
Actually call empty block visitor function
2023-09-03 19:30:00 -04:00
Dustin Spicuzza
a110a5508b
Merge pull request #63 from robotpy/pp-encoding
...
Variety of preprocessor related fixes
2023-09-03 18:54:28 -04:00
Dustin Spicuzza
a13cdf4f67
Provide mechanism to specify preprocessor file encoding
2023-09-03 18:46:31 -04:00
Dustin Spicuzza
de4d06defe
Fix preprocessor option to retain content
2023-09-03 18:46:31 -04:00
Dustin Spicuzza
a60bb7fd18
Add basic preprocessor test
2023-09-03 18:46:31 -04:00
Dustin Spicuzza
4ab7b3fd16
Adjust simple parse_file to accept a Path or string as filename
2023-09-03 18:46:24 -04:00
Dustin Spicuzza
acc2b27332
Merge pull request #61 from robotpy/preprocessor
...
Add easy to use preprocessor support
2023-08-23 22:57:57 -04:00
Dustin Spicuzza
34d7b4561b
Add easy to use preprocessor support via pcpp
...
- Fixes #60
2023-08-22 11:20:31 -04:00
Dustin Spicuzza
1ba625a13b
Merge pull request #62 from robotpy/fix-line-directives
...
Fix #line directives
2023-08-22 10:09:19 -04:00
Dustin Spicuzza
4febbe5d0d
Fix #line directives
2023-08-22 10:02:22 -04:00
Dustin Spicuzza
dffcbf9034
Merge pull request #59 from robotpy/decorated-conversion-operator
...
Parse extra type information for conversion operators
2023-08-19 20:04:22 -04:00
Dustin Spicuzza
f597b691f7
Parse extra type information for conversion operators
...
- Fixes #57
2023-08-19 20:02:03 -04:00
Dustin Spicuzza
6ab0d00c2f
Merge pull request #56 from robotpy/remove-pp-and-handle-continuations
...
Remove pp and handle continuations
2023-08-19 19:45:25 -04:00
Dustin Spicuzza
bd9907ad79
Restructure preprocessor support
...
- Remove partial support for #define and other PP directives
- Allow pragma to span multiple lines
- Pragma now emits a list of tokens instead of a single string
- Ignore #warning directive if present
2023-08-19 19:42:05 -04:00
Dustin Spicuzza
b07e1f81a6
Discard line continuations
...
- Fixes #54
2023-07-23 17:02:32 -04:00
Tomaž Šuštar
3938d0ffef
fix #49 for anonymous unions ( #50 )
...
* fix #49 for anonymous unions
* fix formatting
* fix mypy and tests
* fix for structs
* fix formatting
2023-06-14 13:31:10 -04:00
Dustin Spicuzza
9bf99db87b
Add bug report, fix parser error template
2023-05-29 09:09:50 -04:00
Dustin Spicuzza
edb1b1909a
Add parser error issue template
2023-05-29 09:05:45 -04:00
Dustin Spicuzza
44ab824ffd
Merge pull request #51 from robotpy/update-ci
...
Update CI to latest ubuntu runners
2023-05-05 12:59:40 -05:00
Dustin Spicuzza
05f2dc39eb
Update CI
...
- Update ubuntu runner version
- Use latest setup-python and checkout actions
2023-05-05 13:46:24 -04:00
Dustin Spicuzza
7d302fdf91
Merge pull request #47 from tomazsustar/conditional-operator-fix
...
bugfix #46 adding question mark to lexer
2023-03-22 11:23:35 -05:00
Tomaž Šuštar
6461158422
bugfix #46 adding question mark to lexer
2023-03-22 16:15:48 +01:00
Dustin Spicuzza
adc8273e16
Update README.md
2023-03-17 01:39:39 -04:00
Dustin Spicuzza
01c93956b5
Merge pull request #44 from robotpy/ns-alias
...
Parse namespace alias and emit it
2023-03-17 01:27:24 -04:00
Dustin Spicuzza
2fe350bf35
Parse namespace alias and emit it
...
- Fixes #43
2023-03-17 01:24:23 -04:00
Dustin Spicuzza
1aa9e72ca1
Upgrade black to 2023.1
2023-03-16 18:45:34 -04:00
Dustin Spicuzza
296272fd39
Merge pull request #42 from robotpy/lexer-updates
...
Significant lexer overhaul
2022-12-15 21:29:32 -05:00
Dustin Spicuzza
e5295070a0
Add support for parsing user defined literals
2022-12-15 02:55:07 -05:00
Dustin Spicuzza
1eaa85ae8d
Split the lexer into PlyLexer and TokenStream components
...
- There are two types of token streams: file based, and list based
- I think this has better component separation
- Doxygen parsing is a bit weirder, but I think it's more straightforward to see all the pieces?
2022-12-15 02:38:44 -05:00
Dustin Spicuzza
40bf05b384
Add additional doxygen related testcases to make sure things don't accidentally break
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
2ba5c3c829
Support extracting doxygen comments when declspec or attributes are present
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
079d643c67
Update PLY package to include version
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
b54c807824
Remove unused lexer.filenames
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
aee776072e
Grab string/character lexer constants from pycparser
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
03c24a2074
Better lexer error handling
2022-12-15 01:49:49 -05:00
Dustin Spicuzza
b47eb7ce10
Use lex.TOKEN decorator for lexer tokens instead of docstrings
...
- Allows usage with -OO
2022-12-10 14:08:59 -05:00
Dustin Spicuzza
19c0604603
Merge pull request #41 from robotpy/moar-coverage
...
Moar coverage
2022-12-09 10:59:28 -05:00
Dustin Spicuzza
ace1d09d9d
Add throw/noexcept tests
2022-12-09 03:28:50 -05:00
Dustin Spicuzza
8a0568c0f5
Change balanced token handling to allow mismatched gt/lt tokens
...
- These can be used for math, so we just assume the code is doing that
2022-12-09 03:26:16 -05:00
Dustin Spicuzza
b08d8783d4
Remove unused pieces from coverage reporting
2022-12-09 01:29:59 -05:00