Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  mac_expand.h

  Sprache: C
 

#ifndef _MAC_EXPAND_H_INCLUDED_
#define _MAC_EXPAND_H_INCLUDED_

/*++
/* NAME
/* mac_expand 3h
/* SUMMARY
/* expand macro references in string
/* SYNOPSIS
/* #include <mac_expand.h>
/* DESCRIPTION
/* .nf

 /*
  * Utility library.
  */

#include <vstring.h>
#include <mac_parse.h>

 /*
  * Features.
  */

#define MAC_EXP_FLAG_NONE (0)
#define MAC_EXP_FLAG_RECURSE (1<<0)
#define MAC_EXP_FLAG_APPEND (1<<1)
#define MAC_EXP_FLAG_SCAN (1<<2)
#define MAC_EXP_FLAG_PRINTABLE  (1<<3)

 /*
  * Token codes, public so tha they are available to mac_expand_add_relop()
  */

#define MAC_EXP_OP_TOK_NONE 0 /* Sentinel */
#define MAC_EXP_OP_TOK_EQ 1 /* == */
#define MAC_EXP_OP_TOK_NE 2 /* != */
#define MAC_EXP_OP_TOK_LT 3 /* < */
#define MAC_EXP_OP_TOK_LE 4 /* <= */
#define MAC_EXP_OP_TOK_GE 5 /* >= */
#define MAC_EXP_OP_TOK_GT 6 /* > */

 /*
  * Relational operator results. An enum to discourage assuming that 0 is
  * false, !0 is true.
  */

typedef enum MAC_EXP_OP_RES {
    MAC_EXP_OP_RES_TRUE,
    MAC_EXP_OP_RES_FALSE,
    MAC_EXP_OP_RES_ERROR,
}       MAC_EXP_OP_RES;


extern MAC_EXP_OP_RES mac_exp_op_res_bool[2];

 /*
  * Real lookup or just a test?
  */

#define MAC_EXP_MODE_TEST (0)
#define MAC_EXP_MODE_USE (1)

typedef const char *(*MAC_EXP_LOOKUP_FN) (const char *, intvoid *);
typedef bool(*MAC_EXP_DONT_PARSE_FN) (const char *, void *);
typedef MAC_EXP_OP_RES(*MAC_EXPAND_RELOP_FN) (const char *, intconst char *);
typedef int (*MAC_EXPAND_NAMED_FN) (VSTRING *, const char *);

extern int mac_expand7(VSTRING *, const char *, intconst char *, MAC_EXP_LOOKUP_FN, MAC_EXP_DONT_PARSE_FN, void *);
extern void mac_expand_add_relop(int *, const char *, MAC_EXPAND_RELOP_FN);
extern void mac_expand_add_named_fn(const char *, MAC_EXPAND_NAMED_FN);

#define mac_expand(res, pat, flags, filter, lookup, ctx) \
    mac_expand7((res), (pat), (flags), (filter), (lookup), \
 (MAC_EXP_DONT_PARSE_FN) 0, (ctx))

/* LICENSE
/* .ad
/* .fi
/* The Secure Mailer license must be distributed with this software.
/* AUTHOR(S)
/* Wietse Venema
/* IBM T.J. Watson Research
/* P.O. Box 704
/* Yorktown Heights, NY 10598, USA
/*
/* Wietse Venema
/* Google, Inc.
/* 111 8th Avenue
/* New York, NY 10011, USA
/*
/* Wietse Venema
/* porcupine.org
/*--*/


#endif

Messung V0.5 in Prozent
C=74 H=96 G=85

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002