diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-10-27 07:53:12 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-10-27 07:53:12 -0600 |
commit | 4ef5633f361ab5302007045dcef945043d6d6225 (patch) | |
tree | 1806fe0ec9221c4e6c7439419e8b57bfe7865d29 /apps/interpreters/bas/program.h | |
parent | f2fe892334074612e4e3159c754b65d13bc348fc (diff) | |
download | nuttx-4ef5633f361ab5302007045dcef945043d6d6225.tar.gz nuttx-4ef5633f361ab5302007045dcef945043d6d6225.tar.bz2 nuttx-4ef5633f361ab5302007045dcef945043d6d6225.zip |
Port of BAS 2.4 to NuttX by Alan Carvalho de Assis
Diffstat (limited to 'apps/interpreters/bas/program.h')
-rw-r--r-- | apps/interpreters/bas/program.h | 35 |
1 files changed, 35 insertions, 0 deletions
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 |