<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tools/slang-cpp-extractor/slang-cpp-extractor-diagnostic-defs.h, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2021-04-19T19:39:42+00:00</updated>
<entry>
<title>Splitting up C++ extractor (#1800)</title>
<updated>2021-04-19T19:39:42+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2021-04-19T19:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=778428fecc0548af565e92745cf1344bcf19367f'/>
<id>urn:sha1:778428fecc0548af565e92745cf1344bcf19367f</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Refactor out ClassLikeNode

* WIP around ScopeNode.

* Use push and popScope.

* Small improvements around C++ extractor.

* Adding dynamic casting support.

* Made Field another Node type.

* Disable command line dumping by default.

* Removed comment.

* Fix shadowed variable bug found on linux.

* Split out node.

* Renamed C++ extractor diagnostics to just diagnostics.cpp/.h

* Remove C++ extractor Options into separate options.cpp/options.h files.

* Split out parser and identifier lookup from C++ extractor.

* Put in CppExtract namespace.
Simplify some of the class names.

* Some simple renaming.

* Split out NodeTree from Parser.</content>
</entry>
<entry>
<title>C++ Extractor reorganize (#1793)</title>
<updated>2021-04-14T17:47:14+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2021-04-14T17:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=7fc8e11c378e2f6268ce99a27660aab2aa54c1d8'/>
<id>urn:sha1:7fc8e11c378e2f6268ce99a27660aab2aa54c1d8</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Refactor out ClassLikeNode

* WIP around ScopeNode.

* Use push and popScope.

* Small improvements around C++ extractor.

* Adding dynamic casting support.

* Made Field another Node type.

* Disable command line dumping by default.

* Removed comment.

* Fix shadowed variable bug found on linux.</content>
</entry>
<entry>
<title>Single pass C++ extraction (#1583)</title>
<updated>2020-10-22T12:46:12+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-10-22T12:46:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=10e1bae34733f1cdb5abc001666b1aafa1c1f406'/>
<id>urn:sha1:10e1bae34733f1cdb5abc001666b1aafa1c1f406</id>
<content type='text'>
* #include an absolute path didn't work - because paths were taken to always be relative.

* Added CharUtil.
Added TypeSet to extractor.
First pass at being able to specify all headers for multiple output headers.

* Fix includes for new C++ extractor convension.
Update premake5 to use new extractor mechanisms.

* Small improvements around StringUtil.

* Split out NameConventionUtil.

* Use a 'convert' to convert between convention types.

* Fix output of build message for C++ extractor.
Improve NameConventionUtil interface.

* Improve comments.

* Fix warning on gcc.

* Fix clang warning.

* Fix some typos in NameConventionUtil.

* Small fix to premake5.lua

* Fix generated includes.

* Remove m_reflectType as no longer applicable with TypeSet.

* Fix .gitignore for slang-generated-* files.
Added getConvention to determine convention from slice.
Add versions of split and convert that infer the from convention

* Fix typo in spliting camel.

* LineWhitespace -&gt; HorizontalWhitespace

* Improve CharUtil comments.</content>
</entry>
<entry>
<title>Use Reflection for (Serial)RefObject Serialization (#1567)</title>
<updated>2020-10-06T21:07:22+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-10-06T21:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=4ad2e52662a00f7d8b25be6d451bba33ba62947f'/>
<id>urn:sha1:4ad2e52662a00f7d8b25be6d451bba33ba62947f</id>
<content type='text'>
* First pass at generalizing serializer.

* Split out ReflectClassInfo

* Use the general ReflectClassInfo

* Fix some typos in debug generalized serialization.

* Add calculation of classIds.
Make distinct addCopy/add on SerialClasses.

* Write up of more generalized serialization

* WIP to transition from ASTSerialReader/Writer etc to generalized SerialReader/Writer and associated types.

* Improvements to SerialExtraObjects.
Keep RefObjects in scope in factory

* Compiles with Serial refactor - doesn't quite work yet.

* First pass serialization appears to work with refector.

* Split out type info for general slang types.

* Split out slang-serialize-misc-type-info.h

* DebugSerialData -&gt; SerialSourecLocData
DebugSerialReader -&gt; SerialSourceLocReader
DebugSerialWriter -&gt; SerialSourceLocWriter

* Remove unused template that only compiles on VS.

* Fix warning around unused function on non-VS.

* Improve output of type names that are in scopes in C++ extractor.
Update premake5.lua to run generation for RefObject derived types.

* C++ extractor working on RefObject type.

* Split out serialization functionality that spans different types into slang-serialization-factory.cpp/.h
Put AST type info into header.
Removed RefObjectSerialSubType - use RefObjectType
Add filtering for RefObject derived types
Remove construction and filteringhacks.

* Set up field serialization for SerialRefObject derived types.

* Fix template problem compiling on Clang/Gcc

* Work in progress to make Value types work.

* Added slang-value-reflect.cpp</content>
</entry>
<entry>
<title>Use 'balance' for extracting array suffix in C++ extractor (#1346)</title>
<updated>2020-05-18T19:24:05+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-05-18T19:24:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=1de14312917a0427a7a0858615b65261da60f748'/>
<id>urn:sha1:1de14312917a0427a7a0858615b65261da60f748</id>
<content type='text'>
* Add support for parsing array types to C++ extractor.

* C++ extractor looks for 'balanced tokens'. Use for extracting array suffixes.</content>
</entry>
<entry>
<title>C++ Extractor (#1337)</title>
<updated>2020-05-04T17:46:24+00:00</updated>
<author>
<name>jsmall-nvidia</name>
<email>jsmall@nvidia.com</email>
</author>
<published>2020-05-04T17:46:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=f59978893fed309ff19bacd787398c4bab4aa7c8'/>
<id>urn:sha1:f59978893fed309ff19bacd787398c4bab4aa7c8</id>
<content type='text'>
* WIP: Doing texing using slangs lexer for cpp-extractor

* Node tree for C++ extraction.

* Bug fixing.
Add dump of hierarchy.

* First pass at extracting fields.

* Parse template types.

* Use diagnostics defs for C++ extractor.

* Simplify Diagnostic Defs.

* Remove the brace stack.

* Added IdentifierLookup.

* Add handling for &gt;&gt; style template close.

* Improved identifier handling/keywords.

* Added ability to check if reader is at cursor position.

* Handling of an unspecified root type.

* Parsing code comments.
Tidy up some parsing - to use advanceIf functions more.

* Improve path handling.

* Fixes around changes to Path interface.

* Working Range, Type and Scope header.

* Extract the middle part of marker and put in output. Gives more flexibility at macro injection, and in class definitions.

* Split DERIVED types into it's own macro, to provide way to generate for derived types.

* Fix clang/g++ compile issue.

* Tabs -&gt; spaces.

* Fix small bug in getFileNameWithoutExt

* Small improvement around naming.

Co-authored-by: Tim Foley &lt;tfoleyNV@users.noreply.github.com&gt;</content>
</entry>
</feed>
