00001
00006 #if !defined(INC_UTIL_PARSE_OPTS_H)
00007
00008 #define INC_UTIL_PARSE_OPTS_H
00009
00010 #include <stdio.h>
00011 #include <oski/common.h>
00012
00013 #if defined(IND_TAG_CHAR) && defined(VAL_TAG_CHAR)
00014
00015 #include <oski/mangle.h>
00016 #include <oski/vecview.h>
00017
00018 #if defined(DO_NAME_MANGLING)
00019
00021 #define ParseValue MANGLE_(ParseValue)
00022 #define PrintValue MANGLE_(PrintValue)
00023 #define PrintDebugValue MANGLE_(PrintDebugValue)
00024 #define PrintVecViewInfo MANGLE_(PrintVecViewInfo)
00025 #define PrintDebugVecViewInfo MANGLE_(PrintDebugVecViewInfo)
00026
00027 #endif
00028
00032 oski_value_t ParseValue (const char *s);
00033
00037 void PrintValue (FILE * fp, const char *name, oski_value_t x);
00038
00042 void PrintDebugValue (int level, const char *name, oski_value_t x);
00043
00047 void PrintVecViewInfo (FILE * fp, const char *name, oski_vecview_t x);
00048
00052 void PrintDebugVecViewInfo (int level, const char *name, oski_vecview_t x);
00053 #endif
00054
00059 int StringMatches (const char *source, ...);
00060
00064 size_t ParseByteString (const char *s);
00065
00069 oski_storage_t ParseDenseMatLayout (const char *s);
00070
00074 oski_matop_t ParseMatTransOp (const char *s);
00075
00079 void PrintMatTransOp (FILE * fp, const char *matname, oski_matop_t op);
00080
00084 oski_ataop_t ParseMatATAOp (const char *s);
00085
00089 void PrintMatATAOp (FILE * fp, const char *matname, oski_ataop_t op);
00090
00094 void PrintDebugMatTransOp (int level, const char *matname, oski_matop_t op);
00095
00099 void PrintDebugMatATAOp (int level, const char *matname, oski_ataop_t op);
00100
00101 #endif
00102
00103