\hypertarget{lparser_8c}{
\section{lparser.c File Reference}
\label{lparser_8c}\index{lparser.c@{lparser.c}}
}
{\tt \#include $<$string.h$>$}\par
{\tt \#include \char`\"{}lua.h\char`\"{}}\par
{\tt \#include \char`\"{}lcode.h\char`\"{}}\par
{\tt \#include \char`\"{}ldebug.h\char`\"{}}\par
{\tt \#include \char`\"{}ldo.h\char`\"{}}\par
{\tt \#include \char`\"{}lfunc.h\char`\"{}}\par
{\tt \#include \char`\"{}llex.h\char`\"{}}\par
{\tt \#include \char`\"{}lmem.h\char`\"{}}\par
{\tt \#include \char`\"{}lobject.h\char`\"{}}\par
{\tt \#include \char`\"{}lopcodes.h\char`\"{}}\par
{\tt \#include \char`\"{}lparser.h\char`\"{}}\par
{\tt \#include \char`\"{}lstate.h\char`\"{}}\par
{\tt \#include \char`\"{}lstring.h\char`\"{}}\par
{\tt \#include \char`\"{}ltable.h\char`\"{}}\par
\subsection*{Classes}
\begin{CompactItemize}
\item 
struct \hyperlink{structBlockCnt}{BlockCnt}
\item 
struct \hyperlink{structConsControl}{ConsControl}
\item 
struct \hyperlink{structLHS__assign}{LHS\_\-assign}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{lparser_8c_7b083c8164f99ddd60e711ca706869d0}{lparser\_\-c}
\item 
\#define \hyperlink{lparser_8c_bf0b3947b59218777a8e928a10be205b}{LUA\_\-CORE}
\item 
\#define \hyperlink{lparser_8c_38d6bad3bcde3d124ca880d6a9d82ba6}{hasmultret}(k)~((k) == VCALL $|$$|$ (k) == VVARARG)
\item 
\#define \hyperlink{lparser_8c_7e65ecd7cd9acaea80d6c2a65ff2ad34}{getlocvar}(fs, i)~((fs) $\rightarrow$ f $\rightarrow$ locvars\mbox{[}(fs) $\rightarrow$ actvar\mbox{[}i\mbox{]}\mbox{]})
\item 
\#define \hyperlink{lparser_8c_696c1e8d14cc0882e6bae964b2e671c5}{luaY\_\-checklimit}(fs, v, l, m)~if ((v)$>$(l)) errorlimit(fs,l,m)
\item 
\#define \hyperlink{lparser_8c_ece9aca90eb75d99df8490bdb813bdd4}{check\_\-condition}(ls, c, msg)~\{ if (!(c)) luaX\_\-syntaxerror(ls, msg); \}
\item 
\#define \hyperlink{lparser_8c_14fc01b8e98eb04136759886b8680eb6}{new\_\-localvarliteral}(ls, v, n)~new\_\-localvar(ls, luaX\_\-newstring(ls, \char`\"{}\char`\"{} v, (sizeof(v)/sizeof(char))-1), n)
\item 
\#define \hyperlink{lparser_8c_147b3ba4d2004b4b4ee7260661ec31e1}{leavelevel}(ls)~((ls) $\rightarrow$ \hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L} $\rightarrow$ nCcalls--)
\item 
\#define \hyperlink{lparser_8c_521d60e3611f1afe98634adda1a0a050}{UNARY\_\-PRIORITY}~8
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
static void \hyperlink{lparser_8c_250d5faeaacc40c8a7e1822f5621c292}{chunk} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_f2c543df6cbb49247cd0a71956786d92}{expr} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_773c2499cb8938683b25fc0234c1f017}{anchor\_\-token} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_739e022f35a440a8ce018b83a2234f5d}{error\_\-expected} (\hyperlink{structLexState}{LexState} $\ast$ls, int token)
\item 
static void \hyperlink{lparser_8c_9d216476871aa8870afb05e7ed8128ed}{errorlimit} (\hyperlink{structFuncState}{FuncState} $\ast$fs, int limit, const char $\ast$what)
\item 
static int \hyperlink{lparser_8c_73a8be4e1269883a7b1f101bc14902e3}{testnext} (\hyperlink{structLexState}{LexState} $\ast$ls, int c)
\item 
static void \hyperlink{lparser_8c_2c856a5873c90f45525cf0d9abebbfde}{check} (\hyperlink{structLexState}{LexState} $\ast$ls, int c)
\item 
static void \hyperlink{lparser_8c_00410145409eca75b14b1f1c4f553ca0}{checknext} (\hyperlink{structLexState}{LexState} $\ast$ls, int c)
\item 
static void \hyperlink{lparser_8c_bbe267f2acab7a24f25b89b7782b21a6}{check\_\-match} (\hyperlink{structLexState}{LexState} $\ast$ls, int what, int who, int where)
\item 
static \hyperlink{unionTString}{TString} $\ast$ \hyperlink{lparser_8c_c6a77e92851fefeaf3facfdc47e5e39d}{str\_\-checkname} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_aa0cc4c3d9d11b020ff13b23262b8b17}{init\_\-exp} (\hyperlink{structexpdesc}{expdesc} $\ast$e, \hyperlink{lparser_8h_ecced501a9387ab3e6e50a9834615d4e}{expkind} k, int i)
\item 
static void \hyperlink{lparser_8c_b6f2e4f6f77d6d44088f6af7a8e98f27}{codestring} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$e, \hyperlink{unionTString}{TString} $\ast$s)
\item 
static void \hyperlink{lparser_8c_528c1e3eddf4e1cb1d2f8c6c1d0a6e49}{checkname} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$e)
\item 
static int \hyperlink{lparser_8c_814cc078350dd900a044c0ed12a3dd57}{registerlocalvar} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{unionTString}{TString} $\ast$varname)
\item 
static void \hyperlink{lparser_8c_372dbf2f628966c85aac293338817205}{new\_\-localvar} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{unionTString}{TString} $\ast$name, int n)
\item 
static void \hyperlink{lparser_8c_4f84287f74dc67840aae694b6ace6998}{adjustlocalvars} (\hyperlink{structLexState}{LexState} $\ast$ls, int nvars)
\item 
static void \hyperlink{lparser_8c_5f4a5c8f191f8f643fc24679c097544d}{removevars} (\hyperlink{structLexState}{LexState} $\ast$ls, int tolevel)
\item 
static int \hyperlink{lparser_8c_059f77427e929e6a92af477dbdc06fe4}{indexupvalue} (\hyperlink{structFuncState}{FuncState} $\ast$fs, \hyperlink{unionTString}{TString} $\ast$name, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static int \hyperlink{lparser_8c_becf43410910c14652674c8d457f1634}{searchvar} (\hyperlink{structFuncState}{FuncState} $\ast$fs, \hyperlink{unionTString}{TString} $\ast$n)
\item 
static void \hyperlink{lparser_8c_b92f39b4f46a9844ecab9d585d636bd4}{markupval} (\hyperlink{structFuncState}{FuncState} $\ast$fs, int level)
\item 
static int \hyperlink{lparser_8c_6104d0231d057931759350c70d54f272}{singlevaraux} (\hyperlink{structFuncState}{FuncState} $\ast$fs, \hyperlink{unionTString}{TString} $\ast$n, \hyperlink{structexpdesc}{expdesc} $\ast$var, int base)
\item 
static void \hyperlink{lparser_8c_39a46ec796479bdd22eea51ddef11685}{singlevar} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$var)
\item 
static void \hyperlink{lparser_8c_7dafcad9b819fe82292276b63a632e80}{adjust\_\-assign} (\hyperlink{structLexState}{LexState} $\ast$ls, int nvars, int nexps, \hyperlink{structexpdesc}{expdesc} $\ast$e)
\item 
static void \hyperlink{lparser_8c_78404c557df235c5c9fe4f0215247bcf}{enterlevel} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_2205f3da11c77c06303c6aabffaf53d2}{enterblock} (\hyperlink{structFuncState}{FuncState} $\ast$fs, \hyperlink{structBlockCnt}{BlockCnt} $\ast$bl, \hyperlink{llimits_8h_e1fe9ac10d9803bd1d7bdf30b18bad68}{lu\_\-byte} isbreakable)
\item 
static void \hyperlink{lparser_8c_9f9c2ed0786c3b036f177f2b33f4f79d}{leaveblock} (\hyperlink{structFuncState}{FuncState} $\ast$fs)
\item 
static void \hyperlink{lparser_8c_4505a1fbf644be751b8a39a85353394c}{pushclosure} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structFuncState}{FuncState} $\ast$func, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_a8f2a16671311657c70312f10c85d6cb}{open\_\-func} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structFuncState}{FuncState} $\ast$fs)
\item 
static void \hyperlink{lparser_8c_46bd6da1ec8052eeaf6fd524199ca72a}{close\_\-func} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
\hyperlink{structProto}{Proto} $\ast$ \hyperlink{lparser_8c_2478924f3e49c4e9a7a90d1a984b727f}{luaY\_\-parser} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L}, \hyperlink{structZio}{ZIO} $\ast$z, \hyperlink{structMbuffer}{Mbuffer} $\ast$buff, const char $\ast$name)
\item 
static void \hyperlink{lparser_8c_6d2a331f7705725c01aa8bfe32d4bdf7}{field} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_c3e6a3b89f1a54a2ff4f3570831faf35}{yindex} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_d4183918ba9abc7e6b62ec17cd4d6464}{recfield} (\hyperlink{structLexState}{LexState} $\ast$ls, struct \hyperlink{structConsControl}{ConsControl} $\ast$cc)
\item 
static void \hyperlink{lparser_8c_aef29ed0dc1dc1d01507c8b81922dcb6}{closelistfield} (\hyperlink{structFuncState}{FuncState} $\ast$fs, struct \hyperlink{structConsControl}{ConsControl} $\ast$cc)
\item 
static void \hyperlink{lparser_8c_9c216378468160028b7d0edd7278dc2a}{lastlistfield} (\hyperlink{structFuncState}{FuncState} $\ast$fs, struct \hyperlink{structConsControl}{ConsControl} $\ast$cc)
\item 
static void \hyperlink{lparser_8c_c421b518b14b0af6e4e08226ab08057b}{listfield} (\hyperlink{structLexState}{LexState} $\ast$ls, struct \hyperlink{structConsControl}{ConsControl} $\ast$cc)
\item 
static void \hyperlink{lparser_8c_fd4901e9e6b1ba046efc1a5932cd664c}{constructor} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$t)
\item 
static void \hyperlink{lparser_8c_dc6c3bb5079c197371a6ddcdbc574de6}{parlist} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_d3d32c5366d3b1577b7eefe5e843dd5d}{body} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$e, int needself, int line)
\item 
static int \hyperlink{lparser_8c_f28d6101a55de6ab621acc19cd5db8f8}{explist1} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_4872ea24e2b5de8abda567bc8c565d32}{funcargs} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$f)
\item 
static void \hyperlink{lparser_8c_25378d698c6095fad6e3c85f5a50eb79}{prefixexp} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_bb6d6e594e184f737324863a01201cce}{primaryexp} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_3b0b05af60978b05faf5713968573985}{simpleexp} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static \hyperlink{lcode_8h_36fd1054d39d6fc3373303522a7ef534}{UnOpr} \hyperlink{lparser_8c_fb550c9d0656dfe2f49f1b87cb91b648}{getunopr} (int op)
\item 
static \hyperlink{lcode_8h_e9a305c1104efedfc54af8d08b942c83}{BinOpr} \hyperlink{lparser_8c_762cacc5df371cedf267a03fa2191385}{getbinopr} (int op)
\item 
static \hyperlink{lcode_8h_e9a305c1104efedfc54af8d08b942c83}{BinOpr} \hyperlink{lparser_8c_33f48213fd932aea9bf0c822bb78edb5}{subexpr} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v, unsigned int limit)
\item 
static int \hyperlink{lparser_8c_c5c988541415912d8174f7a9d7a853ce}{block\_\-follow} (int token)
\item 
static void \hyperlink{lparser_8c_235428bed4c6be6cb6d2760cd0fa9d34}{block} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_7d3af7471b2da7a36d18b73683181456}{check\_\-conflict} (\hyperlink{structLexState}{LexState} $\ast$ls, struct \hyperlink{structLHS__assign}{LHS\_\-assign} $\ast$lh, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_2aab8fa28abe7d4bc5baa65dc7b57482}{assignment} (\hyperlink{structLexState}{LexState} $\ast$ls, struct \hyperlink{structLHS__assign}{LHS\_\-assign} $\ast$lh, int nvars)
\item 
static int \hyperlink{lparser_8c_24002c50a108445d916457eb3c21d5e1}{cond} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_e0650c2b4b5d311a24bd0ddb7b267db3}{breakstat} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_f24623e7aa293515c8293aaf892de531}{whilestat} (\hyperlink{structLexState}{LexState} $\ast$ls, int line)
\item 
static void \hyperlink{lparser_8c_8638807967aa30e7700834f6bd4aaa5d}{repeatstat} (\hyperlink{structLexState}{LexState} $\ast$ls, int line)
\item 
static int \hyperlink{lparser_8c_23b35e880bcd487f81bf1a3d48567e49}{exp1} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_d348dc989652bd91b6137b39c297b0c6}{forbody} (\hyperlink{structLexState}{LexState} $\ast$ls, int base, int line, int nvars, int isnum)
\item 
static void \hyperlink{lparser_8c_18532c1a3a900cb8f3399b470c00daf0}{fornum} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{unionTString}{TString} $\ast$varname, int line)
\item 
static void \hyperlink{lparser_8c_5f15a71e248c4e1e9c867ccac8a450c2}{forlist} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{unionTString}{TString} $\ast$indexname)
\item 
static void \hyperlink{lparser_8c_f783542828ac360981e0ce0f55abc630}{forstat} (\hyperlink{structLexState}{LexState} $\ast$ls, int line)
\item 
static int \hyperlink{lparser_8c_888e21fd4d12866f35a4f33fac26e937}{test\_\-then\_\-block} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_e59a0e4b7bd8d539f377ee6f82eac19b}{ifstat} (\hyperlink{structLexState}{LexState} $\ast$ls, int line)
\item 
static void \hyperlink{lparser_8c_906778e7e7ae16a38c8c6b38bdc34f13}{localfunc} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_edb81864a38588cc65a205ff4c07abfa}{localstat} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static int \hyperlink{lparser_8c_9c06dde377cf16bda138da1cba949c82}{funcname} (\hyperlink{structLexState}{LexState} $\ast$ls, \hyperlink{structexpdesc}{expdesc} $\ast$v)
\item 
static void \hyperlink{lparser_8c_7ab22c159a4bdcda2bd652f01229111b}{funcstat} (\hyperlink{structLexState}{LexState} $\ast$ls, int line)
\item 
static void \hyperlink{lparser_8c_2bafac5e65f8e5de6e00d717bf90f091}{exprstat} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static void \hyperlink{lparser_8c_7998fc603fbe151c85cf0ff9b5517ad6}{retstat} (\hyperlink{structLexState}{LexState} $\ast$ls)
\item 
static int \hyperlink{lparser_8c_2befc3400202a3f8cecbcf23fff0b88e}{statement} (\hyperlink{structLexState}{LexState} $\ast$ls)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
struct \{\\
\>\hyperlink{llimits_8h_e1fe9ac10d9803bd1d7bdf30b18bad68}{lu\_byte} \hyperlink{lparser_8c_3584754acc5e91c03d6fc91359eefd78}{left}\\
\>\hyperlink{llimits_8h_e1fe9ac10d9803bd1d7bdf30b18bad68}{lu\_byte} \hyperlink{lparser_8c_34b07942956eb7acd9d02c5b75177ae6}{right}\\
\} \hyperlink{lparser_8c_95dea1861b1a5d7ab378d3255989c73b}{priority} \mbox{[}$\,$\mbox{]}\\

\end{tabbing}\end{CompactItemize}


\subsection{Define Documentation}
\hypertarget{lparser_8c_ece9aca90eb75d99df8490bdb813bdd4}{
\index{lparser.c@{lparser.c}!check\_\-condition@{check\_\-condition}}
\index{check\_\-condition@{check\_\-condition}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define check\_\-condition(ls, \/  c, \/  msg)~\{ if (!(c)) luaX\_\-syntaxerror(ls, msg); \}}}
\label{lparser_8c_ece9aca90eb75d99df8490bdb813bdd4}


\hypertarget{lparser_8c_7e65ecd7cd9acaea80d6c2a65ff2ad34}{
\index{lparser.c@{lparser.c}!getlocvar@{getlocvar}}
\index{getlocvar@{getlocvar}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define getlocvar(fs, \/  i)~((fs) $\rightarrow$ f $\rightarrow$ locvars\mbox{[}(fs) $\rightarrow$ actvar\mbox{[}i\mbox{]}\mbox{]})}}
\label{lparser_8c_7e65ecd7cd9acaea80d6c2a65ff2ad34}


\hypertarget{lparser_8c_38d6bad3bcde3d124ca880d6a9d82ba6}{
\index{lparser.c@{lparser.c}!hasmultret@{hasmultret}}
\index{hasmultret@{hasmultret}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define hasmultret(k)~((k) == VCALL $|$$|$ (k) == VVARARG)}}
\label{lparser_8c_38d6bad3bcde3d124ca880d6a9d82ba6}


\hypertarget{lparser_8c_147b3ba4d2004b4b4ee7260661ec31e1}{
\index{lparser.c@{lparser.c}!leavelevel@{leavelevel}}
\index{leavelevel@{leavelevel}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define leavelevel(ls)~((ls) $\rightarrow$ {\bf L} $\rightarrow$ nCcalls--)}}
\label{lparser_8c_147b3ba4d2004b4b4ee7260661ec31e1}


\hypertarget{lparser_8c_7b083c8164f99ddd60e711ca706869d0}{
\index{lparser.c@{lparser.c}!lparser\_\-c@{lparser\_\-c}}
\index{lparser\_\-c@{lparser\_\-c}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define lparser\_\-c}}
\label{lparser_8c_7b083c8164f99ddd60e711ca706869d0}


\hypertarget{lparser_8c_bf0b3947b59218777a8e928a10be205b}{
\index{lparser.c@{lparser.c}!LUA\_\-CORE@{LUA\_\-CORE}}
\index{LUA\_\-CORE@{LUA\_\-CORE}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define LUA\_\-CORE}}
\label{lparser_8c_bf0b3947b59218777a8e928a10be205b}


\hypertarget{lparser_8c_696c1e8d14cc0882e6bae964b2e671c5}{
\index{lparser.c@{lparser.c}!luaY\_\-checklimit@{luaY\_\-checklimit}}
\index{luaY\_\-checklimit@{luaY\_\-checklimit}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define luaY\_\-checklimit(fs, \/  v, \/  l, \/  m)~if ((v)$>$(l)) errorlimit(fs,l,m)}}
\label{lparser_8c_696c1e8d14cc0882e6bae964b2e671c5}


\hypertarget{lparser_8c_14fc01b8e98eb04136759886b8680eb6}{
\index{lparser.c@{lparser.c}!new\_\-localvarliteral@{new\_\-localvarliteral}}
\index{new\_\-localvarliteral@{new\_\-localvarliteral}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define new\_\-localvarliteral(ls, \/  v, \/  n)~new\_\-localvar(ls, luaX\_\-newstring(ls, \char`\"{}\char`\"{} v, (sizeof(v)/sizeof(char))-1), n)}}
\label{lparser_8c_14fc01b8e98eb04136759886b8680eb6}


\hypertarget{lparser_8c_521d60e3611f1afe98634adda1a0a050}{
\index{lparser.c@{lparser.c}!UNARY\_\-PRIORITY@{UNARY\_\-PRIORITY}}
\index{UNARY\_\-PRIORITY@{UNARY\_\-PRIORITY}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define UNARY\_\-PRIORITY~8}}
\label{lparser_8c_521d60e3611f1afe98634adda1a0a050}




\subsection{Function Documentation}
\hypertarget{lparser_8c_7dafcad9b819fe82292276b63a632e80}{
\index{lparser.c@{lparser.c}!adjust\_\-assign@{adjust\_\-assign}}
\index{adjust\_\-assign@{adjust\_\-assign}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void adjust\_\-assign ({\bf LexState} $\ast$ {\em ls}, \/  int {\em nvars}, \/  int {\em nexps}, \/  {\bf expdesc} $\ast$ {\em e})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_7dafcad9b819fe82292276b63a632e80}


\hypertarget{lparser_8c_4f84287f74dc67840aae694b6ace6998}{
\index{lparser.c@{lparser.c}!adjustlocalvars@{adjustlocalvars}}
\index{adjustlocalvars@{adjustlocalvars}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void adjustlocalvars ({\bf LexState} $\ast$ {\em ls}, \/  int {\em nvars})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_4f84287f74dc67840aae694b6ace6998}


\hypertarget{lparser_8c_773c2499cb8938683b25fc0234c1f017}{
\index{lparser.c@{lparser.c}!anchor\_\-token@{anchor\_\-token}}
\index{anchor\_\-token@{anchor\_\-token}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void anchor\_\-token ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_773c2499cb8938683b25fc0234c1f017}


\hypertarget{lparser_8c_2aab8fa28abe7d4bc5baa65dc7b57482}{
\index{lparser.c@{lparser.c}!assignment@{assignment}}
\index{assignment@{assignment}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void assignment ({\bf LexState} $\ast$ {\em ls}, \/  struct {\bf LHS\_\-assign} $\ast$ {\em lh}, \/  int {\em nvars})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_2aab8fa28abe7d4bc5baa65dc7b57482}


\hypertarget{lparser_8c_235428bed4c6be6cb6d2760cd0fa9d34}{
\index{lparser.c@{lparser.c}!block@{block}}
\index{block@{block}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void block ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_235428bed4c6be6cb6d2760cd0fa9d34}


\hypertarget{lparser_8c_c5c988541415912d8174f7a9d7a853ce}{
\index{lparser.c@{lparser.c}!block\_\-follow@{block\_\-follow}}
\index{block\_\-follow@{block\_\-follow}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int block\_\-follow (int {\em token})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_c5c988541415912d8174f7a9d7a853ce}


\hypertarget{lparser_8c_d3d32c5366d3b1577b7eefe5e843dd5d}{
\index{lparser.c@{lparser.c}!body@{body}}
\index{body@{body}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void body ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em e}, \/  int {\em needself}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_d3d32c5366d3b1577b7eefe5e843dd5d}


\hypertarget{lparser_8c_e0650c2b4b5d311a24bd0ddb7b267db3}{
\index{lparser.c@{lparser.c}!breakstat@{breakstat}}
\index{breakstat@{breakstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void breakstat ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_e0650c2b4b5d311a24bd0ddb7b267db3}


\hypertarget{lparser_8c_2c856a5873c90f45525cf0d9abebbfde}{
\index{lparser.c@{lparser.c}!check@{check}}
\index{check@{check}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void check ({\bf LexState} $\ast$ {\em ls}, \/  int {\em c})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_2c856a5873c90f45525cf0d9abebbfde}


\hypertarget{lparser_8c_7d3af7471b2da7a36d18b73683181456}{
\index{lparser.c@{lparser.c}!check\_\-conflict@{check\_\-conflict}}
\index{check\_\-conflict@{check\_\-conflict}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void check\_\-conflict ({\bf LexState} $\ast$ {\em ls}, \/  struct {\bf LHS\_\-assign} $\ast$ {\em lh}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_7d3af7471b2da7a36d18b73683181456}


\hypertarget{lparser_8c_bbe267f2acab7a24f25b89b7782b21a6}{
\index{lparser.c@{lparser.c}!check\_\-match@{check\_\-match}}
\index{check\_\-match@{check\_\-match}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void check\_\-match ({\bf LexState} $\ast$ {\em ls}, \/  int {\em what}, \/  int {\em who}, \/  int {\em where})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_bbe267f2acab7a24f25b89b7782b21a6}


\hypertarget{lparser_8c_528c1e3eddf4e1cb1d2f8c6c1d0a6e49}{
\index{lparser.c@{lparser.c}!checkname@{checkname}}
\index{checkname@{checkname}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void checkname ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em e})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_528c1e3eddf4e1cb1d2f8c6c1d0a6e49}


\hypertarget{lparser_8c_00410145409eca75b14b1f1c4f553ca0}{
\index{lparser.c@{lparser.c}!checknext@{checknext}}
\index{checknext@{checknext}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void checknext ({\bf LexState} $\ast$ {\em ls}, \/  int {\em c})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_00410145409eca75b14b1f1c4f553ca0}


\hypertarget{lparser_8c_250d5faeaacc40c8a7e1822f5621c292}{
\index{lparser.c@{lparser.c}!chunk@{chunk}}
\index{chunk@{chunk}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void chunk ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_250d5faeaacc40c8a7e1822f5621c292}


\hypertarget{lparser_8c_46bd6da1ec8052eeaf6fd524199ca72a}{
\index{lparser.c@{lparser.c}!close\_\-func@{close\_\-func}}
\index{close\_\-func@{close\_\-func}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void close\_\-func ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_46bd6da1ec8052eeaf6fd524199ca72a}


\hypertarget{lparser_8c_aef29ed0dc1dc1d01507c8b81922dcb6}{
\index{lparser.c@{lparser.c}!closelistfield@{closelistfield}}
\index{closelistfield@{closelistfield}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void closelistfield ({\bf FuncState} $\ast$ {\em fs}, \/  struct {\bf ConsControl} $\ast$ {\em cc})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_aef29ed0dc1dc1d01507c8b81922dcb6}


\hypertarget{lparser_8c_b6f2e4f6f77d6d44088f6af7a8e98f27}{
\index{lparser.c@{lparser.c}!codestring@{codestring}}
\index{codestring@{codestring}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void codestring ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em e}, \/  {\bf TString} $\ast$ {\em s})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_b6f2e4f6f77d6d44088f6af7a8e98f27}


\hypertarget{lparser_8c_24002c50a108445d916457eb3c21d5e1}{
\index{lparser.c@{lparser.c}!cond@{cond}}
\index{cond@{cond}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int cond ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_24002c50a108445d916457eb3c21d5e1}


\hypertarget{lparser_8c_fd4901e9e6b1ba046efc1a5932cd664c}{
\index{lparser.c@{lparser.c}!constructor@{constructor}}
\index{constructor@{constructor}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void constructor ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em t})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_fd4901e9e6b1ba046efc1a5932cd664c}


\hypertarget{lparser_8c_2205f3da11c77c06303c6aabffaf53d2}{
\index{lparser.c@{lparser.c}!enterblock@{enterblock}}
\index{enterblock@{enterblock}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void enterblock ({\bf FuncState} $\ast$ {\em fs}, \/  {\bf BlockCnt} $\ast$ {\em bl}, \/  {\bf lu\_\-byte} {\em isbreakable})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_2205f3da11c77c06303c6aabffaf53d2}


\hypertarget{lparser_8c_78404c557df235c5c9fe4f0215247bcf}{
\index{lparser.c@{lparser.c}!enterlevel@{enterlevel}}
\index{enterlevel@{enterlevel}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void enterlevel ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_78404c557df235c5c9fe4f0215247bcf}


\hypertarget{lparser_8c_739e022f35a440a8ce018b83a2234f5d}{
\index{lparser.c@{lparser.c}!error\_\-expected@{error\_\-expected}}
\index{error\_\-expected@{error\_\-expected}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void error\_\-expected ({\bf LexState} $\ast$ {\em ls}, \/  int {\em token})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_739e022f35a440a8ce018b83a2234f5d}


\hypertarget{lparser_8c_9d216476871aa8870afb05e7ed8128ed}{
\index{lparser.c@{lparser.c}!errorlimit@{errorlimit}}
\index{errorlimit@{errorlimit}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void errorlimit ({\bf FuncState} $\ast$ {\em fs}, \/  int {\em limit}, \/  const char $\ast$ {\em what})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_9d216476871aa8870afb05e7ed8128ed}


\hypertarget{lparser_8c_23b35e880bcd487f81bf1a3d48567e49}{
\index{lparser.c@{lparser.c}!exp1@{exp1}}
\index{exp1@{exp1}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int exp1 ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_23b35e880bcd487f81bf1a3d48567e49}


\hypertarget{lparser_8c_f28d6101a55de6ab621acc19cd5db8f8}{
\index{lparser.c@{lparser.c}!explist1@{explist1}}
\index{explist1@{explist1}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int explist1 ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_f28d6101a55de6ab621acc19cd5db8f8}


\hypertarget{lparser_8c_f2c543df6cbb49247cd0a71956786d92}{
\index{lparser.c@{lparser.c}!expr@{expr}}
\index{expr@{expr}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void expr ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_f2c543df6cbb49247cd0a71956786d92}


\hypertarget{lparser_8c_2bafac5e65f8e5de6e00d717bf90f091}{
\index{lparser.c@{lparser.c}!exprstat@{exprstat}}
\index{exprstat@{exprstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void exprstat ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_2bafac5e65f8e5de6e00d717bf90f091}


\hypertarget{lparser_8c_6d2a331f7705725c01aa8bfe32d4bdf7}{
\index{lparser.c@{lparser.c}!field@{field}}
\index{field@{field}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void field ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_6d2a331f7705725c01aa8bfe32d4bdf7}


\hypertarget{lparser_8c_d348dc989652bd91b6137b39c297b0c6}{
\index{lparser.c@{lparser.c}!forbody@{forbody}}
\index{forbody@{forbody}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void forbody ({\bf LexState} $\ast$ {\em ls}, \/  int {\em base}, \/  int {\em line}, \/  int {\em nvars}, \/  int {\em isnum})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_d348dc989652bd91b6137b39c297b0c6}


\hypertarget{lparser_8c_5f15a71e248c4e1e9c867ccac8a450c2}{
\index{lparser.c@{lparser.c}!forlist@{forlist}}
\index{forlist@{forlist}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void forlist ({\bf LexState} $\ast$ {\em ls}, \/  {\bf TString} $\ast$ {\em indexname})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_5f15a71e248c4e1e9c867ccac8a450c2}


\hypertarget{lparser_8c_18532c1a3a900cb8f3399b470c00daf0}{
\index{lparser.c@{lparser.c}!fornum@{fornum}}
\index{fornum@{fornum}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void fornum ({\bf LexState} $\ast$ {\em ls}, \/  {\bf TString} $\ast$ {\em varname}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_18532c1a3a900cb8f3399b470c00daf0}


\hypertarget{lparser_8c_f783542828ac360981e0ce0f55abc630}{
\index{lparser.c@{lparser.c}!forstat@{forstat}}
\index{forstat@{forstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void forstat ({\bf LexState} $\ast$ {\em ls}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_f783542828ac360981e0ce0f55abc630}


\hypertarget{lparser_8c_4872ea24e2b5de8abda567bc8c565d32}{
\index{lparser.c@{lparser.c}!funcargs@{funcargs}}
\index{funcargs@{funcargs}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void funcargs ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em f})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_4872ea24e2b5de8abda567bc8c565d32}


\hypertarget{lparser_8c_9c06dde377cf16bda138da1cba949c82}{
\index{lparser.c@{lparser.c}!funcname@{funcname}}
\index{funcname@{funcname}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int funcname ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_9c06dde377cf16bda138da1cba949c82}


\hypertarget{lparser_8c_7ab22c159a4bdcda2bd652f01229111b}{
\index{lparser.c@{lparser.c}!funcstat@{funcstat}}
\index{funcstat@{funcstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void funcstat ({\bf LexState} $\ast$ {\em ls}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_7ab22c159a4bdcda2bd652f01229111b}


\hypertarget{lparser_8c_762cacc5df371cedf267a03fa2191385}{
\index{lparser.c@{lparser.c}!getbinopr@{getbinopr}}
\index{getbinopr@{getbinopr}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static {\bf BinOpr} getbinopr (int {\em op})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_762cacc5df371cedf267a03fa2191385}


\hypertarget{lparser_8c_fb550c9d0656dfe2f49f1b87cb91b648}{
\index{lparser.c@{lparser.c}!getunopr@{getunopr}}
\index{getunopr@{getunopr}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static {\bf UnOpr} getunopr (int {\em op})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_fb550c9d0656dfe2f49f1b87cb91b648}


\hypertarget{lparser_8c_e59a0e4b7bd8d539f377ee6f82eac19b}{
\index{lparser.c@{lparser.c}!ifstat@{ifstat}}
\index{ifstat@{ifstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void ifstat ({\bf LexState} $\ast$ {\em ls}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_e59a0e4b7bd8d539f377ee6f82eac19b}


\hypertarget{lparser_8c_059f77427e929e6a92af477dbdc06fe4}{
\index{lparser.c@{lparser.c}!indexupvalue@{indexupvalue}}
\index{indexupvalue@{indexupvalue}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int indexupvalue ({\bf FuncState} $\ast$ {\em fs}, \/  {\bf TString} $\ast$ {\em name}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_059f77427e929e6a92af477dbdc06fe4}


\hypertarget{lparser_8c_aa0cc4c3d9d11b020ff13b23262b8b17}{
\index{lparser.c@{lparser.c}!init\_\-exp@{init\_\-exp}}
\index{init\_\-exp@{init\_\-exp}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void init\_\-exp ({\bf expdesc} $\ast$ {\em e}, \/  {\bf expkind} {\em k}, \/  int {\em i})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_aa0cc4c3d9d11b020ff13b23262b8b17}


\hypertarget{lparser_8c_9c216378468160028b7d0edd7278dc2a}{
\index{lparser.c@{lparser.c}!lastlistfield@{lastlistfield}}
\index{lastlistfield@{lastlistfield}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void lastlistfield ({\bf FuncState} $\ast$ {\em fs}, \/  struct {\bf ConsControl} $\ast$ {\em cc})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_9c216378468160028b7d0edd7278dc2a}


\hypertarget{lparser_8c_9f9c2ed0786c3b036f177f2b33f4f79d}{
\index{lparser.c@{lparser.c}!leaveblock@{leaveblock}}
\index{leaveblock@{leaveblock}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void leaveblock ({\bf FuncState} $\ast$ {\em fs})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_9f9c2ed0786c3b036f177f2b33f4f79d}


\hypertarget{lparser_8c_c421b518b14b0af6e4e08226ab08057b}{
\index{lparser.c@{lparser.c}!listfield@{listfield}}
\index{listfield@{listfield}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void listfield ({\bf LexState} $\ast$ {\em ls}, \/  struct {\bf ConsControl} $\ast$ {\em cc})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_c421b518b14b0af6e4e08226ab08057b}


\hypertarget{lparser_8c_906778e7e7ae16a38c8c6b38bdc34f13}{
\index{lparser.c@{lparser.c}!localfunc@{localfunc}}
\index{localfunc@{localfunc}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void localfunc ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_906778e7e7ae16a38c8c6b38bdc34f13}


\hypertarget{lparser_8c_edb81864a38588cc65a205ff4c07abfa}{
\index{lparser.c@{lparser.c}!localstat@{localstat}}
\index{localstat@{localstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void localstat ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_edb81864a38588cc65a205ff4c07abfa}


\hypertarget{lparser_8c_2478924f3e49c4e9a7a90d1a984b727f}{
\index{lparser.c@{lparser.c}!luaY\_\-parser@{luaY\_\-parser}}
\index{luaY\_\-parser@{luaY\_\-parser}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf Proto}$\ast$ luaY\_\-parser ({\bf lua\_\-State} $\ast$ {\em L}, \/  {\bf ZIO} $\ast$ {\em z}, \/  {\bf Mbuffer} $\ast$ {\em buff}, \/  const char $\ast$ {\em name})}}
\label{lparser_8c_2478924f3e49c4e9a7a90d1a984b727f}


\hypertarget{lparser_8c_b92f39b4f46a9844ecab9d585d636bd4}{
\index{lparser.c@{lparser.c}!markupval@{markupval}}
\index{markupval@{markupval}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void markupval ({\bf FuncState} $\ast$ {\em fs}, \/  int {\em level})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_b92f39b4f46a9844ecab9d585d636bd4}


\hypertarget{lparser_8c_372dbf2f628966c85aac293338817205}{
\index{lparser.c@{lparser.c}!new\_\-localvar@{new\_\-localvar}}
\index{new\_\-localvar@{new\_\-localvar}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void new\_\-localvar ({\bf LexState} $\ast$ {\em ls}, \/  {\bf TString} $\ast$ {\em name}, \/  int {\em n})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_372dbf2f628966c85aac293338817205}


\hypertarget{lparser_8c_a8f2a16671311657c70312f10c85d6cb}{
\index{lparser.c@{lparser.c}!open\_\-func@{open\_\-func}}
\index{open\_\-func@{open\_\-func}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void open\_\-func ({\bf LexState} $\ast$ {\em ls}, \/  {\bf FuncState} $\ast$ {\em fs})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_a8f2a16671311657c70312f10c85d6cb}


\hypertarget{lparser_8c_dc6c3bb5079c197371a6ddcdbc574de6}{
\index{lparser.c@{lparser.c}!parlist@{parlist}}
\index{parlist@{parlist}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void parlist ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_dc6c3bb5079c197371a6ddcdbc574de6}


\hypertarget{lparser_8c_25378d698c6095fad6e3c85f5a50eb79}{
\index{lparser.c@{lparser.c}!prefixexp@{prefixexp}}
\index{prefixexp@{prefixexp}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void prefixexp ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_25378d698c6095fad6e3c85f5a50eb79}


\hypertarget{lparser_8c_bb6d6e594e184f737324863a01201cce}{
\index{lparser.c@{lparser.c}!primaryexp@{primaryexp}}
\index{primaryexp@{primaryexp}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void primaryexp ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_bb6d6e594e184f737324863a01201cce}


\hypertarget{lparser_8c_4505a1fbf644be751b8a39a85353394c}{
\index{lparser.c@{lparser.c}!pushclosure@{pushclosure}}
\index{pushclosure@{pushclosure}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void pushclosure ({\bf LexState} $\ast$ {\em ls}, \/  {\bf FuncState} $\ast$ {\em func}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_4505a1fbf644be751b8a39a85353394c}


\hypertarget{lparser_8c_d4183918ba9abc7e6b62ec17cd4d6464}{
\index{lparser.c@{lparser.c}!recfield@{recfield}}
\index{recfield@{recfield}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void recfield ({\bf LexState} $\ast$ {\em ls}, \/  struct {\bf ConsControl} $\ast$ {\em cc})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_d4183918ba9abc7e6b62ec17cd4d6464}


\hypertarget{lparser_8c_814cc078350dd900a044c0ed12a3dd57}{
\index{lparser.c@{lparser.c}!registerlocalvar@{registerlocalvar}}
\index{registerlocalvar@{registerlocalvar}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int registerlocalvar ({\bf LexState} $\ast$ {\em ls}, \/  {\bf TString} $\ast$ {\em varname})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_814cc078350dd900a044c0ed12a3dd57}


\hypertarget{lparser_8c_5f4a5c8f191f8f643fc24679c097544d}{
\index{lparser.c@{lparser.c}!removevars@{removevars}}
\index{removevars@{removevars}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void removevars ({\bf LexState} $\ast$ {\em ls}, \/  int {\em tolevel})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_5f4a5c8f191f8f643fc24679c097544d}


\hypertarget{lparser_8c_8638807967aa30e7700834f6bd4aaa5d}{
\index{lparser.c@{lparser.c}!repeatstat@{repeatstat}}
\index{repeatstat@{repeatstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void repeatstat ({\bf LexState} $\ast$ {\em ls}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_8638807967aa30e7700834f6bd4aaa5d}


\hypertarget{lparser_8c_7998fc603fbe151c85cf0ff9b5517ad6}{
\index{lparser.c@{lparser.c}!retstat@{retstat}}
\index{retstat@{retstat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void retstat ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_7998fc603fbe151c85cf0ff9b5517ad6}


\hypertarget{lparser_8c_becf43410910c14652674c8d457f1634}{
\index{lparser.c@{lparser.c}!searchvar@{searchvar}}
\index{searchvar@{searchvar}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int searchvar ({\bf FuncState} $\ast$ {\em fs}, \/  {\bf TString} $\ast$ {\em n})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_becf43410910c14652674c8d457f1634}


\hypertarget{lparser_8c_3b0b05af60978b05faf5713968573985}{
\index{lparser.c@{lparser.c}!simpleexp@{simpleexp}}
\index{simpleexp@{simpleexp}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void simpleexp ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_3b0b05af60978b05faf5713968573985}


\hypertarget{lparser_8c_39a46ec796479bdd22eea51ddef11685}{
\index{lparser.c@{lparser.c}!singlevar@{singlevar}}
\index{singlevar@{singlevar}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void singlevar ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em var})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_39a46ec796479bdd22eea51ddef11685}


\hypertarget{lparser_8c_6104d0231d057931759350c70d54f272}{
\index{lparser.c@{lparser.c}!singlevaraux@{singlevaraux}}
\index{singlevaraux@{singlevaraux}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int singlevaraux ({\bf FuncState} $\ast$ {\em fs}, \/  {\bf TString} $\ast$ {\em n}, \/  {\bf expdesc} $\ast$ {\em var}, \/  int {\em base})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_6104d0231d057931759350c70d54f272}


\hypertarget{lparser_8c_2befc3400202a3f8cecbcf23fff0b88e}{
\index{lparser.c@{lparser.c}!statement@{statement}}
\index{statement@{statement}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int statement ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_2befc3400202a3f8cecbcf23fff0b88e}


\hypertarget{lparser_8c_c6a77e92851fefeaf3facfdc47e5e39d}{
\index{lparser.c@{lparser.c}!str\_\-checkname@{str\_\-checkname}}
\index{str\_\-checkname@{str\_\-checkname}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static {\bf TString}$\ast$ str\_\-checkname ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_c6a77e92851fefeaf3facfdc47e5e39d}


\hypertarget{lparser_8c_33f48213fd932aea9bf0c822bb78edb5}{
\index{lparser.c@{lparser.c}!subexpr@{subexpr}}
\index{subexpr@{subexpr}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static {\bf BinOpr} subexpr ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v}, \/  unsigned int {\em limit})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_33f48213fd932aea9bf0c822bb78edb5}


\hypertarget{lparser_8c_888e21fd4d12866f35a4f33fac26e937}{
\index{lparser.c@{lparser.c}!test\_\-then\_\-block@{test\_\-then\_\-block}}
\index{test\_\-then\_\-block@{test\_\-then\_\-block}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int test\_\-then\_\-block ({\bf LexState} $\ast$ {\em ls})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_888e21fd4d12866f35a4f33fac26e937}


\hypertarget{lparser_8c_73a8be4e1269883a7b1f101bc14902e3}{
\index{lparser.c@{lparser.c}!testnext@{testnext}}
\index{testnext@{testnext}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int testnext ({\bf LexState} $\ast$ {\em ls}, \/  int {\em c})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_73a8be4e1269883a7b1f101bc14902e3}


\hypertarget{lparser_8c_f24623e7aa293515c8293aaf892de531}{
\index{lparser.c@{lparser.c}!whilestat@{whilestat}}
\index{whilestat@{whilestat}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void whilestat ({\bf LexState} $\ast$ {\em ls}, \/  int {\em line})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_f24623e7aa293515c8293aaf892de531}


\hypertarget{lparser_8c_c3e6a3b89f1a54a2ff4f3570831faf35}{
\index{lparser.c@{lparser.c}!yindex@{yindex}}
\index{yindex@{yindex}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void yindex ({\bf LexState} $\ast$ {\em ls}, \/  {\bf expdesc} $\ast$ {\em v})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_c3e6a3b89f1a54a2ff4f3570831faf35}




\subsection{Variable Documentation}
\hypertarget{lparser_8c_3584754acc5e91c03d6fc91359eefd78}{
\index{lparser.c@{lparser.c}!left@{left}}
\index{left@{left}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf lu\_\-byte} {\bf left}}}
\label{lparser_8c_3584754acc5e91c03d6fc91359eefd78}


\hypertarget{lparser_8c_95dea1861b1a5d7ab378d3255989c73b}{
\index{lparser.c@{lparser.c}!priority@{priority}}
\index{priority@{priority}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}struct \{ ... \}   {\bf priority}\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lparser_8c_95dea1861b1a5d7ab378d3255989c73b}


\hypertarget{lparser_8c_34b07942956eb7acd9d02c5b75177ae6}{
\index{lparser.c@{lparser.c}!right@{right}}
\index{right@{right}!lparser.c@{lparser.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf lu\_\-byte} {\bf right}}}
\label{lparser_8c_34b07942956eb7acd9d02c5b75177ae6}


