|
From: <ho...@us...> - 2004-01-20 01:33:43
|
Update of /cvsroot/ganc/ganc/src/include
In directory sc8-pr-cvs1:/tmp/cvs-serv28642/src/include
Modified Files:
functions.h
Added Files:
defines.h parser.h
Removed Files:
evaluate_stuff.h mytypes.h pipe_stuff.h
Log Message:
Changed maaaaaaaaaaany things:
- Eliminated dependency on libzvt and readline, now the whole thing is
pure gtk (using GtkTextView for the display) and it looks nice
- Thus, now there's no 'forking' around and no pipes
- Major rearrangement of files (yes again!)
Added: display.c history.c variables.c defines.h parser.h
Removed: reader_communication.c reader_stuff.c terminal_stuff.c
evaluate_stuff.h mytypes.h pipe_stuff.h
- Now, and so far, is not possible to compile text only version
--- NEW FILE: defines.h ---
#ifndef __INCLUDED_DEFINES_H__
#define __INCLUDED_DEFINES_H__
// Basic type for operations in the calculator
#define VALUE_TYPE long double
// definition of infinity, it depens on what VALUE_TYPE is
//#define INFINITY HUGE_VALL
// defines zero in our type VALUE_TYPE
#define ZEROVALUE (VALUE_TYPE) 0.
// defines PI in long double format
#define CONSTANT_PI 3.1415926535897932384626433832795029L
// Definitions to identify functions
#define FUN_ABS 0
#define FUN_SIN 1
#define FUN_COS 2
#define FUN_TAN 3
#define FUN_ASIN 4
#define FUN_ACOS 5
#define FUN_ATAN 6
#define FUN_SINH 7
#define FUN_COSH 8
#define FUN_TANH 9
#define FUN_ASINH 10
#define FUN_ACOSH 11
#define FUN_ATANH 12
#define FUN_EXP 13
#define FUN_LN 14
#define FUN_EXP10 15
#define FUN_LOG 16
#define FUN_SQRT 17
// errors
#define PERROR_UNKNOWN_VAR 1
#define PERROR_SYNTAX_ERROR 2
#define PERROR_PARSE_ERROR 3
#define PERROR_ISOLATED_DOT 4
#define PERROR_EMPTY 5
#define PERROR_BASE_RANGE 6
#define PERROR_BASE_ERROR 7
#define PERROR_INVALID_ARG_LN 8
#define PERROR_INVALID_ARG_LOG 9
#define PERROR_INVALID_ARG_FACT 10
#define PERROR_INVALID_ARG_SQRT 11
#define PERROR_INVALID_ARG_ASIN 12
#define PERROR_INVALID_ARG_ACOS 13
#define PERROR_DIVISION_ZERO 14
#define PERROR_OVERFLOW 15
#define PERROR_NAN 16
#define PERROR_ASSIGNMENT_CONSTANT 17
#define PERROR_ILLEGAL_IDENTIFIER 18
#define PERROR_ILLEGAL_CONSTANT 19
// variable attributes
#define VAR_ATTR_NORMAL 0x0000
#define VAR_ATTR_READONLY 0x0001
#define VAR_ATTR_SYSTEM 0x0002
// output format items
#define OUTPUT_FORMAT_BASE 0x0001
#define OUTPUT_FORMAT_PRINTBASE 0x0002
// system variables
#define SYSTEMVAR_IBASE 0x0001
#define SYSTEMVAR_OBASE 0x0002
#endif /* end of defines.h */
/*
Local Variables:
c-file-style: "gnu"
c-file-offsets: ((case-label . +))
End:
*/
--- NEW FILE: parser.h ---
/* parser.h
* Header with all the stuff need by the parser (syntax.y)
*/
#ifndef __INCLUDED_PARSER_H__
#define __INCLUDED_PARSER_H__
#include "defines.h"
/* Definition of functions */
VALUE_TYPE AssignVariable (char *name, VALUE_TYPE value);
VALUE_TYPE EvaluateVariable (char *name);
VALUE_TYPE CalculateFactorial (VALUE_TYPE arg);
VALUE_TYPE EvaluateFunction (int id, VALUE_TYPE arg);
VALUE_TYPE Sumation (VALUE_TYPE arg1, VALUE_TYPE arg2);
VALUE_TYPE Substraction (VALUE_TYPE arg1, VALUE_TYPE arg2);
VALUE_TYPE Product (VALUE_TYPE arg1, VALUE_TYPE arg2);
VALUE_TYPE Division (VALUE_TYPE arg1, VALUE_TYPE arg2);
VALUE_TYPE Negation (VALUE_TYPE arg1);
VALUE_TYPE Modulus (VALUE_TYPE arg1, VALUE_TYPE arg2);
VALUE_TYPE Power (VALUE_TYPE arg1, VALUE_TYPE arg2);
VALUE_TYPE ChangeBase (char *based_number, VALUE_TYPE base);
void CheckNumber (VALUE_TYPE value);
VALUE_TYPE EvaluateNumber (char *number);
VALUE_TYPE BitwiseAnd (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE BitwiseOr (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE BitwiseXor (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE BitwiseNot (VALUE_TYPE value);
VALUE_TYPE BitwiseRightShift (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE BitwiseLeftShift (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicAnd (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicOr (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicDifferent (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicEqual (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicGT (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicLT (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicGE (VALUE_TYPE v1, VALUE_TYPE v2);
VALUE_TYPE LogicLE (VALUE_TYPE v1, VALUE_TYPE v2);
void OutputResult (VALUE_TYPE result);
void SetResultOutputFormat (int format, VALUE_TYPE value);
/* parser related functions */
int yyparse (void);
void yyerror (char *s);
int yylex (void);
void NotifyError (int error, char *extra);
int CheckForErrors (void);
#endif /* end of parser.h */
/*
Local Variables:
c-file-style: "gnu"
c-file-offsets: ((case-label . +))
End:
*/
Index: functions.h
===================================================================
RCS file: /cvsroot/ganc/ganc/src/include/functions.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** functions.h 7 Dec 2003 21:52:22 -0000 1.8
--- functions.h 20 Jan 2004 01:33:40 -0000 1.9
***************
*** 2,6 ****
#define __INCLUDED_FUNCTIONS_H__
! #include <stdio.h>
#ifdef BUILD_GUI
--- 2,6 ----
#define __INCLUDED_FUNCTIONS_H__
! //#include <stdio.h>
#ifdef BUILD_GUI
***************
*** 8,58 ****
#endif
! #include "mytypes.h"
// evaluate.c
- //void install_FPE_handler (void);
- void SetUpPI (void);
void SetUpAngleConversion (const char *label);
! //int MathError (void);
! //void ResetMathError (void);
!
! // main.c
! void RunMainProcess (FILE *from_reader, FILE *to_reader);
!
! // terminal_stuff.c
! void CreateTerminal (void);
! void StartProcesses (void);
! #ifdef BUILD_GUI
! void TerminalConnectScrollbar (GtkWidget *terminal, GtkWidget *scrollbar);
! void TerminalSetGeometry (GtkWidget *window);
! #endif
! // parser_stuff.c
void InitMainVarList (void);
void DestroyMainVarList (void);
int ParseTypedExpression (char *text);
void PopErrorDialog (char *s);
! VALUE_TYPE EvaluateVariable (char *name);
! void CreateNewVariable (char *new_name, VALUE_TYPE value, short attributes);
void OutputResult (VALUE_TYPE result);
! VALUE_TYPE ExpressionValue (void);
int ParseError (void);
char *ParseErrorExtra (void);
! int GetInputBase (void);
! int SetInputBase (int base);
! int SetOutputBase (int base);
! int GetOutputFormat (int format);
! void SetOutputFormat (int format, VALUE_TYPE value);
! // reader_stuff.c
! void RunReaderProcess (FILE *from_main, FILE *to_main);
- #ifdef BUILD_GUI
- // reader_communication.c
- void SendInputRequest (int request, char *text);
- //void ReaderHasLine (gpointer data, gint source, GdkInputCondition condition);
- void PassPipeVariables (FILE *f_reader, FILE *t_reader);
- void KillReaderProcess (void);
- #endif
#endif // End of functions.h
--- 8,57 ----
#endif
! #include "defines.h"
// evaluate.c
void SetUpAngleConversion (const char *label);
! void CheckNumber (VALUE_TYPE value);
! // variables.c
void InitMainVarList (void);
void DestroyMainVarList (void);
+ VALUE_TYPE EvaluateVariable (char *name);
+ VALUE_TYPE AssignVariable (char *name, VALUE_TYPE value);
+ void MakeCopyVariableList (void);
+ void SwapVariableLists (void);
+ void DestroyCopyVariableList (void);
+ int CheckVariable (char *entry);
+ void UpdateAnswerVariable (void);
+ void UpdateSystemVariables (void);
+ void SetSystemVariable (int which, int value);
+ int GetSystemVariable (int which);
+ void InitializeSystemVars (void);
+
+ // parser_stuff.c
int ParseTypedExpression (char *text);
void PopErrorDialog (char *s);
! void NotifyError (int error, char *extra);
void OutputResult (VALUE_TYPE result);
! VALUE_TYPE ResultValue (void);
int ParseError (void);
char *ParseErrorExtra (void);
! void SetResultOutputFormat (int format, VALUE_TYPE value);
! int GetResultOutputFormat (int format);
! // display.c
! void PrintPrompt (GtkTextIter *point_iter);
! void TravelEntryHistory (guint keyval);
! void InsertText (char *text);
! void ClearInputLine (void);
! void ExpressionReady (void);
!
! // history.c
! void InitializeHistory (void);
! void AddHistory (char *text);
! char *PreviousHistory (char *text);
! char *NextHistory (char *text);
! void RemoveHistory (void);
#endif // End of functions.h
--- evaluate_stuff.h DELETED ---
--- mytypes.h DELETED ---
--- pipe_stuff.h DELETED ---
|