Skip to content

Commit

Permalink
gitorious
Browse files Browse the repository at this point in the history
  • Loading branch information
Ilya Dogolazky committed Aug 20, 2010
0 parents commit fd81055
Show file tree
Hide file tree
Showing 30 changed files with 2,891 additions and 0 deletions.
502 changes: 502 additions & 0 deletions COPYING

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions H/iodata
1 change: 1 addition & 0 deletions README
@@ -0,0 +1 @@
libiodata --- a library for reading and writing simple structured data
89 changes: 89 additions & 0 deletions debian/changelog
@@ -0,0 +1,89 @@
iodata (0.0.13) unstable; urgency=low

* copyrgiht files

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Thu, 19 Aug 2010 15:30:46 +0300

iodata (0.0.12) unstable; urgency=low

* Fixes: NB#186266 - timed linked to Qt GUI and X11 libraries

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Wed, 18 Aug 2010 15:22:39 +0300

iodata (0.0.11) unstable; urgency=low

* Fixed: NB#168911 - Timed updates time config and alarm queue files in unsafe manner
* Fixed: NB#177670 - iodata fails to build with cs2009q3 compiler

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Tue, 06 Jul 2010 13:03:10 +0300

iodata (0.0.10) unstable; urgency=low

* class storage, reading and writing files
* fixing __NAMES in header files (like 168897)
* using the new qmlog library to print log messages
* Fixed: NB#169281 - cute-timed overwrites queue file even if the contents do not change
* Fixed: NB#168911 - Timed updates time config and alarm queue files in unsafe manner

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Tue, 01 Jun 2010 13:53:50 +0300

iodata (0.0.9) unstable; urgency=low

* fixed bitmask sorting

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Fri, 16 Apr 2010 09:50:09 +0200

iodata (0.0.8) unstable; urgency=low

* empty type
* direct read/write files

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Tue, 23 Mar 2010 11:42:03 +0200

iodata (0.0.7) unstable; urgency=low

* minor improvement of array handling

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Mon, 08 Mar 2010 10:30:44 +0200

iodata (0.0.6) unstable; urgency=low

* Fixes: NB#154644 - timed fails to build under the Platform SDK (SB2)
* Thanks to Riku Voipio

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Sun, 14 Feb 2010 22:56:33 +0200

iodata (0.0.5) unstable; urgency=low

* exporting qmake configuration profile

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Sun, 14 Feb 2010 19:57:57 +0200

iodata (0.0.4) unstable; urgency=low

* started the new version after integration
* input/ouput/validation --- seem to work

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Tue, 26 Jan 2010 11:37:56 +0200

iodata (0.0.3) unstable; urgency=low

* need to increase version number

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Mon, 25 Jan 2010 18:04:04 +0200

iodata (0.0.2) unstable; urgency=low

* changed the version number, because 0.0.1 is already integrated
* added test case for cita and needed files
* root.pro doing SUBDIRS now
* renamed iodata.pro file

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Mon, 25 Jan 2010 14:47:40 +0200

iodata (0.0.1) unstable; urgency=low

* made a new package for this library
* fixed one warning

-- Ilya Dogolazky <ilya.dogolazky@nokia.com> Tue, 19 Jan 2010 18:22:14 +0200
1 change: 1 addition & 0 deletions debian/compat
@@ -0,0 +1 @@
5
39 changes: 39 additions & 0 deletions debian/control
@@ -0,0 +1,39 @@
Source: iodata
Section: misc
Priority: optional
Maintainer: Ilya Dogolazky <ilya.dogolazky@nokia.com>
Build-Depends: debhelper (>= 4.1.0),
libqmlog-dev,
libqt4-dev (>= 4.5)
Standards-Version: 3.7.2

Package: libiodata0
Architecture: any
Depends: ${shlibs:Depends}
Description: library for input/ouput data
This package provides a library for writing and reading structured data

Package: libiodata0-dbg
Architecture: any
Depends: libiodata0 (= ${binary:Version})
Description: debug symbols for libiodata0
This package contains debug information for libiodata0

Package: libiodata-dev
Architecture: any
Depends: libiodata0 (= ${binary:Version}), libqt4-dev (>= 4.5)
Description: development package for libiodata
Provides header files for iodata library

Package: iodata-tests
Architecture: any
Depends: ${shlibs:Depends}, ci-testing
XB-Maemo-CI-Packages: libiodata0
XB-Maemo-CI-Stage: fast, staging, acceptance, validation
Section: tests
Description: testcases for iodata library

Package: iodata-tests-dbg
Architecture: any
Depends: iodata-tests (= ${binary:Version})
Description: debug symbols for testcases
21 changes: 21 additions & 0 deletions debian/copyright
@@ -0,0 +1,21 @@
/*----------------------------------------------------------------------+
| |
| Copyright (C) 2010 Nokia Corporation. |
| |
| Author: Ilya Dogolazky <ilya.dogolazky@nokia.com> |
| |
| This file is part of Iodata |
| |
| Iodata is free software; you can redistribute it and/or modify |
| it under the terms of the GNU Lesser General Public License |
| version 2.1 as published by the Free Software Foundation. |
| |
| Iodata is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public |
| License along with Iodata. If not, see http://www.gnu.org/licenses/ |
| |
+----------------------------------------------------------------------*/
2 changes: 2 additions & 0 deletions debian/iodata-tests.install
@@ -0,0 +1,2 @@
usr/share/iodata-tests
usr/bin/iodata-test
4 changes: 4 additions & 0 deletions debian/libiodata-dev.install
@@ -0,0 +1,4 @@
usr/include/iodata
usr/lib/libiodata.so

usr/share/qt4/mkspecs/features/iodata.prf
1 change: 1 addition & 0 deletions debian/libiodata0.install
@@ -0,0 +1 @@
usr/lib/libiodata.so.*
69 changes: 69 additions & 0 deletions debian/rules
@@ -0,0 +1,69 @@
#!/usr/bin/make -f
# -*- makefile -*-

export DH_VERBOSE=1

configure: configure-stamp
configure-stamp:
dh_testdir
# nothing yet
touch configure-stamp

build: build-stamp
build-stamp: configure-stamp
dh_testdir
qmake && make
touch build-stamp

clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
( if [ -f Makefile ] ; then $(MAKE) clean ; fi )
rm -f Makefile
dh_clean

install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp install

binary: binary-indep binary-arch

binary-indep: build install

binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_install --sourcedir=$(CURDIR)/debian/tmp
dh_strip -v --package=libiodata0 --dbg-package=libiodata0-dbg
dh_strip -v --package=iodata-tests --dbg-package=iodata-tests-dbg
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_python
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb

.PHONY: build clean binary-indep binary-arch binary install configure
1 change: 1 addition & 0 deletions iodata.prf
@@ -0,0 +1 @@
LIBS += -liodata
6 changes: 6 additions & 0 deletions listing
@@ -0,0 +1,6 @@
#!/bin/sh -e

find src -name \*.c
find src -name \*.h
find src -name \*.cpp
echo debian/copyright
21 changes: 21 additions & 0 deletions prefix
@@ -0,0 +1,21 @@
/*----------------------------------------------------------------------+
| |
| Copyright (C) 2010 Nokia Corporation. |
| |
| Author: Ilya Dogolazky <ilya.dogolazky@nokia.com> |
| |
| This file is part of Iodata |
| |
| Iodata is free software; you can redistribute it and/or modify |
| it under the terms of the GNU Lesser General Public License |
| version 2.1 as published by the Free Software Foundation. |
| |
| Iodata is distributed in the hope that it will be useful, but |
| WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| See the GNU Lesser General Public License for more details. |
| |
| You should have received a copy of the GNU Lesser General Public |
| License along with Iodata. If not, see http://www.gnu.org/licenses/ |
| |
+----------------------------------------------------------------------*/
8 changes: 8 additions & 0 deletions root.pro
@@ -0,0 +1,8 @@
TEMPLATE = subdirs

SUBDIRS = src tests

prf.files = iodata.prf
prf.path = /usr/share/qt4/mkspecs/features

INSTALLS = prf
103 changes: 103 additions & 0 deletions src/datalang.l
@@ -0,0 +1,103 @@
%option reentrant
%option prefix="iodata_"
%option bison-bridge
%option bison-locations
%option noyywrap
%option nounput
%option yylineno

%{
#include <string>
#include <iostream>
using namespace std ;
#include "iodata.h"
#include "parser.hpp"

#define YY_EXTRA_TYPE iodata::parser*
#define YY_USER_ACTION yylloc->first_line=yylineno ;
#define YY_INPUT(buf,result,max_size) \
{ yyextra->input.read(buf,max_size) ; \
result = yyextra->input.gcount() ; \
}

#define STR(a,b) string(yytext+(a), yyleng-(a)-(b))
#define STRING(a,t,b) yylval->str = new STR(a,b) ; return t ;
#define INTEGER(a, base, sign, t) \
yylval->unsign = sign strtoll(STR(a,0).c_str(), NULL, base) ; \
return t ;
#define ERROR(msg) cout << "token TERROR, message: " << string(msg) << endl ; return TERROR ;
%}

%x C_COMMENT CXX_COMMENT STRING_LIT

ALPHA [a-zA-Z_]
DEC [0-9]
HEX [a-fA-F0-9]
OCT [0-7]
SINGLE [,=\][\}{\.+$|:]

IDENT {ALPHA}({ALPHA}|{DEC})*
HEXNUM 0[xX]{HEX}+
OCTNUM 0{OCT}+
DECNUM ([1-9]{DEC}*)|0

%%

[ \t] ;
{SINGLE} return *yytext ;
{IDENT} STRING(0,TIDENT,0) ;
"$"{IDENT} STRING(1,TDOLLAR,0) ;
{HEXNUM} INTEGER(2,16, +, TPOSITIVE) ;
{OCTNUM} INTEGER(0, 8, +, TPOSITIVE) ;
{DECNUM} INTEGER(0,10, +, TPOSITIVE) ;
"-"{HEXNUM} INTEGER(3,16, -, TSIGNED) ;
"-"{OCTNUM} INTEGER(1, 8, -, TSIGNED) ;
"-"{DECNUM} INTEGER(1,10, -, TSIGNED) ;

<INITIAL>"/*" BEGIN(C_COMMENT) ;
<INITIAL>"#"|"//" BEGIN(CXX_COMMENT) ;
<INITIAL>"\"" yylval->str = new string ; BEGIN(STRING_LIT) ;

<C_COMMENT>"*/" BEGIN(INITIAL) ;
<C_COMMENT>[^*\n]+ ; /* eat comment in chunks */
<C_COMMENT>"*" ; /* eat the lone star */

<CXX_COMMENT>\n ++yylineno ; BEGIN(INITIAL) ;
<CXX_COMMENT>[^\n]+ ; /* eat characters */
<INITIAL,C_COMMENT>\n ++yylineno ;

<STRING_LIT>\n ERROR("unterminated string literal") ;
<STRING_LIT>[^\n\"\\]+ *yylval->str += STR(0,0) ;
<STRING_LIT>"\\n" *yylval->str += (char)'\n' ;
<STRING_LIT>"\\t" *yylval->str += (char)'\t' ;
<STRING_LIT>"\\\\" *yylval->str += (char)'\\' ;
<STRING_LIT>"\\\"" *yylval->str += (char)'\"' ;
<STRING_LIT>"\\x{"{HEX}{HEX}"}" {
char x[2]={ (char)strtoll(STR(3,1).c_str(), NULL, 16), 0} ;
*yylval->str += x ;
}
<STRING_LIT>"\"" BEGIN(INITIAL) ; return TSTRING ;


. ERROR("invalid character") ;

%%

void iodata::parser::init_scanner()
{
yylex_init(&scanner) ;
yyset_extra(this, scanner) ;
}

void iodata::parser::destroy_scanner()
{
yylex_destroy(scanner) ;
}
void iodata_error(YYLTYPE* locp, iodata::parser* context, const char* err)
{
ostringstream os ;
os << "parser error at " << locp->first_line << ": " << err ;
// cerr << "throwing an iodata::exception(" << os.str() << ")" << endl ;
throw iodata::exception(os.str()) ;
}

0 comments on commit fd81055

Please sign in to comment.