Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 8732 → Rev 8733

/programs/develop/tinybasic-1.0.4/inc/formatter.h
0,0 → 1,66
/*
* Tiny BASIC
* Listing Output Header
*
* Released as Public Domain by Damian Gareth Walker, 2019
* Created: 18-Sep-2019
*/
 
 
#ifndef __FORMATTER_H__
#define __FORMATTER_H__
 
 
/* included headers */
#include "errors.h"
#include "statement.h"
 
 
/*
* Data Declarations
*/
 
 
/* Formatter Class */
typedef struct formatter_data FormatterData;
typedef struct formatter Formatter;
typedef struct formatter {
 
/* Properties */
FormatterData *priv; /* private data */
char *output; /* the formatted output */
 
/*
* Create a formatted version of the program
* params:
* Formatter* the formatter
* ProgramNode* the syntax tree
* returns:
* char* the formatted BASIC program
*/
void (*generate) (Formatter *, ProgramNode *);
 
/*
* Destroy the formatter when no longer needed
* params:
* Formatter* the doomed formatter
*/
void (*destroy) (Formatter *);
 
} Formatter;
 
 
/*
* Function Declarations
*/
 
 
/*
* The Formatter constructor
* returns:
* Formatter* the new formatter
*/
Formatter *new_Formatter (ErrorHandler *errors);
 
 
#endif