149 Commits

Author SHA1 Message Date
Dustin Spicuzza
0e732f1d43
Merge pull request #82 from robotpy/trailing-return-type-body
Consume function body if present after trailing return type
1.2.1
2023-11-13 23:27:15 -05:00
Dustin Spicuzza
42bc6b60ad Consume function body if present after trailing return type
- Fixes #81
2023-11-13 23:23:40 -05:00
Dustin Spicuzza
9883a4e247
Merge pull request #80 from robotpy/cpp20
Add various C++20 features
1.2.0
2023-10-13 02:37:46 -04:00
Dustin Spicuzza
37cd3abee9 Parse C++20 requirement constraints for functions/classes
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
2023-10-13 02:34:21 -04:00
Dustin Spicuzza
2957e70823 Add support for C++20 abbreviated function templates
Co-authored-by: David Vo <auscompgeek@users.noreply.github.com>
2023-10-13 02:34:17 -04:00
Dustin Spicuzza
e935959ad3 Implement basic concept parsing
- requires clauses are collected into a Value and not interpreted at
  this time
2023-10-10 03:45:55 -04:00
Dustin Spicuzza
e23c4db96d
Merge pull request #78 from robotpy/msvc-preprocessor
Add MSVC compatible preprocessing function
1.1.0
2023-10-08 23:06:01 -04:00
Dustin Spicuzza
196e88b85e Add MSVC preprocessor support 2023-10-08 01:51:13 -04:00
Dustin Spicuzza
3d23375190 Make content optional
- Some preprocessors read the file directly
2023-10-08 01:21:31 -04:00
Dustin Spicuzza
d94df61c63
Merge pull request #77 from robotpy/gcc-preprocessor
Add GCC compatible preprocessing function
2023-10-08 01:07:13 -04:00
Dustin Spicuzza
8f9e8626af Add GCC compatible preprocessing function 2023-10-08 01:01:18 -04:00
Dustin Spicuzza
9dd573e433 Make pcpp more optional 2023-10-08 00:56:25 -04:00
Dustin Spicuzza
2a17b27225
Merge pull request #75 from seladb/do-not-skip-headers-in-preprocessor
Add option to retain #include directives in preprocessor
2023-10-06 02:38:34 -04:00
seladb
312f6fba6b Add option to retain #include directives in preprocessor 2023-10-06 02:34:06 -04:00
Dustin Spicuzza
26da91836a Update sphinx configuration 2023-10-06 02:09:45 -04:00
Dustin Spicuzza
458d3e0795 Fix RTD configuration 2023-10-06 02:03:29 -04:00
Dustin Spicuzza
e9df106bee Add RTFD configuration 2023-10-06 01:59:25 -04:00
Dustin Spicuzza
9c587e9414 Prepare to publish 1.0.0 2023-10-05 02:53:55 -04:00
Dustin Spicuzza
93bdfee934 Add preprocessor-only mode to the dump command 2023-10-05 02:48:22 -04:00
Dustin Spicuzza
955214cef4
Merge pull request #73 from robotpy/multiple-template-declarations
Support multiple template declarations on a class or function
2023-10-05 02:35:13 -04:00
Dustin Spicuzza
51d29a0791 Support multiple template declarations on a class or function
- Fixes #20
2023-10-05 02:29:25 -04:00
Dustin Spicuzza
175815525f
Merge pull request #6 from robotpy/fmt-types
Add pretty formatting for types
2023-10-04 04:04:03 -04:00
Dustin Spicuzza
6ac0bdb4e3
Merge pull request #72 from robotpy/auto-decltype-fn
Parse auto functions with trailing return
2023-10-04 03:33:49 -04:00
Dustin Spicuzza
e30c117b62 Parse auto functions with trailing return 2023-10-04 03:29:27 -04:00
Dustin Spicuzza
a5ce9a24e6 Add pretty formatting for types and template specializations
- Fixes #3
2023-10-04 03:16:33 -04:00
seladb
1f5ba1b3ca
Various fixes after running pylint (#71) 2023-10-04 02:57:34 -04:00
Dustin Spicuzza
0280e8d7e1
Merge pull request #70 from robotpy/fwd-template-method
Allow forward declared template methods
2023-10-02 01:48:52 -04:00
Dustin Spicuzza
4d16552544 Allow forward declared template methods 2023-10-02 01:45:51 -04:00
Dustin Spicuzza
cc47d6785a
Merge pull request #69 from robotpy/fix-pp-again
Handle pcpp relative path quirk
2023-10-01 03:10:10 -04:00
Dustin Spicuzza
ab99f2fa72 Handle pcpp relative path quirk 2023-10-01 03:07:26 -04:00
Dustin Spicuzza
e6908386ea Add documentation clarifying FundamentalSpecifier 2023-09-30 16:28:42 -04:00
Dustin Spicuzza
bdcee6f9c0
Merge pull request #68 from robotpy/simplify-blocks
breaking change: remove empty block state and update visitor types
2023-09-28 21:01:26 -04:00
Dustin Spicuzza
bf54be5bbb Constrain visitor state types further to valid combinations 2023-09-27 11:37:48 -04:00
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