ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/FeepingCreaturism/Jargon.cpp
Revision: 227
Committed: 2004-09-06T13:23:39-07:00 (20 years, 9 months ago) by Douglas Thrift
File size: 879 byte(s)
Log Message:
This is a little cleaner.

File Contents

# Content
1 // Feeping Creaturism
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #include "Jargon.hpp"
8 #include "Matcher.hpp"
9
10 Jargon::Jargon(const ext::String& path, bool include,
11 const ext::String& relative) : include(include),
12 args(1, FeepingCreaturism::program)
13 {
14 args.push_back("-p");
15 args.push_back("include");
16 args.push_back(lexical_cast<ext::String>(include) + "()");
17
18 if (!relative.IsEmpty())
19 {
20 args.push_back("-p");
21 args.push_back("relative");
22 args.push_back("\"" + relative + "\"");
23 }
24
25 args.push_back(path);
26 args.push_back("jargon.xsl");
27 }
28
29 ios::PrintWriter& operator<<(ios::PrintWriter& pout, const Jargon& jargon)
30 {
31 redi::ipstream pin("/usr/local/bin/Xalan", jargon.args);
32
33 if (jargon.include)
34 {
35 std::string ignore;
36
37 std::getline(pin, ignore);
38 }
39
40 do
41 {
42 std::string line;
43
44 std::getline(pin, line);
45
46 pout << line << '\n';
47 }
48 while (pin.good());
49
50 return pout;
51 }

Properties

Name Value
svn:eol-style native
svn:keywords Id