MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / statement

Function statement

lib/lua/src/lparser.c:1845–1915  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1843
1844
1845static void statement (LexState *ls) {
1846 int line = ls->linenumber; /* may be needed for error messages */
1847 enterlevel(ls);
1848 switch (ls->t.token) {
1849 case ';': { /* stat -> ';' (empty statement) */
1850 luaX_next(ls); /* skip ';' */
1851 break;
1852 }
1853 case TK_IF: { /* stat -> ifstat */
1854 ifstat(ls, line);
1855 break;
1856 }
1857 case TK_WHILE: { /* stat -> whilestat */
1858 whilestat(ls, line);
1859 break;
1860 }
1861 case TK_DO: { /* stat -> DO block END */
1862 luaX_next(ls); /* skip DO */
1863 block(ls);
1864 check_match(ls, TK_END, TK_DO, line);
1865 break;
1866 }
1867 case TK_FOR: { /* stat -> forstat */
1868 forstat(ls, line);
1869 break;
1870 }
1871 case TK_REPEAT: { /* stat -> repeatstat */
1872 repeatstat(ls, line);
1873 break;
1874 }
1875 case TK_FUNCTION: { /* stat -> funcstat */
1876 funcstat(ls, line);
1877 break;
1878 }
1879 case TK_LOCAL: { /* stat -> localstat */
1880 luaX_next(ls); /* skip LOCAL */
1881 if (testnext(ls, TK_FUNCTION)) /* local function? */
1882 localfunc(ls);
1883 else
1884 localstat(ls);
1885 break;
1886 }
1887 case TK_DBCOLON: { /* stat -> label */
1888 luaX_next(ls); /* skip double colon */
1889 labelstat(ls, str_checkname(ls), line);
1890 break;
1891 }
1892 case TK_RETURN: { /* stat -> retstat */
1893 luaX_next(ls); /* skip RETURN */
1894 retstat(ls);
1895 break;
1896 }
1897 case TK_BREAK: { /* stat -> breakstat */
1898 breakstat(ls);
1899 break;
1900 }
1901 case TK_GOTO: { /* stat -> 'goto' NAME */
1902 luaX_next(ls); /* skip 'goto' */

Callers 2

statlistFunction · 0.85
labelstatFunction · 0.85

Calls 15

luaX_nextFunction · 0.85
ifstatFunction · 0.85
whilestatFunction · 0.85
blockFunction · 0.85
check_matchFunction · 0.85
forstatFunction · 0.85
repeatstatFunction · 0.85
funcstatFunction · 0.85
testnextFunction · 0.85
localfuncFunction · 0.85
localstatFunction · 0.85
labelstatFunction · 0.85

Tested by

no test coverage detected