From 4ef5633f361ab5302007045dcef945043d6d6225 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Mon, 27 Oct 2014 07:53:12 -0600 Subject: Port of BAS 2.4 to NuttX by Alan Carvalho de Assis --- apps/interpreters/bas/program.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 apps/interpreters/bas/program.h (limited to 'apps/interpreters/bas/program.h') diff --git a/apps/interpreters/bas/program.h b/apps/interpreters/bas/program.h new file mode 100644 index 000000000..5b6646d99 --- /dev/null +++ b/apps/interpreters/bas/program.h @@ -0,0 +1,35 @@ +#ifndef PROGRAM_H +#define PROGRAM_H + +#include "programtypes.h" +#include "token.h" + +extern struct Program *Program_new(struct Program *this); +extern void Program_destroy(struct Program *this); +extern void Program_norun(struct Program *this); +extern void Program_store(struct Program *this, struct Token *line, long int where); +extern void Program_delete(struct Program *this, const struct Pc *from, const struct Pc *to); +extern void Program_addScope(struct Program *this, struct Scope *scope); +extern struct Pc *Program_goLine(struct Program *this, long int line, struct Pc *pc); +extern struct Pc *Program_fromLine(struct Program *this, long int line, struct Pc *pc); +extern struct Pc *Program_toLine(struct Program *this, long int line, struct Pc *pc); +extern int Program_scopeCheck(struct Program *this, struct Pc *pc, struct Pc *fn); +extern struct Pc *Program_dataLine(struct Program *this, long int line, struct Pc *pc); +extern struct Pc *Program_imageLine(struct Program *this, long int line, struct Pc *pc); +extern long int Program_lineNumber(const struct Program *this, const struct Pc *pc); +extern struct Pc *Program_beginning(struct Program *this, struct Pc *pc); +extern struct Pc *Program_end(struct Program *this, struct Pc *pc); +extern struct Pc *Program_nextLine(struct Program *this, struct Pc *pc); +extern int Program_skipEOL(struct Program *this, struct Pc *pc, int dev, int tr); +extern void Program_trace(struct Program *this, struct Pc *pc, int dev, int tr); +extern void Program_PCtoError(struct Program *this, struct Pc *pc, struct Value *v); +extern struct Value *Program_merge(struct Program *this, int dev, struct Value *value); +extern int Program_lineNumberWidth(struct Program *this); +extern struct Value *Program_list(struct Program *this, int dev, int watchIntr, struct Pc *from, struct Pc *to, struct Value *value); +extern struct Value *Program_analyse(struct Program *this, struct Pc *pc, struct Value *value); +extern void Program_renum(struct Program *this, int first, int inc); +extern void Program_unnum(struct Program *this); +extern int Program_setname(struct Program *this, const char *filename); +extern void Program_xref(struct Program *this, int chn); + +#endif -- cgit v1.2.3