⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 param.h

📁 SP是一个基于GNU C++编译器
💻 H
字号:
// Copyright (c) 1994 James Clark// See the file COPYING for copying permission.#ifndef Param_INCLUDED#define Param_INCLUDED 1#ifdef __GNUG__#pragma interface#endif#include "Boolean.h"#include "ContentToken.h"#include "StringC.h"#include "Location.h"#include "MessageArg.h"#include "Mode.h"#include "NameToken.h"#include "Owner.h"#include "Ptr.h"#include "Syntax.h"#include "Text.h"#include "Vector.h"// This describes a markup declaration parameter.#ifdef SP_NAMESPACEnamespace SP_NAMESPACE {#endifclass ElementType;class Param {public:  Param() { }  typedef unsigned char Type;  enum {    invalid,    dso,    mdc,    minus,    pero,    inclusions,    exclusions,    nameGroup,    nameTokenGroup,    modelGroup,    number,    minimumLiteral,    attributeValueLiteral,    tokenizedAttributeValueLiteral,    systemIdentifier,    paramLiteral,    name,    entityName,    paramEntityName,    attributeValue,    reservedName,		// Syntax::ReservedName is added to this    // this is a reserved name preceded by the RNI delimiter    indicatedReservedName = reservedName + Syntax::nNames    };  enum { nTypes = indicatedReservedName + Syntax::nNames };  Type type;  Location startLocation;  Text literalText;  Boolean lita;  Owner<ModelGroup> modelGroupPtr;  Vector<NameToken> nameTokenVector;  StringC token;		// name nameToken; with substitution  Vector<const ElementType *> elementVector;private:  Param(const Param &);		// undefined  void operator=(const Param &); // undefined};class AllowedParams {public:  AllowedParams(Param::Type,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid,		Param::Type = Param::invalid);  AllowedParams(const Param::Type *types, int nTypes);  Mode mainMode() const;  Boolean mdc() const;  Boolean rni() const;  Boolean dso() const;  Boolean inclusions() const;  Boolean exclusions() const;  Boolean reservedName(Syntax::ReservedName) const;  Param::Type group() const;  Param::Type nameStart() const;  Param::Type digit() const;  Param::Type nmchar() const;  Param::Type literal() const;private:  void init();  void allow(Param::Type);  PackedBoolean mdc_;  PackedBoolean rni_;  PackedBoolean dso_;  PackedBoolean inclusions_;  PackedBoolean exclusions_;  // invalid, minus, pero  Param::Type extraDelimiter_;  // invalid, nameGroup, nameTokenGroup, modelGroup  Param::Type group_;  // invalid, reservedName, name, entityName, paramEntityName, attributeValue  Param::Type nameStart_;  // invalid, number, attributeValue  Param::Type digit_;  // invalid, attributeValue  Param::Type nmchar_; // LCNMCHAR or UCNMCHAR  // invalid, minimumLiteral, systemIdentifier, paramLiteral,  // (tokenized)attributeValueLiteral  Param::Type literal_;  PackedBoolean reservedNames_[Syntax::nNames];  Mode mainMode_;		// mdMode mdMinusMode mdPeroMode};class MessageBuilder;class AllowedParamsMessageArg : public MessageArg {public:  AllowedParamsMessageArg(const AllowedParams &allow,			  const ConstPtr<Syntax> &syntax);  MessageArg *copy() const;  void append(MessageBuilder &) const;private:  AllowedParams allow_;  ConstPtr<Syntax> syntax_;};inlineMode AllowedParams::mainMode() const{  return mainMode_;}inlineBoolean AllowedParams::mdc() const{  return mdc_;}inlineBoolean AllowedParams::rni() const{  return rni_;}inlineBoolean AllowedParams::dso() const{  return dso_;}inlineBoolean AllowedParams::inclusions() const{  return inclusions_;}inlineBoolean AllowedParams::exclusions() const{  return exclusions_;}inlineBoolean AllowedParams::reservedName(Syntax::ReservedName i) const{  return reservedNames_[i];}inlineParam::Type AllowedParams::group() const{  return group_;}inlineParam::Type AllowedParams::nameStart() const{  return nameStart_;}inlineParam::Type AllowedParams::digit() const{  return digit_;}inlineParam::Type AllowedParams::nmchar() const{  return nmchar_;}inlineParam::Type AllowedParams::literal() const{  return literal_;}#ifdef SP_NAMESPACE}#endif#endif /* not Param_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -