Giter Site home page Giter Site logo

Comments (5)

foonathan avatar foonathan commented on August 15, 2024 1

Okay, the issue was simple: the include guard macro wasn't handled properly, now it is.

With the one that parses successfully, it has to use fast_preprocessing, otherwise I get unknown token errors.

Please file a separate issue for that one with a minimal example.

from cppast.

foonathan avatar foonathan commented on August 15, 2024 1

The fix for #39 might have also fixed that issue.

from cppast.

foonathan avatar foonathan commented on August 15, 2024

It would be great if you could provide a minimal example. For the file name issue, it should still happen if you remove everything but preprocessor stuff.

Note that you can use cppast:: simple_file_parser for your parsing, it does the vector for you automatically.

from cppast.

sainteos avatar sainteos commented on August 15, 2024

Alright, I think I have gotten it as minimal as I can. The file I am parsing looks like:

#ifndef TRANSFORM_H
#define TRANSFORM_H

class Transform {

};

#endif

I have hacked in some outputting into libclang_parser.cpp and libclang_visitor.cpp as such:

//libclang_parser.cpp
std::cout<<"Before tu visit."<<std::endl;
    detail::visit_tu(tu, path.c_str(), [&](const CXCursor& cur) {
        std::cout<<"Visitng tu"<<std::endl;
        if (clang_getCursorKind(cur) == CXCursor_InclusionDirective)
        {
            std::cout<<"Include dir."<<std::endl;
            if (!preprocessed.includes.empty())
            {
                DEBUG_ASSERT(include_iter != preprocessed.includes.end()
                                 && get_line_no(cur) >= include_iter->line,
                             detail::assert_handler{});

                // create an include directive
                auto full_path = detail::get_cursor_name(cur);
                // if we got an absolute file path for the current file,
                // also use an absolute file path for the id
                // otherwise just use the file name as written in the source file
                // note: this is a hack around lack of `fs::canonical()`
                cpp_entity_id id("");
                if (is_absolute(builder.get().name()))
                    id = cpp_entity_id(full_path.c_str());
                else
                    id = cpp_entity_id(include_iter->file_name.c_str());

                auto include =
                    cpp_include_directive::build(cpp_file_ref(id,
                                                              std::move(include_iter->file_name)),
                                                 include_iter->kind, full_path.std_str());
                context.comments.match(*include, include_iter->line,
                                       false); // must not skip comments,
                                               // includes are not reported in order
                builder.add_child(std::move(include));

                ++include_iter;
            }
        }
        else if (clang_getCursorKind(cur) != CXCursor_MacroDefinition
                 && clang_getCursorKind(cur) != CXCursor_MacroExpansion)
        {
            std::cout<<"Entity."<<std::endl;
            // add macro if needed
            for (auto line = get_line_no(cur);
                 macro_iter != preprocessed.macros.end() && macro_iter->line <= line; ++macro_iter)
                builder.add_child(std::move(macro_iter->macro));

            auto entity = detail::parse_entity(context, &builder.get(), cur);
            if (entity)
                builder.add_child(std::move(entity));
        }
        else
        {
          std::cout<<"Other?"<<std::endl;
        }
    });
    std::cout<<"After tu visit"<<std::endl;
//libclang_visitor.cpp
template <typename Func>
        void visit_tu(const cxtranslation_unit& tu, const char* path, Func f)
        {
            std::cout<<"We are visiting the tu."<<std::endl;
            auto in_tu = [&](const CXCursor& cur) {
                auto location = clang_getCursorLocation(cur);

                CXString cx_file_name;
                clang_getPresumedLocation(location, &cx_file_name, nullptr, nullptr);
                cxstring file_name(cx_file_name);
                std::cout<<file_name.std_str()<<" "<<path<<std::endl;
                return file_name == path;
            };

            visit_children(clang_getTranslationUnitCursor(tu.get()), [&](const CXCursor& cur) {
                if (in_tu(cur)) {
                    std::cout<<"In translation unit"<<std::endl;
                    f(cur);
                }
            });
        }

When I run it, it produces the following output:

nixiethefae@ampharos:nymph-registrar2 := ./nymph-registrar -I../nymph-game-engine/include/ ../nymph-game-engine/src2/
Include directory: ../nymph-game-engine/include/
Added to exclusions: generated
Before tu visit.
We are visiting the tu.
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<command line> ../nymph-game-engine/src2/transform.h
<command line> ../nymph-game-engine/src2/transform.h
<command line> ../nymph-game-engine/src2/transform.h
After tu visit
Total processed objects: 0

If I turn fast preprocessing off , it gives largely the same output except it does actually make it to some of the parsing instead of only finding "built-in" and "command line" file names.

nixiethefae@ampharos:nymph-registrar2 := ./nymph-registrar -I../nymph-game-engine/include/ ../nymph-game-engine/src2/
Include directory: ../nymph-game-engine/include/
Added to exclusions: generated
[preprocessor] [debug] ../nymph-game-engine/src2/transform.h:2: parsing macro 'TRANSFORM_H'
Before tu visit.
We are visiting the tu.
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<built-in> ../nymph-game-engine/src2/transform.h
<command line> ../nymph-game-engine/src2/transform.h
<command line> ../nymph-game-engine/src2/transform.h
<command line> ../nymph-game-engine/src2/transform.h
../nymph-game-engine/src2/transform.h ../nymph-game-engine/src2/transform.h
In translation unit
Visitng tu
Other?
../nymph-game-engine/src2/transform.h ../nymph-game-engine/src2/transform.h
In translation unit
Visitng tu
Entity.
[libclang parser] [debug] ../nymph-game-engine/src2/transform.h:4: parsing cursor of type 'ClassDecl'
After tu visit
Total processed objects: 0

from cppast.

sainteos avatar sainteos commented on August 15, 2024

Ah yes, great! Fixed in both cases. Thanks so much.

from cppast.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.