blob: bad70b74cd4486070650af3babc540e78dfb7fcc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
/*
* Parser.cc
*
* Created on: 11 mai 2011
* Author: christian
*/
#include "Parser.h"
balise Parser::system = "<System>";
balise Parser::accelerator ="<Accelerator>";
balise Parser::constants ="<constants>";
balise Parser::curvedElement ="<CurvedElement>";
balise Parser::dipole ="<Dipole>";
balise Parser::fodo ="<FODO>";
balise Parser::particle ="<Particle>";
balise Parser::quadrupole ="<Quadrupole>";
balise Parser::straightElement ="<StraightElement>";
balise Parser::systemCl = "<\System>";
balise Parser::acceleratorCl ="<<Accelerator>";
balise Parser::constantsCl ="<\constants>";
balise Parser::curvedElementCl ="<\CurvedElement>";
balise Parser::dipoleCl ="<\Dipole>";
balise Parser::fodoCl ="<\FODO>";
balise Parser::particleCl ="<\Particle>";
balise Parser::quadrupoleCl ="<\Quadrupole>";
balise Parser::straightElementCl ="<\StraightElement>";
Parser::Parser(string file) {
// TODO Auto-generated constructor stub
}
Parser::extract(string file) {
//met le nom qu'on rajoute après le programme du fichier dans une string
string nameOfFile;
getline(cin, nameOfFile);
//on déclare une flot d'entrée, ainsi qu'une sortie
ifstream entry;
//TODO
ofstream exit;
//TODO est-ce qu'un xml est un binaire? auquel cas rajouter l'argument ios::in|ios::binary
//associe le flot d'entrée au fichier donné par l'utilisateur
entry.open(nameOfFile.c_str());
//test si l'association a bien pu se faire
if(not entry.fail()){
//met le premier mot du fichier dans une string temporaire
string tmp = readOneWord(entry);
//TODO encore plein de choses à faire
}else{
//si l'association du flot d'entrée avec le fichier n'a pas pu se faire, on lance une exception
throw; //TODO une erreur
}
}
//TODO use exceptions!
Parser::readOneChar(ifstream& file){};
Parser::readOneInt(ifstream& file){};
Parser::readOneDouble(ifstream& file){};
Parser::readOnePosition(ifstream& file){};
Parser::readOneBalise(ifstream& file){};
Parser::findNextBalise(ifstream& file){};
Parser::jumpComment(ifstream& file){};
Parser::readFile(ifstream& file){};
Parser::readOneWord(ifstream& file) {
string tmp;
file>>tmp;
return tmp;
}
Parser::readOneLine(ifstream& file){
string tmp;
getline(file, tmp);
return tmp;
}
|