luafaudes.cpp File Reference
#include <csignal>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include "libfaudes.h"

Go to the source code of this file.

Classes

struct  Smain
 

Macros

#define faudes_stdin_is_tty()   1
 
#define lua_rl_init(L)   ((void)L)
 
#define lua_rl_exit(L)   ((void)L)
 
#define notail(x)   {if ((x)[2] != '\0') return -1;}
 

Functions

static void lstop (lua_State *L, lua_Debug *ar)
 
static void laction (int i)
 
static void print_usage (void)
 
static void l_message (const char *pname, const char *msg)
 
static int report (lua_State *L, int status)
 
static int traceback (lua_State *L)
 
static int docall (lua_State *L, int narg, int clear)
 
static void print_version (void)
 
static int getargs (lua_State *L, char **argv, int n)
 
static int dofile (lua_State *L, const char *name)
 
static int dostring (lua_State *L, const char *s, const char *name)
 
static int dolibrary (lua_State *L, const char *name)
 
static const char * get_prompt (lua_State *L, int firstline)
 
static int incomplete (lua_State *L, int status)
 
static int pushline (lua_State *L, int firstline)
 
static int loadline (lua_State *L)
 
static void dotty (lua_State *L)
 
static int handle_script (lua_State *L, char **argv, int n)
 
static int collectargs (char **argv, int *pi, int *pv, int *pe, int *pd, int *px)
 
static int runargs (lua_State *L, char **argv, int n)
 
static int handle_luainit (lua_State *L)
 
static int pmain (lua_State *L)
 
int main (int argc, char **argv)
 

Variables

static lua_State * globalL = NULL
 
static const char * progname = LUA_PROGNAME
 

Detailed Description

Simple Lua stand-alone interpreter for lua/faudes

This lua interpreter is almost a plain copy of the original lua.c provided with the lua 5.1.3 distribution and under an MIT license; see original lua.h or http://www.lua.org

The Advanced-Readline patch has been applied, also with lua license, copyright see below. SWIG based Lua bindings and minor adjustments (wellcome string) have been added (and signed "luafaudes"). Thomas Moor, 2008, 2025.

Definition in file luafaudes.cpp.

Macro Definition Documentation

◆ faudes_stdin_is_tty

#define faudes_stdin_is_tty ( )    1

Definition at line 47 of file luafaudes.cpp.

◆ lua_rl_exit

#define lua_rl_exit (   L)    ((void)L)

Definition at line 267 of file luafaudes.cpp.

◆ lua_rl_init

#define lua_rl_init (   L)    ((void)L)

Definition at line 266 of file luafaudes.cpp.

◆ notail

#define notail (   x)    {if ((x)[2] != '\0') return -1;}

Definition at line 379 of file luafaudes.cpp.

Function Documentation

◆ collectargs()

static int collectargs ( char **  argv,
int *  pi,
int *  pv,
int *  pe,
int *  pd,
int *  px 
)
static

Definition at line 383 of file luafaudes.cpp.

◆ docall()

static int docall ( lua_State *  L,
int  narg,
int  clear 
)
static

Definition at line 125 of file luafaudes.cpp.

◆ dofile()

static int dofile ( lua_State *  L,
const char *  name 
)
static

Definition at line 173 of file luafaudes.cpp.

◆ dolibrary()

static int dolibrary ( lua_State *  L,
const char *  name 
)
static

Definition at line 185 of file luafaudes.cpp.

◆ dostring()

static int dostring ( lua_State *  L,
const char *  s,
const char *  name 
)
static

Definition at line 179 of file luafaudes.cpp.

◆ dotty()

static void dotty ( lua_State *  L)
static

Definition at line 336 of file luafaudes.cpp.

◆ get_prompt()

static const char* get_prompt ( lua_State *  L,
int  firstline 
)
static

Definition at line 273 of file luafaudes.cpp.

◆ getargs()

static int getargs ( lua_State *  L,
char **  argv,
int  n 
)
static

Definition at line 155 of file luafaudes.cpp.

◆ handle_luainit()

static int handle_luainit ( lua_State *  L)
static

Definition at line 467 of file luafaudes.cpp.

◆ handle_script()

static int handle_script ( lua_State *  L,
char **  argv,
int  n 
)
static

Definition at line 360 of file luafaudes.cpp.

◆ incomplete()

static int incomplete ( lua_State *  L,
int  status 
)
static

Definition at line 283 of file luafaudes.cpp.

◆ l_message()

static void l_message ( const char *  pname,
const char *  msg 
)
static

Definition at line 87 of file luafaudes.cpp.

◆ laction()

static void laction ( int  i)
static

Definition at line 62 of file luafaudes.cpp.

◆ loadline()

static int loadline ( lua_State *  L)
static

Definition at line 316 of file luafaudes.cpp.

◆ lstop()

static void lstop ( lua_State *  L,
lua_Debug *  ar 
)
static

Definition at line 55 of file luafaudes.cpp.

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 529 of file luafaudes.cpp.

◆ pmain()

static int pmain ( lua_State *  L)
static

Definition at line 484 of file luafaudes.cpp.

◆ print_usage()

static void print_usage ( void  )
static

Definition at line 69 of file luafaudes.cpp.

◆ print_version()

static void print_version ( void  )
static

Definition at line 141 of file luafaudes.cpp.

◆ pushline()

static int pushline ( lua_State *  L,
int  firstline 
)
static

Definition at line 297 of file luafaudes.cpp.

◆ report()

static int report ( lua_State *  L,
int  status 
)
static

Definition at line 94 of file luafaudes.cpp.

◆ runargs()

static int runargs ( lua_State *  L,
char **  argv,
int  n 
)
static

Definition at line 428 of file luafaudes.cpp.

◆ traceback()

static int traceback ( lua_State *  L)
static

Definition at line 105 of file luafaudes.cpp.

Variable Documentation

◆ globalL

lua_State* globalL = NULL
static

Definition at line 51 of file luafaudes.cpp.

◆ progname

const char* progname = LUA_PROGNAME
static

Definition at line 52 of file luafaudes.cpp.

libFAUDES 2.33h --- 2025.06.18 --- c++ api documentaion by doxygen