<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- lexyacc-module.qdoc --> <title>lex_yacc QML Type | Qbs Manual</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td ><a href="index.html">Qbs Manual</a></td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right">Qbs 1.12.2</td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <p class="naviNextPrevious headerNavi"> </p><p/> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#properties">Properties</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> <li class="level2"><a href="#relevant-file-tags">Relevant File Tags</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">lex_yacc QML Type</h1> <span class="subtitle"></span> <!-- $$$lex_yacc-brief --> <p>Provides support for the <code>lex</code> and <code>yacc</code> tools. <a href="#details">More...</a></p> <!-- @@@lex_yacc --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Import Statement:</td><td class="memItemRight bottomAlign"> import QbsModules .</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qbs 1.6</td></tr></table></div><ul> <li><a href="qml-qbsmodules-lex-yacc-members.html">List of all members, including inherited members</a></li> </ul> <a name="properties"></a> <h2 id="properties">Properties</h2> <ul> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#enableCompilerWarnings-prop">enableCompilerWarnings</a></b></b> : bool</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#lexBinary-prop">lexBinary</a></b></b> : string</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#lexFlags-prop">lexFlags</a></b></b> : stringList</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#lexOutputFilePath-prop">lexOutputFilePath</a></b></b> : string</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#outputTag-prop">outputTag</a></b></b> : string</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#uniqueSymbolPrefix-prop">uniqueSymbolPrefix</a></b></b> : bool</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#yaccBinary-prop">yaccBinary</a></b></b> : string</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#yaccFlags-prop">yaccFlags</a></b></b> : stringList</li> <li class="fn"><b><b><a href="qml-qbsmodules-lex-yacc.html#yaccOutputFilePath-prop">yaccOutputFilePath</a></b></b> : string</li> </ul> <!-- $$$lex_yacc-description --> <a name="details"></a> <h2 id="details">Detailed Description</h2> <p>The <code>lex_yacc</code> module allows you to create scanners and parsers via the POSIX tools <code>lex</code> and <code>yacc</code>, respectively. These tools are closely related and share a number of properties, which is why they are represented by a single module.</p> <a name="relevant-file-tags"></a> <h3 >Relevant File Tags</h3> <a name="filetags-lexyacc"></a><div class="table"><table class="generic"> <thead><tr class="qt-style"><th >Tag</th><th >Auto-tagged File Names</th><th >Since</th><th >Description</th></tr></thead> <tr valign="top" class="odd"><td ><code>"lex.input"</code></td><td ><code>*.l</code></td><td >1.6</td><td >Source files with this tag serve as inputs to the <code>lex</code> tool.</td></tr> <tr valign="top" class="even"><td ><code>"yacc.input"</code></td><td ><code>*.y</code></td><td >1.6</td><td >Source files with this tag serve as inputs to the <code>yacc</code> tool.</td></tr> </table></div> <!-- @@@lex_yacc --> <h2>Property Documentation</h2> <!-- $$$enableCompilerWarnings --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="enableCompilerWarnings-prop"> <td class="tblQmlPropNode"><p> <a name="enableCompilerWarnings-prop"></a><span class="name">enableCompilerWarnings</span> : <span class="type">bool</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Whether compiler warnings are displayed.</p> <p>Because <code>lex</code> and <code>yacc</code> are known to produce files that will trigger compiler warnings, such warnings are suppressed by default. Set this property to <code>true</code> if you want to see them.</p> <p>Default: <code>false</code></p> <p>This property was introduced in Qbs 1.8.</p> </div></div><!-- @@@enableCompilerWarnings --> <br/> <!-- $$$lexBinary --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="lexBinary-prop"> <td class="tblQmlPropNode"><p> <a name="lexBinary-prop"></a><span class="name">lexBinary</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The file path of the <code>lex</code> tool.</p> <p>Default: <code>"lex"</code></p> </div></div><!-- @@@lexBinary --> <br/> <!-- $$$lexFlags --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="lexFlags-prop"> <td class="tblQmlPropNode"><p> <a name="lexFlags-prop"></a><span class="name">lexFlags</span> : <span class="type">stringList</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Additional command-line options for the <code>lex</code> tool.</p> <p>Default: <code>[]</code></p> </div></div><!-- @@@lexFlags --> <br/> <!-- $$$lexOutputFilePath --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="lexOutputFilePath-prop"> <td class="tblQmlPropNode"><p> <a name="lexOutputFilePath-prop"></a><span class="name">lexOutputFilePath</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The output file for the <code>lex</code> tool.</p> <p>This corresponds to <code>%option outfile</code> in the .l file. If <code>%option outfile</code> is set in the .l file then this property is ignored.</p> <p>Default: <code>undefined</code></p> <p>This property was introduced in Qt 1.12.</p> </div></div><!-- @@@lexOutputFilePath --> <br/> <!-- $$$outputTag --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="outputTag-prop"> <td class="tblQmlPropNode"><p> <a name="outputTag-prop"></a><span class="name">outputTag</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The file tag for the generated scanner and parser sources.</p> <p>Use <a href="qml-qbsmodules-cpp.html#filetags-cpp">"cpp"</a> if you want to use a C++ compiler on them.</p> <p>Default: <a href="qml-qbsmodules-cpp.html#filetags-cpp">"c"</a></p> </div></div><!-- @@@outputTag --> <br/> <!-- $$$uniqueSymbolPrefix --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="uniqueSymbolPrefix-prop"> <td class="tblQmlPropNode"><p> <a name="uniqueSymbolPrefix-prop"></a><span class="name">uniqueSymbolPrefix</span> : <span class="type">bool</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>If this property is <code>true</code>, the prefix <code>yy</code> normally used for the generated lexer and parser functions is replaced by the base name of the file provided as input to <code>lex</code> and <code>yacc</code>, respectively.</p> <p>Enable this property if you want to use more than one lexer or parser in a single product.</p> <p><b>Note: </b>Enabling this property requires that the associated lexer and scanner source files have the same base name. It also assumes a variant of <code>lex</code> that supports the non-POSIX option <code>-P</code>, such as <code>flex</code>.</p><p>Default: <code>false</code></p> </div></div><!-- @@@uniqueSymbolPrefix --> <br/> <!-- $$$yaccBinary --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="yaccBinary-prop"> <td class="tblQmlPropNode"><p> <a name="yaccBinary-prop"></a><span class="name">yaccBinary</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>The file path of the <code>yacc</code> tool.</p> <p>Default: <code>"yacc"</code></p> </div></div><!-- @@@yaccBinary --> <br/> <!-- $$$yaccFlags --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="yaccFlags-prop"> <td class="tblQmlPropNode"><p> <a name="yaccFlags-prop"></a><span class="name">yaccFlags</span> : <span class="type">stringList</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Additional command-line options for the <code>yacc</code> tool.</p> <p>Default: <code>[]</code></p> </div></div><!-- @@@yaccFlags --> <br/> <!-- $$$yaccOutputFilePath --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="yaccOutputFilePath-prop"> <td class="tblQmlPropNode"><p> <a name="yaccOutputFilePath-prop"></a><span class="name">yaccOutputFilePath</span> : <span class="type">string</span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Main output file for the <code>yacc</code> tool.</p> <p>This corresponds to <code>%output</code> in the .y file. If <code>%output</code> is set in the .y file then this property is ignored.</p> <p>Default: <code>undefined</code></p> <p>This property was introduced in Qt 1.12.</p> </div></div><!-- @@@yaccOutputFilePath --> <br/> <p class="naviNextPrevious footerNavi"> </p> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br/> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br/> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>