Skip to content

Commit

Permalink
[ci skip] add docs for the new flag
Browse files Browse the repository at this point in the history
  • Loading branch information
bobzhang committed Sep 19, 2016
1 parent f9fdce2 commit 90e305d
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 0 deletions.
60 changes: 60 additions & 0 deletions docs/Manual.html
Expand Up @@ -593,6 +593,8 @@ <h1><a href="https://github.com/bloomberg/bucklescript">BuckleScript</a> User Ma
<li><a href="#__bs_package_name">-bs-package-name</a></li>
<li><a href="#__bs_packge_output">-bs-packge-output</a></li>
<li><a href="#__bs_gen_tds">-bs-gen-tds</a></li>
<li><a href="#__bs_no_warn_ffi_type">-bs-no-warn-ffi-type</a></li>
<li><a href="#__bs_eval">-bs-eval</a></li>
<li><a href="#__bs_no_builtin_ppx_ml_bs_no_builtin_ppx_mli">-bs-no-builtin-ppx-ml, -bs-no-builtin-ppx-mli</a></li>
</ul>
</li>
Expand Down Expand Up @@ -3192,6 +3194,61 @@ <h3 id="__bs_gen_tds"><a class="anchor" href="#__bs_gen_tds"></a>-bs-gen-tds</h3
</div>
</div>
<div class="sect2">
<h3 id="__bs_no_warn_ffi_type"><a class="anchor" href="#__bs_no_warn_ffi_type"></a>-bs-no-warn-ffi-type</h3>
<div class="paragraph">
<p>Turn off warnings on FFI type declarations</p>
</div>
</div>
<div class="sect2">
<h3 id="__bs_eval"><a class="anchor" href="#__bs_eval"></a>-bs-eval</h3>
<div class="listingblock">
<div class="title">Example</div>
<div class="content">
<pre class="pygments highlight"><code data-lang="sh">bsc -I runtime -dparsetree -drawlambda -bs-eval <span class="tok-s1">&#39;Js.log &quot;hello&quot;&#39;</span></code></pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="pygments highlight"><code data-lang="ocaml"><span class="tok-o">[</span> <b class="conum">(1)</b>
<span class="tok-n">structure_item</span> <span class="tok-o">(//</span><span class="tok-n">toplevel</span><span class="tok-o">//[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">0</span><span class="tok-o">]..[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">14</span><span class="tok-o">])</span>
<span class="tok-nc">Pstr_eval</span>
<span class="tok-n">expression</span> <span class="tok-o">(//</span><span class="tok-n">toplevel</span><span class="tok-o">//[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">0</span><span class="tok-o">]..[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">14</span><span class="tok-o">])</span>
<span class="tok-nc">Pexp_apply</span>
<span class="tok-n">expression</span> <span class="tok-o">(//</span><span class="tok-n">toplevel</span><span class="tok-o">//[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">0</span><span class="tok-o">]..[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">6</span><span class="tok-o">])</span>
<span class="tok-nc">Pexp_ident</span> <span class="tok-s2">&quot;Js.log&quot;</span> <span class="tok-o">(//</span><span class="tok-n">toplevel</span><span class="tok-o">//[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">0</span><span class="tok-o">]..[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">6</span><span class="tok-o">])</span>
<span class="tok-o">[</span>
<span class="tok-o">&lt;</span><span class="tok-n">label</span><span class="tok-o">&gt;</span> <span class="tok-s2">&quot;&quot;</span>
<span class="tok-n">expression</span> <span class="tok-o">(//</span><span class="tok-n">toplevel</span><span class="tok-o">//[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">7</span><span class="tok-o">]..[</span><span class="tok-mi">1</span><span class="tok-o">,</span><span class="tok-mi">0</span><span class="tok-o">+</span><span class="tok-mi">14</span><span class="tok-o">])</span>
<span class="tok-nc">Pexp_constant</span> <span class="tok-nc">Const_string</span><span class="tok-o">(</span><span class="tok-s2">&quot;hello&quot;</span><span class="tok-o">,</span><span class="tok-nc">None</span><span class="tok-o">)</span>
<span class="tok-o">]</span>
<span class="tok-o">]</span>
<b class="conum">(2)</b>
<span class="tok-o">(</span><span class="tok-n">setglobal</span> <span class="tok-nc">Bs_internal_eval</span><span class="tok-o">!</span> <span class="tok-o">(</span><span class="tok-n">seq</span> <span class="tok-o">(</span><span class="tok-n">js_dump</span> <span class="tok-s2">&quot;hello&quot;</span><span class="tok-o">)</span> <span class="tok-o">(</span><span class="tok-n">makeblock</span> <span class="tok-mi">0</span><span class="tok-o">)))</span>
<span class="tok-o">//</span> <span class="tok-nc">Generated</span> <span class="tok-n">by</span> <span class="tok-nc">BUCKLESCRIPT</span> <span class="tok-nc">VERSION</span> <span class="tok-mi">1</span><span class="tok-o">.</span><span class="tok-mi">0</span><span class="tok-o">.</span><span class="tok-mi">2</span> <span class="tok-o">,</span> <span class="tok-nc">PLEASE</span> <span class="tok-nc">EDIT</span> <span class="tok-nc">WITH</span> <span class="tok-nc">CARE</span>
<span class="tok-k">&#39;</span><span class="tok-n">use</span> <span class="tok-n">strict&#39;</span><span class="tok-o">;</span>


<span class="tok-n">console</span><span class="tok-o">.</span><span class="tok-n">log</span><span class="tok-o">(</span><span class="tok-s2">&quot;hello&quot;</span><span class="tok-o">);</span>

<span class="tok-o">/*</span> <span class="tok-nc">Not</span> <span class="tok-n">a</span> <span class="tok-n">pure</span> <span class="tok-k">module</span> <span class="tok-o">*/</span></code></pre>
</div>
</div>
<div class="colist arabic">
<ol>
<li>
<p>Output by flag -dparsetree</p>
</li>
<li>
<p>Output by flag -drawlambda</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>For this flag, it will not create any intermediate file, which is useful for
learning or troubleshooting.</p>
</div>
</div>
<div class="sect2">
<h3 id="__bs_no_builtin_ppx_ml_bs_no_builtin_ppx_mli"><a class="anchor" href="#__bs_no_builtin_ppx_ml_bs_no_builtin_ppx_mli"></a>-bs-no-builtin-ppx-ml, -bs-no-builtin-ppx-mli</h3>
<div class="paragraph">
<p>If users don&#8217;t use any bs specific annotaions, user can explicitly turn it off.
Expand Down Expand Up @@ -4111,6 +4168,9 @@ <h2 id="_1_02_dev"><a class="anchor" href="#_1_02_dev"></a>1.02 (dev)</h2>
<p>Add an option <code>-bs-no-warn-ffi-type</code> <a href="https://github.com/bloomberg/bucklescript/issues783">#783</a>
By default, <code>bsc</code> will warn when it detect some ocaml datatype is passed from/to external FFi</p>
</li>
<li>
<p>Add an option <code>-bs-eval</code> <a href="https://github.com/bloomberg/bucklescript/issues784">784</a></p>
</li>
</ul>
</div>
</li>
Expand Down
1 change: 1 addition & 0 deletions site/docsource/CHANGELOG.adoc
Expand Up @@ -13,6 +13,7 @@

- Add an option `-bs-no-warn-ffi-type` {issues}783[#783]
By default, `bsc` will warn when it detect some ocaml datatype is passed from/to external FFi
- Add an option `-bs-eval` {issues}784[784]

== 1.01

Expand Down
42 changes: 42 additions & 0 deletions site/docsource/Compiler-options.adoc
Expand Up @@ -78,6 +78,48 @@ typescript. This is still experimental.

For more options, please see the documentation of `bsc -help`.

### -bs-no-warn-ffi-type

Turn off warnings on FFI type declarations

### -bs-eval

.Example
[source,sh]
----------
bsc -I runtime -dparsetree -drawlambda -bs-eval 'Js.log "hello"'
----------

[source,ocaml]
--------------
[ // <1>
structure_item (//toplevel//[1,0+0]..[1,0+14])
Pstr_eval
expression (//toplevel//[1,0+0]..[1,0+14])
Pexp_apply
expression (//toplevel//[1,0+0]..[1,0+6])
Pexp_ident "Js.log" (//toplevel//[1,0+0]..[1,0+6])
[
<label> ""
expression (//toplevel//[1,0+7]..[1,0+14])
Pexp_constant Const_string("hello",None)
]
]
// <2>
(setglobal Bs_internal_eval! (seq (js_dump "hello") (makeblock 0)))
// Generated by BUCKLESCRIPT VERSION 1.0.2 , PLEASE EDIT WITH CARE
'use strict';
console.log("hello");
/* Not a pure module */
--------------
<1> Output by flag -dparsetree
<2> Output by flag -drawlambda

For this flag, it will not create any intermediate file, which is useful for
learning or troubleshooting.

### -bs-no-builtin-ppx-ml, -bs-no-builtin-ppx-mli

Expand Down

0 comments on commit 90e305d

Please sign in to comment.