v.g.vassilev added inline comments.
================ Comment at: clang/docs/ClangRepl.rst:221 + +Execution Results Handling features discussed below help extend the Clang-REPL +functionality by creating an interface between the execution results of a ---------------- We should probably spell consistently `Clang-Repl`. ================ Comment at: clang/docs/ClangRepl.rst:248 + +.. image:: valuesynth.png + :align: center ---------------- Can we replace that with its graphviz version? ================ Comment at: clang/docs/ClangRepl.rst:264 +The Value object is essentially used to create a mapping between an expression +'type' and the 'memory' to be allocated. Built-in types (bool, char, int, +float, double, etc.) are simpler, since their memory allocation size is known. ---------------- ================ Comment at: clang/docs/ClangRepl.rst:265 +'type' and the 'memory' to be allocated. Built-in types (bool, char, int, +float, double, etc.) are simpler, since their memory allocation size is known. +In case of objects, a pointer can be saved, since the size of the object is ---------------- ================ Comment at: clang/docs/ClangRepl.rst:266-267 +float, double, etc.) are simpler, since their memory allocation size is known. +In case of objects, a pointer can be saved, since the size of the object is +not known. + ---------------- ================ Comment at: clang/docs/ClangRepl.rst:269-274 +For further improvement, the underlying Clang Type is also identified. For +example, ``X(char, Char_S)``, where ``Char_S`` is the Clang type. Clang types are +very efficient, which is important since these will be used in hotspots (high +utilization areas of the program). The ``Value.h`` header file has a very low +token count and was developed with strict constraints in mind, since it can +affect the performance of the interpreter. ---------------- ================ Comment at: clang/docs/ClangRepl.rst:276-278 +This also enables the user to receive the computed 'type' back in their code +and then transform the type into something else (e.g., transform a double into +a float). Normally, the compiler can handle these conversions transparently, ---------------- ================ Comment at: clang/docs/ClangRepl.rst:284 +On-request conversions can help improve the user experience, by allowing +conversion to a desired 'to' type, when the 'from' type is unknown or unclear + ---------------- ================ Comment at: clang/docs/ClangRepl.rst:296-298 +For example, the CPPYY code makes use of this feature to enable running +C++ within Python. It enables transporting values/information between C++ +and Python. ---------------- QuillPusher wrote: > @Krishna-13-cyber > > Please change CPPYY to cppyy > > I just saw they use small caps on their official website ================ Comment at: clang/docs/ClangRepl.rst:352 + +In Clang-REPL there is **interpreted code**, and this feature adds a 'value' +runtime that can talk to the **compiled code**. ---------------- ================ Comment at: clang/docs/ClangRepl.rst:404 +this feature added to upstream Clang repo has essentially extended the syntax of +C++,so that it can be more helpful for people that are writing code for data +science applications. ---------------- ================ Comment at: clang/docs/ClangRepl.rst:419 + +The Interpreter in Clang-REPL (``interpreter.cpp``) includes the function +``ParseAndExecute()`` that can accept a 'Value' parameter to capture the result. ---------------- ================ Comment at: clang/docs/ClangRepl.rst:461 + +This feature uses a new token (annot_repl_input_end) to consider printing the +value of an expression if it doesn't end with a semicolon. When parsing an ---------------- Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156858/new/ https://reviews.llvm.org/D156858 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits