Skip to content
Snippets Groups Projects
Select Git revision
  • 053407314dc791e14f6cdbf3ab812dae590f08af
  • master default protected
  • julia protected
  • 6.x protected
  • python-codegen
  • llvm-15
  • 5.x protected
  • 4.6 protected
  • uop
  • rework_pac
  • aux_vars_fix
  • julia-7.0.0
  • julia-6.4.0
  • julia-6.3.0
  • julia-6.2.0
15 results

DynamicModel.hh

Blame
  • csv_parser.cpp 1017 B
    #include "csv_parser.h"
    #include "parser_exception.h"
    #include "location.h"
    #include "csv_tab.hh"
    #include <cstring>
    
    using namespace ogp;
    
    /** A global symbol for passing info to the CSVParser from
     * csv_parse(). */
    CSVParser* csv_parser;
    
    /** The declaration of functions defined in csv_ll.cc and
     * csv_tab.cc generated from csv.lex and csv.y. */
    void* csv__scan_buffer(char*, unsigned int);
    void csv__destroy_buffer(void*);
    int csv_parse();
    
    extern ogp::location_type csv_lloc;
    
    void CSVParser::csv_error(const char* mes)
    {
    	throw ParserException(mes, csv_lloc.off);
    }
    
    void CSVParser::csv_parse(int length, const char* str)
    {
    	// allocate temporary buffer and parse
    	char* buffer = new char[length+2];
    	strncpy(buffer, str, length);
    	buffer[length] = '\0';
    	buffer[length+1] = '\0';
    	csv_lloc.off = 0;
    	csv_lloc.ll = 0;
    	parsed_string = buffer;
    	void* p = csv__scan_buffer(buffer, (unsigned int)length+2);
    	csv_parser = this;
    	::csv_parse();
    	delete [] buffer;
    	csv__destroy_buffer(p);
    	parsed_string = NULL;
    }