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

📄 spent.cxx

📁 SP是一个基于GNU C++编译器
💻 CXX
字号:
// Copyright (c) 1995 James Clark// See the file COPYING for copying permission.#include "config.h"#include "EntityApp.h"#include "InputSource.h"#include "OutputCharStream.h"#ifdef SP_NAMESPACEusing namespace SP_NAMESPACE;#endifclass SpentApp : public EntityApp {public:  SpentApp();  void processOption(AppChar opt, const AppChar *arg);  int processSysid(const StringC &);private:  Boolean isNdata_;  Boolean rawOutput_;};SP_DEFINE_APP(SpentApp)SpentApp::SpentApp(): rawOutput_(0), isNdata_(0){  registerOption('n');  registerOption('r');}void SpentApp::processOption(AppChar opt, const AppChar *arg){  switch (opt) {  case 'n':    isNdata_ = 1;    if (!outputCodingSystem_)      outputCodingSystem_ = codingSystemKit_->identityCodingSystem();    rawOutput_ = 1;    break;  case 'r':    rawOutput_ = 1;    break;  default:    EntityApp::processOption(opt, arg);    break;  }}int SpentApp::processSysid(const StringC &sysid){  InputSource *in = entityManager()->open(sysid,					  systemCharset(),					  InputSourceOrigin::make(),					  isNdata_ ? ExtendEntityManager::isNdata : 0,					  *this);  if (!in)    return 1;  OutputCharStream *os = makeStdOut();  if (!rawOutput_)    os = new RecordOutputCharStream(os);  for (;;) {    Xchar c = in->get(*this);    if (c == InputSource::eE)      break;    in->extendToBufferEnd();    os->write(in->currentTokenStart(), in->currentTokenLength());  }  delete os;  return in->accessError();}

⌨️ 快捷键说明

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