Changeset 1478 for proto/parabix2/src


Ignore:
Timestamp:
Sep 23, 2011, 3:00:46 PM (8 years ago)
Author:
ksherdy
Message:

Deleted .cpp files.

Location:
proto/parabix2/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • proto/parabix2/src/ErrorTracker.h

    r1469 r1478  
    1515#endif
    1616
     17#include "ErrorUtil.h"
     18
    1719class ErrorTracker {
    1820public:
    19         ErrorTracker();
    20         void NoteError(const char * error_msg, BitBlock err_strm);
    21         int If_Error_Report_First(int error_line, int error_column);
     21
     22        ErrorTracker() {
     23                noted_pos_in_block = -1;
     24        }
     25
     26        void NoteError(const char * error_msg, BitBlock err_strm) {
     27                int pos_in_block = count_forward_zeroes(err_strm);
     28                if ((noted_pos_in_block == -1) || (noted_pos_in_block > pos_in_block)) {
     29                        noted_pos_in_block = pos_in_block;
     30                        noted_error = error_msg;
     31                }
     32        }
     33
     34        int If_Error_Report_First(int error_line, int error_column) {
     35                if (noted_pos_in_block > -1) {
     36                        int error_line, error_column;
     37                ReportError(noted_error, error_line, error_column);
     38                return -1; // FAIL
     39            }
     40                return 0; // SUCCESS
     41        }
     42
    2243        inline bool Has_Noted_Error() {return (noted_pos_in_block > -1);}
    23         inline int Noted_Pos_In_Block() {return noted_pos_in_block;}
    24         inline const char * Noted_Error_Msg() {return noted_error;}
     44        inline int Noted_Pos_In_Block() const {return noted_pos_in_block;}
     45        inline const char * Noted_Error_Msg() const {return noted_error;}
    2546
    2647private:
  • proto/parabix2/src/ErrorUtil.h

    r1445 r1478  
    88#define ERRORUTIL_H_
    99
    10 extern void ReportError(const char * error_msg, int error_line, int error_column);
     10#include <stdio.h>
     11
     12void ReportError(const char * error_msg, int error_line, int error_column) {
     13  fprintf(stderr, "%s at line %i, column %i\n", error_msg, error_line, error_column);
     14}
    1115
    1216#endif /* ERRORUTIL_H_ */
  • proto/parabix2/src/XMLTestSuiteError.h

    r1445 r1478  
    2323        };
    2424
    25         static const char * get_msg(int xml_error_code);
     25        static const char * get_msg(int xml_error_code) {
     26
     27                switch(xml_error_code) {
     28                        case NAME_START:
     29                                return "name start error";
     30                        case NAME:
     31                                return "name error";
     32                        case XMLPINAME:
     33                                return "[Xx][Mm][Ll] illegal as PI name";
     34                        case CDATA:
     35                                return "CDATA error";
     36                        case UNDEFREF:
     37                                return "Undefined reference";
     38                        case CHARREF:
     39                                return "Illegal character reference";
     40                        case XML10CHARREF:
     41                                return "Illegal XML 1.0 character reference";
     42                        case ATTREF:
     43                                return "Attribute values contain '<' characters after reference expansion";
     44                        default:
     45                                return "Invalid XML Error Code";
     46                }
     47        }
     48
    2649};
    2750
  • proto/parabix2/src/xml_error.h

    r1445 r1478  
    5252                vErr_not_declared,
    5353                vErr_UniqueNotationName};
    54 
    55 extern const char * XML_Constraint_Strings[];
    5654
    5755/* The following enum provides codes for XML nonterminals using
     
    146144                NT_Extender};
    147145
    148 extern const char * XML_NonTerminal_Names[];
    149 
    150 void ShowConstraintError(enum XML_Constraint errCode);
    151 
    152 void ShowSyntaxError(enum XML_NonTerminal errCode);
    153 
    154 void NoEncodingError(char * msg);
    155 
    156 void EncodingError(char * msg, unsigned char * encoding, int lgth);
    157 
    158 void CharSetValidationError(char * encoding, int err_pos);
    159 
    160 void XMLCharacterError(int err_pos);
    161 
    162 void IncompleteCodeUnitError();
    163 
    164 void DeclarationError(int pos);
    165 
    166 void ImplementationLimitError(char * msg);
    167 
    168 void ContentModelError();
     146const char * XML_Constraint_Strings[] = {
     147                "wfc-PEinInternalSubset",
     148                "ExtSubset",
     149                "PE-between-Decls",
     150                "GIMatch",
     151                "uniqattspec",
     152                "NoExternalRefs",
     153                "CleanAttrVals",
     154                "wf-Legalchar",
     155                "wf-entdeclared",
     156                "textent",
     157                "norecursion",
     158                "indtd",
     159                "vc-roottype",
     160                "vc-PEinMarkupDecl",
     161                "vc-check-rmd",
     162                "elementvalid",
     163                "ValueType",
     164                "EDUnique",
     165                "vc-PEinGroup",
     166                "vc-MixedChildrenUnique",
     167                "id",
     168                "one-id-per-el",
     169                "id-default",
     170                "idref",
     171                "entname",
     172                "nmtok",
     173                "notatn",
     174                "OneNotationPer",
     175                "NoNotationEmpty",
     176                "NoDuplicateTokens",
     177                "enum",
     178                "RequiredAttr",
     179                "defattrvalid",
     180                "FixedAttr",
     181                "condsec-nesting",
     182                "vc-entdeclared",
     183                "not-declared",
     184                "UniqueNotationName"};
     185
     186const char * XML_NonTerminal_Names[] = {
     187                "document  [1]",
     188                "Char  [2]",
     189                "S  [3]",
     190                "NameChar  [4]",
     191                "Name  [5]",
     192                "Names  [6]",
     193                "Nmtoken  [7]",
     194                "Nmtokens  [8]",
     195                "EntityValue  [9]",
     196                "AttValue  [10]",
     197                "SystemLiteral  [11]",
     198                "PubidLiteral  [12]",
     199                "PubidChar  [13]",
     200                "CharData  [14]",
     201                "Comment  [15]",
     202                "PI  [16]",
     203                "PITarget  [17]",
     204                "CDSect  [18]",
     205                "CDStart  [19]",
     206                "CData  [20]",
     207                "CDEnd  [21]",
     208                "prolog  [22]",
     209                "XMLDecl  [23]",
     210                "VersionInfo  [24]",
     211                "Eq  [25]",
     212                "VersionNum  [26]",
     213                "Misc  [27]",
     214                "doctypedecl  [28]",
     215                "DeclSep  [28a]",
     216                "intSubset  [28b]",
     217                "markupdecl  [29]",
     218                "extSubset  [30]",
     219                "extSubsetDecl  [31]",
     220                "SDDecl  [32]",
     221                "element  [39]",
     222                "STag  [40]",
     223                "Attribute  [41]",
     224                "ETag  [42]",
     225                "content  [43]",
     226                "EmptyElemTag  [44]",
     227                "elementdecl  [45]",
     228                "contentspec  [46]",
     229                "children  [47]",
     230                "cp  [48]",
     231                "choice  [49]",
     232                "seq  [50]",
     233                "Mixed  [51]",
     234                "AttlistDecl  [52]",
     235                "AttDef  [53]",
     236                "AttType  [54]",
     237                "StringType  [55]",
     238                "TokenizedType  [56]",
     239                "EnumeratedType  [57]",
     240                "NotationType  [58]",
     241                "Enumeration  [59]",
     242                "DefaultDecl  [60]",
     243                "conditionalSect  [61]",
     244                "includeSect  [62]",
     245                "ignoreSect  [63]",
     246                "ignoreSectContents  [64]",
     247                "Ignore  [65]",
     248                "CharRef  [66]",
     249                "Reference  [67]",
     250                "EntityRef  [68]",
     251                "PEReference  [69]",
     252                "EntityDecl  [70]",
     253                "GEDecl  [71]",
     254                "PEDecl  [72]",
     255                "EntityDef  [73]",
     256                "PEDef  [74]",
     257                "ExternalID  [75]",
     258                "NDataDecl  [76]",
     259                "TextDecl  [77]",
     260                "extParsedEnt  [78]",
     261                "EncodingDecl  [80]",
     262                "EncName  [81]",
     263                "NotationDecl  [82]",
     264                "PublicID  [83]",
     265                "Letter  [84]",
     266                "BaseChar  [85]",
     267                "Ideographic  [86]",
     268                "CombiningChar  [87]",
     269                "Digit  [88]",
     270                "Extender  [89]"};
     271
     272
     273void ShowConstraintError(enum XML_Constraint errCode) {
     274        if (errCode < vErr_vc_roottype) {
     275                fprintf(stderr, "Violation of well-formedness constraint: %s\n", XML_Constraint_Strings[errCode]);
     276                exit(-1);
     277        }
     278        else {
     279                fprintf(stderr, "Violation of validity constraint: %s\n", XML_Constraint_Strings[errCode]);
     280                exit(-1);
     281        }
     282}
     283
     284void ShowSyntaxError(enum XML_NonTerminal errCode) {
     285        fprintf(stderr, "Syntax error in production: %s\n", XML_NonTerminal_Names[errCode]);
     286}
     287
     288
     289void NoEncodingError(char * msg) {
     290        fprintf(stderr, "Error : %s\n", msg);
     291        exit(-1);
     292}
     293
     294void EncodingError(char * msg, unsigned char * encoding, int lgth) {
     295        fprintf(stderr, "Error : Illegal/unsupported %s encoding of length %i: \"", msg, lgth);
     296        for (int i = 0; i < lgth; i++) fprintf(stderr, "%c", encoding[i]);
     297        fprintf(stderr, "\"\n");
     298        exit(-1);
     299}
     300
     301void CharSetValidationError(char * encoding, int err_pos) {
     302        fprintf(stderr, "Error: Invalid %s character in input stream at position %i\n", encoding, err_pos);
     303        exit(-1);
     304}
     305
     306void XMLCharacterError(int err_pos) {
     307        fprintf(stderr, "Illegal control character in XML input stream at position %i\n", err_pos);
     308        exit(-1);
     309}
     310
     311void IncompleteCodeUnitError() {
     312        fprintf(stderr, "Error: Incomplete code unit at end of file.\n");
     313        exit(-1);
     314}
     315
     316void DeclarationError(int pos) {
     317        fprintf(stderr, "Parsing error at position %i in XML or Text declaration.\n", pos);
     318        exit(-1);
     319}
     320
     321void ImplementationLimitError(char * msg) {
     322        fprintf(stderr, "Fatal implementation limit - %s\n", msg);
     323        exit(-1);
     324}
     325
     326void ContentModelError() {
     327        fprintf(stderr, "Error: nondeterminism in content model.\n");
     328        exit(-1);
     329}
     330
    169331#endif
  • proto/parabix2/src/xmldecl.c

    r527 r1478  
    1111#include <sys/types.h>
    1212
    13 #include "xmldecl.h"
    1413#include "xml_error.h"
    1514#include "multiliteral.h"
Note: See TracChangeset for help on using the changeset viewer.