37 lines
2.1 KiB
HTML
37 lines
2.1 KiB
HTML
<html>
|
|
<head>
|
|
<title>Cling</title>
|
|
<script data-main="scripts/cling" src="scripts/require.js"></script>
|
|
<link rel="stylesheet" href="style/import.css">
|
|
</head>
|
|
<body onload="selectMenu('use')">
|
|
<iframe seamless src="header.html" class="header" id="iheader"></iframe>
|
|
<div id="breadcrumb"></div>
|
|
<div id="content">
|
|
<div id="main">
|
|
<h2>Grammar</h2>
|
|
<p>Cling is able to parse everything that clang can. Current clang status can be found <a href="http://clang.llvm.org/cxx_status.html">here</a>. At the moment, there are use cases only for C++ that's why cling is best in working with C++. Clang has support of C, objC, objC++ and we are looking forward to having more use-cases and extend our tool in that direction.</p>
|
|
<ul>Cling has internal commands, which can change its behavior at runtime. Those commands usually start with dot (.):
|
|
<li><b>.I <path></b> - Adds an include path;</li>
|
|
<li><b>.x <filename></b> - #include-s the filename; and calls function called filename(); </li>
|
|
<li><b>.L <libname></b> - Loads libname or #include-s the libname if libname is file;</li>
|
|
<li><b>.@</b> - Cancels the multiline input;</li>
|
|
<li><b>.printAST</b> - (DEBUG ONLY) Turns on the printing of the compiler's abstract syntax tree (AST);</li>
|
|
<li><b>.dynamicExtensions</b> - Turns on cling's dynamic extensions. This in turn enables the dynamic lookup and the late resolving of the identifier. With that option cling tries to heal the compile-time failed lookups at runtime;</li>
|
|
</ul>
|
|
|
|
<h2>Details</h2>
|
|
<h3>Command line</h3>
|
|
<p>
|
|
The interactive prompt supports an emacs-like command line editor, just like bash terminal, which makes it easy to integrate and use. Cling uses <a href="http://root.cern.ch/drupal/content/textinput-prompt">TextInput</a> and doesn't depend on ncurses.
|
|
</p>
|
|
<p>
|
|
Autocompletion should be coming soon!
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
<iframe seamless class="footer" src="footer.html"></iframe>
|
|
</body>
|
|
</html>
|