|
65 | 65 | <div class="breadcrumbs"><a href="../../../index.html">Parkour</a><span class="delimiter">/</span><a href="../index.html">io.github.cybercodernaj.parkour.lexer</a><span class="delimiter">/</span><span class="current">Literals</span></div>
|
66 | 66 | <div class="cover ">
|
67 | 67 | <h1 class="cover"><span><span>Literals</span></span></h1>
|
68 |
| - <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":dokkaHtml/main"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">Literals</a><span class="clearfix"><span class="floating-right">(<a href="https://github.com/cybercoder-naj/parkour/tree/main/src/main/kotlin/io/github/cybercodernaj/parkour/lexer/Literals.kt#L8">source</a>)</span></span></div><span class="kdoc-tag"><h4 class="">Author</h4><p class="paragraph">Nishant Aanjaney Jalan</p></span><span class="kdoc-tag"><h4 class="">Since</h4><p class="paragraph">0.1.0</p></span></div></div> |
| 68 | + <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":dokkaHtml/main"><div class="symbol monospace"><span class="token keyword">class </span><a href="index.html">Literals</a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">integerLiteral<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html">Regex</a><span class="token operator">?</span><span class="token operator"> = </span>Regex("""[-+]?[0-9_]+""")<span class="token punctuation">, </span></span><span class="parameter ">floatingLiteral<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html">Regex</a><span class="token operator">?</span><span class="token operator"> = </span>Regex("""[-+]?[0-9_]*\.[0-9_]+(?:[eE][-+]?[0-9_]+)?""")<span class="token punctuation">, </span></span><span class="parameter ">singleLineString<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html">Set</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="token operator">></span><span class="token operator"> = </span>setOf("\"", "\'")<span class="token punctuation">, </span></span><span class="parameter ">escapeSequences<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html">Regex</a><span class="token punctuation">, </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char/index.html">Char</a><span class="token operator">></span><span class="token operator">></span><span class="token operator"> = </span>emptyList()</span></span><span class="token punctuation">)</span><span class="clearfix"><span class="floating-right">(<a href="https://github.com/cybercoder-naj/parkour/tree/main/src/main/kotlin/io/github/cybercodernaj/parkour/lexer/Literals.kt#L24">source</a>)</span></span></div><p class="paragraph">A configuration class to lex literals. There are only three types of literals the lexer manages.</p><ol><li><p class="paragraph">Integer literals are normally lexed with a pure stream of numbers with underscores.</p></li><li><p class="paragraph">Floating literals are normally lexed with a forced decimal point with optional exponentiation.</p></li><li><p class="paragraph">String literals are normally lexed exact strings till it finds the original match.</p></li></ol><p class="paragraph">Additionally, escape sequences are required to input special characters inside string literals.</p><span class="kdoc-tag"><h4 class="">Author</h4><p class="paragraph">Nishant Aanjaney Jalan</p></span><span class="kdoc-tag"><h4 class="">Since</h4><p class="paragraph">0.1.0</p></span><h4 class="">Parameters</h4><div class="table"><div class="table-row" data-filterable-current=":dokkaHtml/main" data-filterable-set=":dokkaHtml/main"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>integer</span><wbr></wbr><span><span>Literal</span></span></u></div></span></div><div><div class="title"><p class="paragraph">a regex that detects an integer literal.</p></div></div></div></div><div class="table-row" data-filterable-current=":dokkaHtml/main" data-filterable-set=":dokkaHtml/main"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>floating</span><wbr></wbr><span><span>Literal</span></span></u></div></span></div><div><div class="title"><p class="paragraph">a regex that detects a floating point number literal.</p></div></div></div></div><div class="table-row" data-filterable-current=":dokkaHtml/main" data-filterable-set=":dokkaHtml/main"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>single</span><wbr></wbr><span>Line</span><wbr></wbr><span><span>String</span></span></u></div></span></div><div><div class="title"><p class="paragraph">a set of strings that denote the start and end enclosing strings. The lexer will throw a <a href="../../io.github.cybercodernaj.parkour.exceptions/-lexical-exception/index.html">LexicalException</a> when a string literal is not terminated in the same line.</p></div></div></div></div><div class="table-row" data-filterable-current=":dokkaHtml/main" data-filterable-set=":dokkaHtml/main"><div class="main-subrow keyValue "><div class=""><span class="inline-flex"><div><u><span>escape</span><wbr></wbr><span><span>Sequences</span></span></u></div></span></div><div><div class="title"><p class="paragraph">a list of regex that matches an escape sequence. On match, it will return a Char based on the string matched.</p></div></div></div></div></div></div></div> |
69 | 69 | </div>
|
70 | 70 | <div class="tabbedcontent">
|
71 | 71 | <div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="CONSTRUCTOR,TYPE,PROPERTY,FUNCTION">Members</button></div>
|
72 | 72 | <div class="tabs-section-body">
|
73 | 73 | <div data-togglable="CONSTRUCTOR">
|
74 | 74 | <h2 class="">Constructors</h2>
|
75 |
| - <div class="table"><a data-name="-217947869%2FConstructors%2F769193423" anchor-label="Literals" id="-217947869%2FConstructors%2F769193423" data-filterable-set=":dokkaHtml/main"></a> |
| 75 | + <div class="table"><a data-name="1927156273%2FConstructors%2F769193423" anchor-label="Literals" id="1927156273%2FConstructors%2F769193423" data-filterable-set=":dokkaHtml/main"></a> |
76 | 76 | <div class="table-row" data-togglable="CONSTRUCTOR" data-filterable-current=":dokkaHtml/main" data-filterable-set=":dokkaHtml/main">
|
77 | 77 | <div class="main-subrow keyValue ">
|
78 | 78 | <div class=""><span class="inline-flex">
|
79 | 79 | <div><a href="-literals.html"><span><span>Literals</span></span></a></div>
|
80 |
| -<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-217947869%2FConstructors%2F769193423"></span> |
| 80 | +<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="1927156273%2FConstructors%2F769193423"></span> |
81 | 81 | <div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
|
82 | 82 | </span></span></div>
|
83 | 83 | <div>
|
84 | 84 | <div class="title">
|
85 |
| - <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":dokkaHtml/main"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="token punctuation">)</span></div></div></div> |
| 85 | + <div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":dokkaHtml/main"><div class="symbol monospace"><span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">integerLiteral<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html">Regex</a><span class="token operator">?</span><span class="token operator"> = </span>Regex("""[-+]?[0-9_]+""")<span class="token punctuation">, </span></span><span class="parameter ">floatingLiteral<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html">Regex</a><span class="token operator">?</span><span class="token operator"> = </span>Regex("""[-+]?[0-9_]*\.[0-9_]+(?:[eE][-+]?[0-9_]+)?""")<span class="token punctuation">, </span></span><span class="parameter ">singleLineString<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html">Set</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="token operator">></span><span class="token operator"> = </span>setOf("\"", "\'")<span class="token punctuation">, </span></span><span class="parameter ">escapeSequences<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html">List</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html">Pair</a><span class="token operator"><</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/-regex/index.html">Regex</a><span class="token punctuation">, </span><span class="token punctuation">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html">String</a><span class="token punctuation">)</span><span class="token operator"> -> </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char/index.html">Char</a><span class="token operator">></span><span class="token operator">></span><span class="token operator"> = </span>emptyList()</span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">creates a configuration of literals for the lexer.</p></div></div></div> |
86 | 86 | </div>
|
87 | 87 | </div>
|
88 | 88 | </div>
|
|
0 commit comments