--- openuniverse-1.0beta3.1+dfsg.orig/AUTHORS +++ openuniverse-1.0beta3.1+dfsg/AUTHORS @@ -1 +1 @@ - +Raúl Alonso --- openuniverse-1.0beta3.1+dfsg.orig/config.h.in +++ openuniverse-1.0beta3.1+dfsg/config.h.in @@ -1,14 +1,4 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if the X Window System is missing or not being used. */ -#undef X_DISPLAY_MISSING - -/* Define if lex declares yytext as a char * by default, not a char[]. */ -#undef YYTEXT_POINTER - +/* config.h.in. Generated from configure.in by autoheader. */ #undef JOYSTICK_IS_PRESENT #undef LINUX_JOYSTICK_IS_PRESENT #undef TEXTURE_DIR @@ -19,34 +9,85 @@ #undef SHOTS_DIR #undef EVENTS_DIR #undef WIN32 + +/* Define to 1 if you have the header file. */ +#undef HAVE_GL_GLUT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_GL_GL_H -/* Define if you have the header file. */ -#undef HAVE_GL_GLUT_H +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H -/* Define if you have the GL library (-lGL). */ +/* Define to 1 if you have the `GL' library (-lGL). */ #undef HAVE_LIBGL -/* Define if you have the GLU library (-lGLU). */ +/* Define to 1 if you have the `GLU' library (-lGLU). */ #undef HAVE_LIBGLU -/* Define if you have the MesaGL library (-lMesaGL). */ +/* Define to 1 if you have the `glut' library (-lglut). */ +#undef HAVE_LIBGLUT + +/* Define to 1 if you have the `jpeg' library (-ljpeg). */ +#undef HAVE_LIBJPEG + +/* Define to 1 if you have the `MesaGL' library (-lMesaGL). */ #undef HAVE_LIBMESAGL -/* Define if you have the MesaGLU library (-lMesaGLU). */ +/* Define to 1 if you have the `MesaGLU' library (-lMesaGLU). */ #undef HAVE_LIBMESAGLU -/* Define if you have the glut library (-lglut). */ -#undef HAVE_LIBGLUT +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H -/* Define if you have the jpeg library (-ljpeg). */ -#undef HAVE_LIBJPEG +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + /* Version number of package */ #undef VERSION +/* Define to 1 if the X Window System is missing or not being used. */ +#undef X_DISPLAY_MISSING + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#undef YYTEXT_POINTER --- openuniverse-1.0beta3.1+dfsg.orig/configure.in +++ openuniverse-1.0beta3.1+dfsg/configure.in @@ -42,10 +42,10 @@ OUFLAGS="$OUFLAGS -I$withval") - +OU_EXTRA_CFLAGS="$OU_EXTRA_CFLAGS -DGL_GLEXT_PROTOTYPES" CFLAGS="$CFLAGS $OUFLAGS $OU_EXTRA_CFLAGS" CXXFLAGS="$CXXFLAGS $OUFLAGS $OU_EXTRA_CFLAGS" -LIBS="$LIBS $OULIBS $GLUI_LIB" +LIBS="$LIBS $OULIBS $GLUI_LIB -lm" dnl Check for X11. AC_PATH_XTRA --- openuniverse-1.0beta3.1+dfsg.orig/configure +++ openuniverse-1.0beta3.1+dfsg/configure @@ -1601,7 +1601,7 @@ CFLAGS="$CFLAGS $OUFLAGS $OU_EXTRA_CFLAGS" CXXFLAGS="$CXXFLAGS $OUFLAGS $OU_EXTRA_CFLAGS" -LIBS="$LIBS $OULIBS $GLUI_LIB" +LIBS="$LIBS $OULIBS $GLUI_LIB -lm" # If we find X, set shell vars x_includes and x_libraries to the # paths, otherwise set no_x=yes. --- openuniverse-1.0beta3.1+dfsg.orig/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -79,7 +79,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -93,7 +93,7 @@ $(ACLOCAL_M4): configure.in cd $(srcdir) && $(ACLOCAL) -config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +config.status: $(srcdir)/configure.in $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) @@ -256,7 +256,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ --- openuniverse-1.0beta3.1+dfsg.orig/aclocal.m4 +++ openuniverse-1.0beta3.1+dfsg/aclocal.m4 @@ -1,4 +1,4 @@ -dnl aclocal.m4 generated automatically by aclocal 1.4 +dnl aclocal.m4 generated automatically by aclocal 1.4-p4 dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation --- openuniverse-1.0beta3.1+dfsg.orig/data/kstars_to_openuniverse.pl +++ openuniverse-1.0beta3.1+dfsg/data/kstars_to_openuniverse.pl @@ -0,0 +1,55 @@ +#!/usr/bin/perl +# Read data generated by Spacechart's gen_spacechart program and +# output in OU's format +# +# Output format is: +# name,right ascention (radians),declination (radians),magnitude,spectral type +# +# Input format is: +# RA DEC pmRA pmDEC plx mag BV SpT b? dV vper Name : genetive name +# Sample: +# 064509.25 -164247.3 -000546.0-001223.100379.2 -1.4400.01A0 1 Sirius : alp CMa + +use Getopt::Std; + +$PI = 3.14159265357989; + +while () { + if ( /^(\d{2})(\d{2})(\d{2}\.\d{2}) (.\d{2})([\d\.]+) [\-+\.\d]+ (.\d\.\d{2}).....(\w\d)..[\s\d\.]+(.*?):(.*)$/ ) { + $ra_hours = $1; + $ra_minutes = $2; + $ra_seconds = $3; + $dec_degreess = $4; + $dec_minutes = $5; + $mag = $6; + $type = $7; + $short_name = $8; + $short_name =~ s/ //g; + $short_name =~ s/ $//g; + $long_name = $9; + $long_name =~ s/^\s+//g; + $ra = convertdeg_radians(convertra_deg($ra_hours,$ra_minutes,$ra_seconds)); + $dec = convertdeg_radians(convertdec_deg($dec_degrees,$dec_minutes)); + $short_name=$long_name if $short_name eq "" ; + printf ("%s,%.6f,%.6f,%.2f,%s\n",$short_name,$ra,$dec,$mag,$type); # if $ra != 0 && $dec != 0 && $short_name =~ /\w/; + } +} + +exit 0; + + +sub convertdeg_radians { + my ($degrees) = @_; + return $degrees*$PI/180; +} + +sub convertra_deg { + my ($hour,$min,$sec) = @_ ; + return 0 if $hour < 0 or $hour > 24 or $min < 0 or $min > 60 or $sec < 0 or $sec > 60; + return 15*($hour+$min/60+$sec/3600); +} + +sub convertdec_deg { + my ($degrees,$minutes) = @_ ; + return $degrees+$minutes/60; +} --- openuniverse-1.0beta3.1+dfsg.orig/data/from_openuniverse.pl +++ openuniverse-1.0beta3.1+dfsg/data/from_openuniverse.pl @@ -0,0 +1,87 @@ +#!/usr/bin/perl +# + +use Getopt::Std; +use FileHandle; + +$PI = 3.14159265357989; + +# Input format is +# name,right ascention (radians),declination (radians),magnitude,spectral type + +# Output format is +$^L=""; +format stardata_top = +Star Data +------------------------------- +. +format stardata = +@<<<<<<<<< @<<<<<<<<< @<<<<<<<< @<<<<<< @<<<< +$name, $ra,$dec,$mag,$type +. + +while () { + format_name STDOUT "stardata"; + format_top_name STDOUT "stardata_top"; + if ( /^(.*?),([\-\d\.]+),([\-\d\.]+),([\-\d\.]+),(.*)$/ ) { + $name = $1; + $ra = $2; + $ra = convertdeg_time(convertradians_deg($2)); + $dec = convertdeg_str(convertradians_deg($3)); + $mag =$4; + $type = $5; + write; +# print $name."\t"; +# print convertdeg_time(convertradians_deg($ra))."\t"; +# print convertdeg_time(convertradians_deg($dec))."\t"; +# print $mag."\t"; +# print $type."\t"; + } +} + +exit 0; + +sub convertdeg_str { + my ($degrees) = @_; + my $sign = $degrees / abs ($degrees); + my $deg = sprintf("%i",$degrees); + my $string =""; + $degrees = $degrees * $sign; + $degrees = ($degrees - $sign * $deg)*60; + my $min = sprintf("%.2f",$degrees); +# $degrees = ($degrees - $min) * 60; +# my $secs = sprintf("%.2f",$degrees); + $string = "+" if ( $deg > 0 ) ; + $string = $string.$deg." ".$min; + return $string; +} +sub convertradians_deg { + my ($radians) = @_; + return $radians*180/$PI; +} + +sub convertdeg_time { + my ($degrees) = @_; + my $time = 3600 * ($degrees / 15); + my $hour = 0; + my $min = 0; + my $secs = 0; + $hour = sprintf("%i",$time/3600); + $time = $time - $hour * 3600; + $min = sprintf("%i",$time/60); + $time = $time - $min * 60; + $secs = sprintf("%.2f",$time); + $localtime = $hour.":".$min.":".$secs; + return $localtime; +} + +sub convertdeg_radians { + my ($degrees) = @_; + return $degrees*$PI/180; +} + +sub converttime_deg { + my ($hour,$min,$sec) = @_ ; + return 0 if $hour < 0 or $hour > 24 or $min < 0 or $min > 60 or $sec < 0 or $sec > 60; + return 15*($hour+$min/60+$sec/3600); +} --- openuniverse-1.0beta3.1+dfsg.orig/data/stars.dat +++ openuniverse-1.0beta3.1+dfsg/data/stars.dat @@ -0,0 +1,1487 @@ +# +# Star data catalogue for OpenUniverse generated from the Hipparcos +# star data catalogue as provided by the Kstars package +# (with the 'kstars_to_openuniverse.pl' script). +# This catalogue was generated june 11th, 2004 by +# Javier Fernandez-Sanguino +# +# -------------------------------------------------------------------------- +# +# Data file format: +# +# name,right ascention (radians),declination (radians),magnitude,spectral type +# +# -------------------------------------------------------------------------- +# +# Sorted in ascending order of magnitude, so we can use a hack to improve +# performace a bit. Please, keep it sorted. +# +# -------------------------------------------------------------------------- +# +Sirius,1.767819,1.235489,-1.44,A0 +Canopus,1.675304,1.205615,-0.62,F0 +Arcturus,3.733576,0.324108,-0.05,K2 +Rigel Kentaurus,3.838335,1.456332,-0.01,G2 +Vega,4.873555,1.355190,0.03,A0 +Capella,1.381814,1.732676,0.08,M1 +Rigel,1.372430,0.350782,0.18,B8 +Procyon,2.004114,0.389499,0.40,F5 +Achernar,0.426351,0.410734,0.45,B3 +Betelgeuse,1.549728,0.705491,0.45,M2 +Hadar,3.681877,0.646557,0.61,B1 +Altair,5.195749,1.513375,0.76,A7 +Acrux,3.257653,0.161908,0.77,B0 +Aldebaran,1.203928,0.882875,0.87,K5 +Spica,3.513319,0.273580,0.98,B1 +Antares,4.317106,0.743219,1.06,M1 +Pollux,2.030353,0.039183,1.16,K0 +Fomalhaut,6.011120,1.081697,1.17,A3 +Mimosa,3.349819,1.198285,1.25,B0 +Deneb,5.416768,0.479733,1.25,A2 +alp2Cen,3.838226,1.460870,1.35,K1 +Regulus,2.654534,1.687704,1.36,B7 +Adhara,1.826600,1.692824,1.50,B2 +Castor,1.983567,1.547263,1.58,A2 +Gacrux,3.277578,0.187681,1.59,M4 +Shaula,4.597236,0.178460,1.62,B1 +Bellatrix,1.418652,0.598939,1.64,B2 +Alnath,1.423716,1.055430,1.65,B7 +Miaplacidus,2.413808,1.251663,1.67,A2 +Alnilam,1.467008,0.351073,1.69,B0 +Al Na'ir,5.795502,1.669175,1.73,B7 +zet Ori,1.486840,1.638661,1.74,O9 +Alioth,3.377331,1.668360,1.76,A0 +Mirfak,0.891525,1.495311,1.79,F5 +Kaus Australis,4.817861,0.670061,1.79,B9 +Dubhe,2.896071,1.310160,1.81,F7 +Wezen,1.869211,0.679369,1.83,F8 +Alkaid,3.610835,0.537532,1.85,B3 +Sargas,4.613424,1.731425,1.86,F1 +Avior,2.192632,0.882642,1.86,K3 +Menkalinan,1.568743,1.643751,1.90,A2 +alp TrA,4.401129,0.040579,1.91,K2 +Alhena,1.735345,0.685885,1.93,A0 +del Vel,2.289450,1.230690,1.93,A1 +Peacock,5.347896,1.281537,1.94,B2 +Polaris,0.662286,0.451139,1.97,F7 +Mirzam,1.669843,1.664259,1.98,B1 +Alphard,2.476568,1.143569,1.99,K3 +Hamal,0.554890,0.798779,2.01,K2 +Al Gieba,2.705127,1.463371,2.01,K0 +Diphda,0.190185,1.719760,2.04,K0 +Nunki,4.953529,0.508385,2.05,B2 +Menkent,3.694376,0.642078,2.06,K0 +Alpheratz,0.036592,0.153298,2.07,B9 +Saiph,1.517374,1.166636,2.07,B0 +Mirach,0.304255,1.080650,2.07,M0 +Kocab,3.886441,0.267530,2.07,K4 +bet Gru,5.945750,1.542987,2.07,M5 +Rasalhague,4.603015,0.971014,2.08,A5 +Algol,0.821041,1.663968,2.09,B8 +Almach,0.540610,0.566505,2.10,B8 +Denebola,3.093878,0.994954,2.14,A3 +Tsih,0.247437,1.250907,2.15,B0 +gam Cen,3.322758,1.668418,2.20,A1 +Naos,2.110035,0.003345,2.21,O5 +Aspidiske,2.430766,0.474410,2.21,A8 +Alphecca,4.078339,1.237351,2.22,A0 +Mizar,3.507779,1.609048,2.23,A2 +Sadr,5.332977,0.443343,2.23,F8 +Suhail,2.391085,0.743918,2.23,K4 +Schedar,0.176743,0.935118,2.24,K0 +Eltanin,4.697581,0.849452,2.24,K5 +Mintaka,1.448652,0.511003,2.25,O9 +Caph,0.040004,0.262032,2.28,F2 +eps Cen,3.577436,0.802531,2.29,B1 +Dschubba,4.190245,1.081464,2.29,B0 +eps Sco,4.407701,0.504226,2.29,K2 +Men,3.848143,0.674075,2.30,B1 +eta Cen,3.820122,0.269915,2.33,B1 +Merak,2.887821,0.656360,2.34,A1 +Pulcherrima,3.861486,0.124209,2.35,A0 +Enif,5.690583,1.521345,2.38,K2 +kap Sco,4.635978,0.042964,2.39,B1 +Ankaa,0.114673,0.528951,2.40,K0 +Phecda,3.114667,1.204568,2.41,A0 +eta Oph,4.495871,1.259691,2.43,A2 +Scheat,6.037845,0.132878,2.44,M2 +Aludra,1.937731,0.526857,2.45,B5 +Alderamin,5.578842,1.020319,2.45,A7 +Markab,2.452684,0.011199,2.47,B2 +Gienah,5.437605,1.690060,2.48,K0 +Markab,6.042157,0.354680,2.49,B9 +zet Oph,4.350926,0.989514,2.54,O9 +Menkab,0.795345,0.152338,2.54,M2 +zet Cen,3.645733,0.499688,2.55,B2 +Zozma,2.941346,0.909462,2.56,A4 +Graffias,4.212514,1.401907,2.56,B0 +Arneb,1.451809,1.431257,2.58,F0 +del Cen,3.178066,1.256841,2.58,B2 +Gienah,3.210567,0.939889,2.58,B8 +zet Sgr,4.985585,1.526698,2.60,A3 +Zuben el Chamali,4.001201,0.656913,2.61,B8 +Unukalhai,4.120141,0.736500,2.63,K2 +Sheratan,0.500208,1.404961,2.64,A5 +Phakt,1.481998,0.124093,2.65,B7 +the Aur,1.569578,0.362447,2.65,A0 +Kraz,3.291635,0.682947,2.65,G5 +Ruchbah,0.374417,0.409425,2.66,A5 +Muphrid,3.642002,0.685013,2.68,G0 +bet Lup,3.920588,0.233263,2.68,B2 +mu Vel,2.822061,0.730857,2.69,G5 +alp Mus,3.303841,0.235009,2.69,B2 +Kabdhilinan,1.295879,0.278700,2.69,K3 +Lesath,4.584823,0.507513,2.70,B2 +pi Pup,1.907395,0.160279,2.71,K3 +Kaus Media,4.803991,1.437250,2.72,K3 +Tarazed,5.176034,1.061102,2.72,K3 +eta Dra,4.293474,0.887413,2.73,G8 +Yed Prior,4.251387,1.203783,2.73,M1 +the Car,2.805430,0.680707,2.74,B0 +gam Vir,3.323398,0.773268,2.74,F0 +Na'ir al Saif,1.463603,1.581152,2.75,O9 +iot Cen,3.493282,1.234384,2.75,A2 +Zuben El Genubi,3.887196,0.066846,2.75,A3 +Kelb al Rai,4.640276,0.989282,2.76,K2 +Cursa,1.343251,0.148498,2.78,A3 +Kornephoros,4.320654,0.850179,2.78,G8 +alp2Her,4.514502,0.676286,2.78,M5 +del Cru,3.207680,1.296198,2.79,B2 +Rastaban,4.583379,0.525024,2.79,G2 +gam Lup,4.080322,0.290917,2.80,B2 +Nihal,1.432241,1.318654,2.81,G5 +Ras Algethi,4.368958,1.049176,2.81,F9 +bet Hyi,0.111934,0.441597,2.82,G2 +tau Sco,4.345358,0.365792,2.82,B0 +Kaus Borealis,4.834436,0.732020,2.82,K1 +Algenib,0.057752,0.320268,2.83,B2 +rho Pup,2.127316,0.528253,2.83,F2 +bet TrA,4.167614,0.740921,2.83,F2 +Atik,1.021594,1.542057,2.84,B1 +Tchou,4.589527,1.522363,2.84,B2 +bet Ara,4.560982,0.915542,2.84,K3 +Alcyone,0.992588,0.180031,2.85,B7 +Vindemiatrix,3.412901,1.667604,2.85,G8 +Deneb Algiedi,5.703030,0.213977,2.85,A5 +alp Hyi,0.518208,0.992423,2.86,F0 +del Cyg,5.170424,0.218312,2.86,B9 +gam TrA,4.009508,1.176963,2.87,A1 +Tejat,1.670977,0.887180,2.87,M3 +alp Tuc,5.840321,0.446281,2.87,K3 +Acamar,0.777815,0.528544,2.88,A4 +pi Sgr,5.016791,0.036274,2.88,F2 +Gomeisa,1.951065,0.500880,2.89,B8 +Cor Caroli,3.386073,0.554346,2.89,A0 +pi Sco,4.183781,0.189252,2.89,B1 +eps Per,1.037832,0.010763,2.90,B0 +Al Niyat,4.281243,1.027970,2.90,B1 +Sadalsud,5.635488,0.993732,2.90,G0 +gam Per,0.806327,0.879413,2.91,G8 +ups Car,2.561717,0.121969,2.92,A9 +Matar,5.947219,0.383013,2.93,G2 +Algorab,3.271909,0.888460,2.94,B9 +tau Pup,1.788682,1.062266,2.94,K0 +Sadalmelik,5.784823,0.556004,2.95,G2 +zet Tau,1.473253,0.242397,2.97,B4 +eps Leo,2.556260,1.346056,2.97,G0 +Zaurak,1.038597,0.881304,2.97,M1 +Al Nasl,4.737734,0.734522,2.98,K0 +gam Hya,3.485950,0.295862,2.99,G8 +iot1Sco,4.658217,0.214414,2.99,F3 +zet Aql,4.997795,1.497900,2.99,A0 +bet Tri,0.565234,1.720487,3.00,A5 +Pherkab,4.017439,1.455110,3.00,A3 +mu 1Sco,4.415119,0.072838,3.00,B1 +Al Dhanab,5.733090,0.626399,3.00,B8 +psi UMa,2.921962,0.859516,3.00,K1 +del Per,0.972692,1.371712,3.01,B5 +Furud,1.659429,0.101287,3.02,B2 +omi2CMa,1.845793,1.442776,3.02,B3 +Minkar,3.185773,1.079573,3.02,K2 +Maaz,1.317588,1.432304,3.03,F0 +bet Mus,3.343532,0.182998,3.04,B2 +Seginus,3.805164,0.531860,3.04,A7 +Dabih,5.327665,1.353503,3.05,A5 +Albireo,5.108236,1.668215,3.05,K3 +Mebsuta,1.762487,0.218806,3.06,A3 +Tania Australis,2.715427,0.860447,3.06,M0 +Altais,5.028959,1.146303,3.07,G9 +eta Sgr,4.789309,1.320807,3.10,M2 +zet Hya,2.336100,1.641744,3.11,G8 +lam Cen,3.035922,0.032405,3.11,B9 +nu Hya,2.834519,0.331293,3.11,K0 +Al Nair,5.399903,0.503237,3.11,K0 +Talitha Borealis,2.352765,0.067632,3.12,A7 +Sarin,4.516179,1.460986,3.12,A3 +Wazn,1.531348,1.340849,3.12,K1 +zet Ara,4.444570,1.723280,3.12,K5 +kap Cen,3.923333,0.178867,3.13,B2 +alp Lyn,2.448076,0.678671,3.14,M0 +pi Her,4.516247,1.405863,3.16,K3 +nu Pup,1.735560,0.333154,3.17,B8 +the UMa,2.499626,1.176061,3.17,F6 +Kaou Pih,4.488931,1.237060,3.17,B6 +phi Sgr,4.911600,1.724036,3.17,B8 +eta Aur,1.337422,0.408611,3.18,B3 +alp Cir,3.850683,1.695442,3.18,F1 +pi 3Ori,1.264647,1.669844,3.19,F6 +eps Lep,1.332824,0.644346,3.19,K4 +kap Oph,4.440428,0.648739,3.19,K2 +zet Cyg,5.554233,0.389063,3.21,G8 +Er Rai,6.193081,1.092314,3.21,K1 +del Lup,4.020245,1.120181,3.22,B1 +Yed Posterior,4.268729,1.202357,3.23,G8 +eta Ser,4.805395,1.556136,3.23,K0 +Alphirk,5.622839,0.971130,3.23,B2 +alp Pic,1.781075,1.638021,3.24,A7 +the Aql,5.285312,1.430385,3.24,B9 +Sulaphat,4.969579,1.199158,3.25,B9 +sig Pup,1.960141,0.525577,3.25,K5 +pi Hya,3.692991,1.179639,3.25,K2 +sig Lib,3.944754,0.481333,3.25,M3 +gam Hyi,0.991509,0.413439,3.26,M2 +the Oph,4.546625,1.733170,3.27,B2 +Skat,5.998045,1.429628,3.27,A3 +del And,0.171595,1.495282,3.27,K3 +mu Lep,1.365420,0.354738,3.29,B9 +ome Car,2.677937,0.062977,3.29,B8 +Edasich,4.035767,1.674847,3.29,K2 +alp Dor,1.195530,0.070395,3.30,A0 +gam Ara,4.561393,0.651502,3.31,B1 +eta Gem,1.635715,0.879820,3.31,M3 +bet Phe,0.288351,1.252739,3.32,G8 +Megrez,3.208893,0.045786,3.32,A3 +eta Sco,4.503617,0.412654,3.32,F3 +nu Oph,4.708142,1.345096,3.32,K0 +rho Per,0.807978,1.461975,3.32,M3 +tau Sgr,5.004473,1.166840,3.32,K1 +alp Ret,1.110133,0.822137,3.33,G7 +Chertan,2.941930,0.740921,3.33,A2 +Asmidiske,2.047683,1.493769,3.34,G6 +Navi,0.499141,1.167189,3.35,B2 +eta Ori,1.415798,0.683500,3.35,B1 +xi Gem,1.768413,1.555030,3.35,F5 +Muscida,2.226461,1.252681,3.35,G4 +del Aql,5.085435,0.189805,3.36,F0 +eps Lup,4.025958,1.199187,3.37,B2 +eps Hya,2.298500,0.729577,3.38,G0 +Heze,3.554781,1.031315,3.38,A3 +Auva,3.384228,0.683995,3.39,M3 +zet Cep,5.806947,0.350375,3.39,K1 +the2Tau,1.172255,1.517098,3.40,A7 +lam Tau,1.050166,0.850964,3.41,B3 +nu Cen,3.619398,1.197180,3.41,B2 +zet Lup,3.980602,0.161937,3.41,G8 +eta Cep,5.433593,1.458077,3.41,K0 +Homan,5.940495,1.440769,3.41,B8 +gam Phe,0.385568,0.553793,3.41,K5 +Mothallah,0.493412,1.002343,3.42,F6 +eta Lup,4.189324,0.682976,3.42,B2 +mu Her,4.653318,1.256928,3.42,G5 +bet Pav,5.432160,0.352469,3.42,A5 +Adhafera,2.690818,0.727919,3.43,F0 +Al Thalimain,5.001456,1.529025,3.43,B9 +Tania Borealis,2.692602,1.585952,3.45,A2 +eta Cas,0.214174,1.413600,3.46,G0 +chi Car,2.080341,1.703616,3.46,B3 +del Boo,3.994630,0.539423,3.46,G8 +eta Cet,0.299270,0.306858,3.46,K2 +gam Cet,0.712539,0.410211,3.47,A3 +mu Cen,3.619886,0.821846,3.47,B2 +eta Leo,2.649988,1.322261,3.48,A0 +eta Her,4.375958,1.605965,3.48,G8 +tau Cet,0.454159,1.635490,3.49,G8 +Nekkar,3.935484,0.676693,3.49,G8 +alp Tel,4.830085,1.688897,3.49,B3 +eps Gru,5.971440,0.552717,3.49,A3 +sig CMa,1.840097,1.630545,3.49,K4 +Alula Borealis,2.960425,0.156876,3.49,K3 +kap CMa,1.788269,0.881566,3.50,B1 +Wasat,1.920400,1.703558,3.50,F0 +iot Cep,5.976364,0.349822,3.50,K0 +Sadalbari,5.977760,1.048972,3.51,M2 +gam Sge,5.230562,0.852739,3.51,K5 +Rana,0.974109,1.324909,3.52,K0 +omi Leo,2.535754,1.551190,3.52,A5 +Tseen Ke,2.604304,0.990213,3.52,B5 +Sheliak,4.930903,0.624130,3.52,A8 +Baham,5.804079,0.335103,3.52,A2 +xi 2Sgr,4.964282,0.181456,3.52,G8 +Ain,1.172056,0.305404,3.53,K0 +Tarf,2.166459,0.322420,3.53,K4 +xi Hya,3.023802,1.491413,3.54,G8 +mu Ser,4.143504,0.741329,3.54,A0 +xi Ser,4.614595,0.684838,3.54,F0 +ups4Eri,1.125273,1.382883,3.55,B9 +zet Lep,1.513880,1.430879,3.55,A2 +iot Lup,3.749857,0.095731,3.55,B2 +chi Dra,4.804189,1.280286,3.55,F7 +del Pav,5.273938,0.304153,3.55,G5 +phi Eri,0.595630,0.885347,3.56,B8 +mu 2Sco,4.417148,0.029932,3.56,B2 +Schemali,0.084771,1.432857,3.56,K2 +del Crt,2.964189,1.351059,3.56,K0 +kap Gem,2.026536,0.684547,3.57,G8 +Talitha Australis,2.372016,0.268781,3.57,A1 +rho Boo,3.804080,0.644637,3.57,K3 +phi1Lup,4.022143,0.448026,3.57,K5 +lam Gem,1.911544,0.938318,3.58,A3 +Al Giedi,5.314762,0.942914,3.58,G6 +tau Ori,1.385821,1.466018,3.59,B5 +gam Lep,1.503017,0.771145,3.59,F7 +Zawijah,3.100962,1.325112,3.59,F8 +eps Cru,3.234809,0.699557,3.59,K3 +the Gem,1.801132,1.669960,3.60,A3 +psi Vel,2.490157,0.814720,3.60,F2 +del Ara,4.586287,1.192933,3.60,B8 +the Cet,0.366625,0.307731,3.60,K0 +ups Lib,4.088540,0.234543,3.60,K3 +omi Tau,0.893670,0.042062,3.61,G8 +lam Hya,2.664201,0.614879,3.61,K0 +del Mus,3.413266,0.947045,3.61,K2 +eta Pav,4.650139,1.258208,3.61,K1 +eta Psc,0.399171,0.594866,3.62,G8 +omi And,6.029767,0.562432,3.62,B6 +zet2Sco,4.426963,0.622123,3.62,K4 +lam Mus,3.078802,1.263560,3.63,A7 +Rotanev,5.399821,1.030530,3.64,F5 +Primus Hyadum,1.133557,1.087835,3.65,G8 +Chow,4.128519,0.732718,3.65,A3 +the Ara,4.741324,0.153938,3.65,B2 +zet2Aqr,5.885381,0.032638,3.65,F3 +Nusakan,4.048426,0.180293,3.66,F0 +tau Lib,4.095661,1.349634,3.66,B2 +Thuban,3.684349,0.649524,3.67,A0 +bet Ind,5.475140,0.789674,3.67,K0 +pi 4Ori,1.270627,1.052550,3.68,B2 +alp Pyx,2.284603,0.323206,3.68,B1 +del Sge,5.180957,0.931802,3.68,M2 +zet Cas,0.161317,1.555961,3.69,B2 +chi Eri,0.505915,1.057233,3.69,G5 +Nashira,5.672708,1.147292,3.69,A7 +Sadatoni,1.319809,0.126013,3.69,K4 +chi UMa,3.080734,1.351350,3.69,K0 +Marfik,4.702632,0.422515,3.70,K0 +gam Psc,6.096253,0.481740,3.70,G7 +tau4Eri,0.870554,1.317316,3.70,M3 +pi 5Ori,1.283915,0.763989,3.71,B2 +eta Lep,1.555112,0.292314,3.71,F1 +eps Ser,4.148712,0.825919,3.71,A2 +Alshain,5.215536,0.706451,3.71,G8 +eps Eri,0.929127,0.794096,3.72,K2 +Prijipati,1.568727,0.496226,3.72,K0 +xi Cyg,5.519303,1.611608,3.72,K5 +xi Tau,0.903944,1.267691,3.73,B9 +Grumium,4.684146,1.518669,3.73,K2 +nu Oct,5.678754,0.675472,3.73,K0 +lam Aqr,5.989160,1.002633,3.73,M2 +gam Her,4.284437,0.264970,3.74,A9 +tau Cyg,5.562317,0.069697,3.74,F1 +Baten,0.486337,0.583464,3.74,K2 +gam Oph,4.659562,1.229555,3.75,A0 +bet Dor,1.455715,0.850412,3.76,F6 +del Lep,1.532919,1.523963,3.76,G8 +bet Mon,1.696538,0.046251,3.76,B3 +iot2Cyg,5.103804,1.264229,3.76,A5 +alp Lac,5.896113,0.481944,3.76,A1 +omi Sgr,4.994618,1.288315,3.76,K0 +nu Per,0.982594,1.001470,3.77,F5 +del1Tau,1.147265,0.940529,3.77,G8 +sig Ori,1.478059,1.047256,3.77,O9 +Svalocin,5.408939,1.583421,3.77,B9 +iot Peg,5.790164,0.594052,3.77,F5 +eta Per,0.744804,1.554477,3.77,K3 +bet Vol,2.206696,0.236056,3.77,K2 +eta Ara,4.406019,0.066526,3.77,K5 +zet Cap,5.614145,0.710058,3.77,G4 +ups UMa,2.578701,0.064228,3.78,F0 +zet Boo,3.844736,1.263037,3.78,A3 +Albali,5.444011,0.856520,3.78,A1 +gam1Vol,1.870762,0.860186,3.78,G8 +iot Gem,1.944855,1.382824,3.78,G9 +kap Per,0.826823,1.491791,3.79,K0 +xi UMa,2.959150,0.916531,3.79,G0 +alp For,0.838069,1.722291,3.80,F8 +del Ser,4.078848,0.936631,3.80,F0 +kap Cyg,5.048809,0.641525,3.80,K0 +ups2Eri,1.202319,0.972817,3.81,G8 +gam CrB,4.113497,0.507280,3.81,A1 +lam And,6.185280,0.794997,3.81,G8 +alp Psc,0.532529,1.323396,3.82,A2 +lam Oph,4.323678,1.717055,3.82,A2 +iot Her,4.622787,0.006632,3.82,B3 +lam Dra,3.016823,0.567814,3.82,M0 +phi Cen,3.657649,0.175260,3.83,B2 +mu Hya,2.731841,1.457321,3.83,K4 +alp Aps,3.874030,0.070104,3.83,K5 +omi Per,0.978776,0.499688,3.84,B1 +the1Tau,1.171874,1.670862,3.84,G7 +rho Leo,2.761160,0.530493,3.84,B1 +gam Mus,3.283263,0.220697,3.84,B5 +omi Her,4.745299,1.322058,3.84,B9 +mu Sgr,4.772444,0.096517,3.84,B2 +eps Dra,5.184370,0.466643,3.84,G8 +bet Ret,0.978224,1.403681,3.84,K0 +bet Pic,1.515315,0.116413,3.85,A3 +del Col,1.667288,0.759393,3.85,G7 +kap Dra,3.287694,1.372294,3.85,B6 +tau Cen,3.306114,0.939162,3.85,A2 +gam Ser,4.173300,1.149881,3.85,F6 +alp Hor,1.108290,0.505535,3.85,K1 +alp Sct,4.866010,0.417686,3.85,K2 +mu And,0.247626,0.860244,3.86,A5 +gam Aps,4.334777,1.555990,3.86,K0 +Sadachbia,5.854074,0.673261,3.86,A0 +eps Col,1.445186,0.818443,3.86,K1 +del TrA,4.256150,1.195056,3.86,G5 +the Her,4.696040,0.436885,3.86,K1 +ups1Cen,3.659430,1.399958,3.87,B2 +mu Vir,3.853073,1.142231,3.87,F2 +rho Sco,4.175198,0.363727,3.87,B2 +eta Aql,5.203144,0.005934,3.87,F6 +Mesarthim,0.495366,0.505767,3.88,A1 +kap2Lup,3.979071,1.284475,3.88,B9 +eps Phe,0.041055,1.294220,3.88,K0 +Rasalas,2.586430,0.007418,3.88,K0 +iot Gru,6.066578,0.421177,3.88,K0 +the Hya,2.418866,0.539336,3.89,B9 +eta Vir,3.228451,1.163640,3.89,A2 +Azha,0.769807,1.556659,3.89,K1 +omi1CMa,1.806994,0.320908,3.89,K3 +eta Cyg,5.219873,0.145619,3.89,K0 +pi Cen,2.971455,0.851633,3.90,B5 +iot Hya,2.530097,0.242484,3.90,K3 +nu Tau,1.060970,1.722495,3.91,A1 +sig Cen,3.263941,0.392757,3.91,B3 +pi Lup,3.949324,0.088517,3.91,B5 +tau Her,4.274926,0.537503,3.91,B5 +Zuben el Hakrabi,4.082001,1.373690,3.91,K0 +eps Her,4.451856,1.610008,3.92,A0 +rho1Sgr,5.068755,1.469015,3.92,F0 +Kitalpha,5.566829,0.422690,3.92,G0 +kap Phe,0.114328,1.177428,3.93,A7 +del Phe,0.398152,0.123075,3.93,K0 +tau Per,0.760343,1.322087,3.93,G4 +nu Eri,1.205669,0.613425,3.93,B2 +ome1Sco,4.218492,1.166142,3.93,B1 +zet Vol,2.015070,1.053626,3.93,K0 +zet Phe,0.298383,0.420333,3.94,B6 +nu Cyg,5.485454,0.291441,3.94,A1 +alp Mon,2.012574,0.961066,3.94,K0 +Asellus Borealis,2.289371,0.266890,3.94,K0 +nu 2CMa,1.730858,0.442325,3.95,K1 +bet1Sgr,5.072966,0.794736,3.96,B9 +alp Sgr,5.078410,1.063575,3.96,B8 +eta Col,1.567072,1.412088,3.96,K0 +del Vol,1.906033,1.665568,3.97,F6 +bet Pyx,2.269375,0.532296,3.97,G5 +rho Cen,3.192436,0.641787,3.97,B3 +chi Lup,4.149341,1.087224,3.97,B9 +eps Pav,5.238561,1.581472,3.97,A0 +nu Aur,1.533664,0.248564,3.97,K0 +del1Gru,5.887297,0.856375,3.97,G6 +lam Peg,5.962615,0.976337,3.97,G8 +Menkib,1.042682,1.375232,3.98,O7 +rho Cyg,5.646058,1.027243,3.98,G8 +gam Tuc,6.097439,0.409949,3.99,F1 +ups Cet,0.523615,0.127991,3.99,K5 +gam Mon,1.635616,0.473857,3.99,K3 +iot Leo,2.984176,0.915396,4.00,F2 +nu Sco,4.241131,0.796539,4.00,B2 +phi Per,0.452304,1.198343,4.01,B2 +mu Eri,1.245739,0.441161,4.01,B5 +Mekbuda,1.850525,0.992831,4.01,G3 +ome CMa,1.897221,1.344398,4.01,B2 +the Dra,4.197059,0.975057,4.01,F8 +gam2Nor,4.275371,0.267443,4.01,G8 +zet Pav,4.900167,0.738798,4.01,K2 +alp Crv,3.178299,1.263502,4.02,F0 +gam Pyx,2.314889,1.232261,4.02,K3 +eps Aql,4.972544,0.118246,4.02,K2 +gam Tri,0.599145,1.469102,4.03,A1 +bet Cam,1.323912,0.765676,4.03,G0 +mu 2Cru,3.379805,0.302640,4.03,B2 +Dulfim,5.380905,0.527089,4.03,B6 +ome Psc,6.280175,1.497754,4.03,F4 +iot Cnc,2.298150,1.319469,4.03,G8 +Beid,1.098971,1.459095,4.04,F2 +the Boo,3.775149,1.485333,4.04,F7 +eta Aqr,5.913854,0.204349,4.04,B9 +nu Vir,3.079893,0.915512,4.04,M0 +iot Per,0.824878,1.061335,4.05,G0 +alp Cha,2.175209,1.603347,4.05,F5 +sig Leo,2.972023,0.042382,4.05,B9 +psi Cen,3.754893,1.543744,4.05,A0 +rho Lup,3.830507,0.736733,4.05,B5 +ups Boo,3.619282,1.382330,4.05,K5 +tau2Aqr,5.975972,1.027737,4.05,K5 +gam Crt,2.988366,1.193369,4.06,A9 +zet Cru,3.222044,0.003200,4.06,B2 +omi2Ori,1.293167,0.887936,4.06,K2 +ups Gem,1.989339,1.554972,4.06,K5 +eps Mus,3.218288,1.669233,4.06,M5 +eps1Ara,4.448775,0.272795,4.06,K4 +Syrma,3.735069,1.733199,4.07,F7 +lam Lup,3.965579,0.479180,4.07,B3 +bet Cir,4.003419,1.397194,4.07,A3 +del Cep,5.886868,0.714043,4.07,G2 +del Hyi,0.618503,1.144325,4.08,A3 +del Cet,0.695874,0.565109,4.08,B2 +tau3Eri,0.795840,1.084315,4.08,A4 +the Cap,5.523733,0.394968,4.08,A1 +zet And,0.206559,0.466177,4.08,K1 +the CMa,1.807251,0.063675,4.08,K4 +Alkes,2.878830,0.511032,4.08,K1 +phi2Ori,1.470028,0.502975,4.09,G8 +kap Ser,4.139660,0.241554,4.09,M1 +ups And,0.422368,0.704822,4.10,F8 +the Per,0.716435,0.390721,4.10,F7 +zet Tel,4.838179,0.119875,4.10,G8 +bet CrA,5.017949,0.589485,4.10,K0 +Muliphein,1.848994,1.093652,4.11,B8 +ups1Hya,2.580810,1.468287,4.11,G6 +Alkes,5.015515,1.575247,4.11,A0 +zet Gru,6.025231,1.313302,4.11,G8 +iot Eri,0.701035,1.489086,4.11,K0 +gam Cha,2.772762,1.055372,4.11,M0 +eps TrA,4.087211,0.552949,4.11,K0 +eps Hyi,0.696330,0.465712,4.12,B9 +mu Per,1.112201,0.707935,4.12,G0 +omi Vir,3.164331,1.267749,4.12,G8 +iot Sgr,5.215311,1.514451,4.12,K0 +ome Cap,5.462102,1.602474,4.12,K4 +del2Gru,5.889428,1.296547,4.12,M4 +nu Gem,1.697172,0.361807,4.13,B6 +psi Cap,5.437120,0.469464,4.13,F5 +bet Oct,5.960570,0.655604,4.13,A9 +iot Psc,6.195688,1.087486,4.13,F7 +the Lib,4.161845,1.264375,4.13,K0 +del Hya,2.258704,1.225716,4.14,A1 +eta Cru,3.171616,1.061480,4.14,F2 +the CrB,4.070675,0.620465,4.14,B6 +kap Peg,5.692588,1.117592,4.14,F5 +eps CrB,4.178267,1.524516,4.14,K3 +del Mon,1.884364,0.853466,4.15,A2 +rho Her,4.553925,0.245888,4.15,B9 +kap And,6.197696,0.582445,4.15,B9 +rho Gem,1.959613,1.367960,4.16,F0 +xi Sco,4.207816,0.647168,4.16,F6 +kap Cas,0.143989,1.615709,4.17,B1 +Ancha,5.833034,1.355452,4.17,G8 +lam Boo,3.736690,0.150244,4.18,A0 +eps Cep,5.825159,0.068795,4.18,F0 +eps PsA,5.936980,0.068941,4.18,B8 +kap Vir,3.721459,0.473159,4.18,K3 +bet LMi,2.739664,1.229555,4.20,G8 +sig Her,4.337593,0.760033,4.20,B9 +xi Peg,5.963313,0.298655,4.20,F7 +del PsA,6.003706,0.937504,4.20,G8 +kap1Tau,1.157888,0.505651,4.21,A7 +eps UMi,4.389369,0.062279,4.21,G5 +the Cep,5.365057,1.727556,4.21,A7 +gam Pav,5.613160,0.641496,4.21,F6 +tau6Eri,0.989819,0.423068,4.22,F3 +the Lup,4.217556,1.398591,4.22,B2 +chi Oph,4.306705,0.791885,4.22,B2 +phi Dra,4.802960,0.586372,4.22,A0 +lam Pav,4.940230,0.324399,4.22,B2 +sig Cyg,5.573778,0.680940,4.22,B9 +bet Sct,4.918227,1.295092,4.22,G5 +del2Lyr,4.950211,1.557706,4.22,M4 +phi Aqr,6.083878,0.074089,4.22,M2 +zet Tuc,0.087405,1.524080,4.23,F9 +bet Com,3.455237,1.522422,4.23,G0 +tau Vir,3.672375,0.942623,4.23,A3 +phi Her,4.227057,1.630516,4.23,B9 +gam CrA,5.002189,0.100618,4.23,F7 +pi 2Cyg,5.701962,0.533634,4.23,B3 +sig Gem,2.021578,1.542493,4.23,K1 +bet Aps,4.376807,0.890031,4.23,K0 +mu Cep,5.687624,1.352107,4.23,M2 +kap Eri,0.641343,1.225745,4.24,B5 +pi Cet,0.716120,1.492606,4.24,B7 +bet Cha,3.221655,0.536456,4.24,B5 +Chara,3.288861,0.617963,4.24,G0 +omi Ser,4.631298,1.521520,4.24,A2 +psi1Aqr,6.090710,0.150011,4.24,K0 +kap Tuc,0.330558,1.522654,4.25,F6 +lam Per,1.075927,0.612291,4.25,A0 +lam Eri,1.348905,1.313273,4.25,B2 +nu Cep,5.696095,0.207956,4.25,A2 +phi And,0.303260,0.416145,4.26,B7 +omi Psc,0.459864,0.269799,4.26,K0 +tau5Eri,0.932824,1.093187,4.26,B9 +gam Dor,1.117119,0.847503,4.26,F4 +alp Cam,1.283036,0.591550,4.26,O9 +Acubens,2.349591,1.491675,4.26,A5 +eps Psc,0.274646,1.548776,4.27,K0 +mu Cet,0.719684,0.189426,4.27,F1 +mu Tau,1.114978,1.551220,4.27,B3 +tau Tau,1.231526,1.665364,4.27,B3 +xi 2Cen,3.433547,1.577312,4.27,B1 +mu Lup,4.007861,1.521549,4.27,B8 +bet2Sgr,5.075495,1.384250,4.27,F2 +gam1Del,5.439575,0.212116,4.27,K1 +the Psc,6.143426,0.652986,4.27,K1 +ups Tau,1.161981,1.410604,4.28,A8 +iot Cap,5.594855,1.455721,4.28,G8 +pi 2Peg,5.803165,0.303047,4.28,F5 +the Gru,6.051403,0.905593,4.28,F5 +alp Ant,2.736470,0.117548,4.28,K4 +lam Lep,1.394411,0.301477,4.29,B0 +zet UMi,4.119229,1.378868,4.29,A3 +phi Oph,4.324663,1.060433,4.29,G8 +iot Aqr,5.787673,1.515615,4.29,B8 +bet PsA,5.897052,0.595070,4.29,A1 +iot And,6.187787,0.466905,4.29,B8 +alp Scl,0.255716,0.618690,4.30,B7 +xi 2Cet,0.646464,0.795957,4.30,B9 +del3Tau,1.158413,1.611753,4.30,A2 +eta Hya,2.282999,0.685100,4.30,B3 +ups Leo,3.041013,1.432886,4.30,G9 +eta Crv,3.281545,0.333096,4.30,F2 +alp1Cap,5.312990,0.881275,4.30,G3 +pi Aur,1.570513,1.632552,4.30,M3 +Alkalurops,4.033859,0.650746,4.31,F0 +ome2Sco,4.221101,1.514713,4.31,G6 +del Oct,3.782691,1.164804,4.31,K2 +psi Per,0.944613,0.329780,4.32,B5 +alp Com,3.446993,0.914785,4.32,F5 +omi Lup,3.890508,0.998067,4.32,B5 +nu Ser,4.541466,1.468636,4.32,A0 +kap Aur,1.637900,0.859691,4.32,G8 +lam Leo,2.494602,1.688606,4.32,K5 +tau2Lup,3.779423,0.653131,4.33,A7 +gam CMi,1.955484,1.609135,4.33,K3 +kap Lyr,4.799053,0.102393,4.33,K2 +pi And,0.160922,1.253641,4.34,B5 +eps And,0.168242,0.536543,4.34,G5 +the Cas,0.310227,0.250106,4.34,A7 +del Dor,1.504359,1.282206,4.34,A7 +xi 1CMa,1.709795,0.729082,4.34,B1 +ups2Cen,3.672717,1.050717,4.34,F6 +the Cha,2.184490,0.844885,4.34,K0 +ome Lup,4.093039,0.989863,4.34,K4 +sig Oph,4.566282,0.240041,4.34,K3 +pi 2Ori,1.268034,1.571058,4.35,A1 +eps Vol,2.128999,1.076781,4.35,B6 +rho Hya,2.305724,1.459212,4.35,A0 +del UMi,4.591154,1.021250,4.35,A1 +iot PsA,5.693903,0.038397,4.35,B9 +Botein,0.836134,1.261320,4.35,K2 +gam Com,3.259135,0.467457,4.35,K2 +xi Pav,4.813736,0.854659,4.35,M1 +the Lyr,5.045609,0.233118,4.35,K0 +bet2Tuc,0.137631,1.666528,4.36,B9 +eta Phe,0.189168,0.799128,4.36,A0 +xi 1Cet,0.580323,1.468491,4.36,G8 +ome Eri,1.277994,0.788278,4.36,A9 +kap Lep,1.366730,1.637293,4.36,B7 +gam Col,1.560049,0.482845,4.36,B2 +iot CMa,1.815741,0.091717,4.36,B3 +zet Mon,2.131895,1.716706,4.36,G2 +chi Cen,3.691574,0.304415,4.36,B2 +iot Aql,5.134415,0.497884,4.36,B5 +sig Per,0.918805,1.728632,4.36,K3 +kap Col,1.643020,0.240448,4.37,G8 +tau CMa,1.914225,1.662659,4.37,O9 +the1Sgr,5.234837,0.475457,4.37,B2 +the Vir,3.446808,0.936689,4.38,A1 +kap Cep,5.274772,1.233628,4.38,B9 +bet Scl,6.165244,1.427127,4.38,B9 +phi1Ori,1.460931,0.850121,4.39,B0 +chi1Ori,1.546295,0.475631,4.39,G0 +eps Mon,1.674505,1.028057,4.39,A5 +iot Oph,4.424446,0.277973,4.39,B8 +xi Oph,4.542235,0.187565,4.39,F2 +alp Sge,5.149142,0.014603,4.39,G0 +the Ind,5.584463,0.773006,4.39,A5 +psi Phe,0.495879,0.526159,4.39,M4 +bet Sge,5.153298,0.824377,4.39,G8 +eta And,0.249613,0.728355,4.40,G8 +omi Pup,2.042411,1.632988,4.40,B1 +kap Pav,4.960883,0.407447,4.40,F5 +del Ind,5.750498,1.725898,4.40,F0 +nu Her,4.705855,0.326202,4.41,F2 +ups Cyg,5.575968,1.555903,4.41,B2 +pi Cep,6.055845,0.673493,4.41,G2 +psi2Aqr,6.099504,0.307469,4.41,B5 +tau Gem,1.881202,0.419752,4.41,K2 +lam Her,4.584711,0.185645,4.41,K3 +gam Scl,6.103520,0.917636,4.41,K1 +nu Ori,1.603835,1.340035,4.42,B3 +lam Ser,4.129649,0.614269,4.42,G0 +ups Peg,6.132117,0.702320,4.42,F8 +nu 3CMa,1.736125,0.411549,4.42,K0 +bet Lac,5.862389,0.391594,4.42,G9 +omi2Eri,1.113930,1.117127,4.43,K1 +eta Lyr,5.034220,0.245946,4.43,B2 +del Del,5.425614,0.124762,4.43,A7 +pi Eri,0.986729,0.176336,4.43,M1 +alp Cae,1.224190,1.497754,4.44,F2 +sig Lup,3.807514,0.792845,4.44,B2 +del Psc,0.212414,1.020058,4.44,K5 +eps Ret,1.119125,0.525431,4.44,K2 +alp Vul,5.099446,1.150347,4.44,M0 +bet For,0.737791,0.704706,4.45,G8 +iot Lep,1.362658,1.515208,4.45,B8 +xi Ori,1.622894,0.358287,4.45,B3 +del2Cha,2.817772,0.938027,4.45,B2 +phi Leo,2.952498,1.136064,4.45,A7 +nu Psc,0.442580,0.848055,4.45,K3 +Minhar al Shuja,2.263507,0.590299,4.45,K2 +tau Dra,5.042059,0.616334,4.45,K3 +mu Aql,5.122922,0.653189,4.45,K3 +iot Cas,0.650425,0.700633,4.46,A5 +bet Crt,2.930662,1.434719,4.46,A1 +eps Nor,4.307404,0.964876,4.46,B4 +gam PsA,5.988774,1.521811,4.46,A0 +rho Ori,1.366991,1.495311,4.46,K3 +tau1Eri,0.720383,0.995274,4.47,F5 +lam CMa,1.693713,1.003128,4.47,B4 +sig Boo,3.816503,1.291922,4.47,F3 +del Equ,5.560967,0.008087,4.47,F5 +pi 6Ori,1.302663,1.236420,4.47,K2 +kap Leo,2.463771,0.307411,4.47,K2 +lam Gru,5.786268,0.941023,4.47,M0 +omi Cas,0.195150,0.495615,4.48,B5 +alp Sex,2.652631,0.645161,4.48,A0 +gam Cir,4.028995,0.556905,4.48,B5 +bet Psc,6.038302,1.428930,4.48,B6 +gam Ret,1.051111,0.271602,4.48,M4 +psi Oph,4.293961,0.062250,4.48,K0 +ups1Eri,1.193415,1.325578,4.49,K0 +pi 2Boo,3.842892,0.728937,4.49,B9 +the Cyg,5.133198,0.382140,4.49,F4 +mu 2Cyg,5.690384,1.290264,4.49,F6 +lam Psc,6.204855,1.352485,4.49,A7 +ome2Aqr,6.207793,0.942798,4.49,B9 +eps Tuc,6.282815,0.999928,4.49,B9 +ome Ori,1.479977,0.208654,4.50,B3 +tau Boo,3.609635,0.792496,4.50,F7 +nu Aqr,5.539645,0.645190,4.50,G8 +mu PsA,5.796162,1.721535,4.50,A2 +gam Pic,1.526405,0.279078,4.50,K1 +sig And,0.079973,1.369269,4.51,A2 +tau Aur,1.523560,0.306043,4.51,G8 +iot Ser,4.108293,1.167567,4.51,A1 +eta Ind,5.428133,1.604248,4.51,A6 +eps Cap,5.659581,0.802153,4.51,B3 +del Tuc,5.878841,1.675225,4.51,B8 +tau Psc,0.312675,0.152135,4.51,K0 +eps Ant,2.483803,1.659488,4.51,K3 +rho Dra,5.248281,1.519716,4.51,K3 +rho Cas,6.258681,0.860389,4.51,F8 +lam Vir,3.748575,0.644666,4.52,A1 +ups Sgr,5.068990,1.663299,4.52,F2 +psi Boo,3.946397,1.643984,4.52,K2 +eps Tel,4.761388,1.662601,4.52,G5 +nu And,0.217354,0.129213,4.53,B5 +kap1Boo,3.724020,1.374156,4.53,A8 +lam Cyg,5.442848,0.851343,4.53,B6 +xi 2CMa,1.723758,1.673596,4.54,A0 +tau2Hya,2.495743,0.321373,4.54,A3 +xi Boo,3.889414,0.175202,4.54,G8 +phi2Lup,4.028028,1.492373,4.54,B4 +phi UMa,2.583550,0.102218,4.55,A3 +omi Sco,4.278833,0.293623,4.55,A4 +gam1Cae,1.328218,0.831446,4.55,K2 +tau1Lup,3.779237,0.383100,4.56,B2 +sig Ara,4.606186,0.878511,4.56,A0 +del Ret,1.041724,0.698277,4.56,M2 +Cujam,4.299686,0.058265,4.57,B9 +rho Oph,4.300427,0.770737,4.57,B2 +Dziban,4.633581,0.249640,4.57,F5 +del CrA,5.010617,0.857509,4.57,K1 +mu Oph,4.615721,0.205774,4.58,B8 +tau Peg,6.111432,1.287268,4.58,A5 +mu Phe,0.180320,0.147189,4.59,G8 +gam Cam,1.005126,0.569123,4.59,A2 +psi2Ori,1.426096,0.158360,4.59,B2 +tau1Hya,2.483374,1.340471,4.59,F6 +del CrB,4.143390,0.118333,4.59,G5 +eps2Lyr,4.906032,1.060375,4.59,A8 +del Scl,6.234860,0.217613,4.59,A0 +pi 2UMa,2.269866,0.564410,4.59,K2 +ups2Hya,2.640355,0.102625,4.60,B8 +omi Boo,3.862595,1.673160,4.60,K0 +chi Her,4.156806,0.785398,4.60,F9 +pi Dra,5.064369,1.236828,4.60,A2 +iot Ant,2.865467,0.237045,4.60,K0 +the And,0.074579,1.179261,4.61,A2 +xi Psc,0.495480,0.324311,4.61,K0 +ome Per,0.834660,1.059328,4.61,K1 +ups2Cas,0.247256,0.306073,4.62,G8 +iot Tau,1.322501,1.025148,4.62,A7 +ups Ori,1.448322,0.525199,4.62,B0 +chi Leo,2.901699,0.584685,4.62,F2 +lam Cru,3.380064,0.246673,4.62,B4 +ups Oph,4.310107,0.645219,4.62,A3 +zet Ser,4.714492,1.199798,4.62,F3 +the CrA,4.858572,0.536660,4.62,G5 +Alya,4.957692,0.352760,4.62,A5 +kap Pyx,2.391309,1.492460,4.62,K4 +eps Ari,0.781961,0.589223,4.63,A2 +iot1Nor,4.204223,1.346667,4.63,A7 +nu Pav,4.849283,0.477493,4.63,B8 +omi Dra,4.935792,0.674221,4.63,K0 +psi Peg,6.273408,0.241234,4.63,M3 +tau8Eri,1.019758,1.059997,4.64,B5 +pi 1Ori,1.286722,0.262992,4.64,A0 +chi2Ori,1.587899,0.238092,4.64,B2 +zet1CrB,4.098810,1.107993,4.64,B7 +nu Aql,5.089896,0.587274,4.64,F2 +zet Del,5.390050,1.171436,4.64,A3 +rho Tau,1.194886,1.466135,4.65,A8 +pi Vir,3.145403,1.062266,4.65,A5 +eta Nor,4.202815,0.391826,4.65,G8 +chi Cet,0.478161,1.195638,4.66,F3 +pi CMa,1.813499,0.236114,4.66,F2 +Asellus Borealis,2.283270,0.816494,4.66,A1 +ome UMa,2.853520,0.326987,4.66,A1 +psi1Lup,4.100503,0.710582,4.66,G8 +gam1Sgr,4.734294,1.003070,4.66,G0 +zet Sct,4.815622,1.630196,4.66,K0 +chi Psc,0.311773,0.059574,4.66,K0 +chi Vir,3.312839,1.728981,4.66,K2 +sig2Tau,1.218563,1.601310,4.67,A5 +the Lep,1.597655,1.631010,4.67,A0 +zet2Cnc,2.147679,1.120880,4.67,G0 +gam Sct,4.839787,0.976483,4.67,A1 +eps1Lyr,4.905854,1.167014,4.67,F1 +sig Dra,5.115312,1.150579,4.67,K0 +gam Mic,5.503420,0.444477,4.67,G8 +phi Psc,0.321791,1.018574,4.67,K0 +chi Cas,0.409856,0.394299,4.68,K0 +eta2Hyi,0.501492,1.120181,4.68,G5 +nu For,0.543192,0.508647,4.68,B9 +pi Per,0.779991,1.147903,4.68,A2 +phi Cyg,5.146001,0.265174,4.68,G8 +xi Aqr,5.662506,1.487864,4.68,A7 +pi Leo,2.618926,0.069639,4.68,M2 +del1Aps,4.277572,1.205557,4.68,M5 +pi Tau,1.163290,1.236246,4.69,G8 +lam Aur,1.392488,0.175231,4.69,G0 +pi 1Cyg,5.681458,0.326580,4.69,B3 +iot Phe,6.174432,1.063022,4.69,A2 +iot Cru,3.340700,1.702336,4.69,K1 +eps Ind,5.773945,1.351845,4.69,K5 +the Crt,3.039851,1.398620,4.70,B9 +omi Hya,3.055258,1.291776,4.70,B9 +zet1Sco,4.424390,0.623461,4.70,B1 +del Sct,4.896843,0.089943,4.70,F2 +ome Sgr,5.217824,0.511643,4.70,G3 +gam Equ,5.542909,0.219621,4.70,F0 +lam Cet,0.784155,1.578534,4.71,B6 +kap Ret,0.913548,1.634326,4.71,F5 +zet Dor,1.333045,0.821119,4.71,F7 +chi Aur,1.451799,0.329082,4.71,B5 +lam Pyx,2.457448,1.455052,4.71,G8 +zet Crt,3.075107,0.611505,4.71,G8 +eps Mic,5.576054,0.296968,4.71,A0 +omi1Ori,1.276415,0.437147,4.71,M3 +the Pyx,2.449977,1.674207,4.71,M0 +xi Aql,5.210886,0.797586,4.71,K0 +del Pic,1.615732,1.689246,4.72,B0 +the2Cru,3.160445,0.278264,4.72,B2 +ups Her,4.200997,0.061872,4.72,B9 +kap Cap,5.683913,1.500605,4.72,G8 +psi Cas,0.374948,0.217526,4.72,K0 +ups Aur,1.531702,0.529562,4.72,M1 +mu Aqr,5.465732,1.704518,4.73,A3 +tau CrB,4.227939,0.850673,4.73,K0 +lam Cas,0.138632,0.907688,4.74,B8 +ups Psc,0.346737,0.451080,4.74,A3 +sig Cet,0.663609,0.418763,4.74,F5 +zet CrA,4.987775,0.157661,4.74,A0 +omi Aqr,5.774046,0.267384,4.74,B7 +rho UMa,2.367301,1.089813,4.74,M3 +rho Ser,4.150679,1.698903,4.74,K5 +iot Boo,3.735737,0.640332,4.75,A9 +psi2Lup,4.113235,1.232552,4.75,B5 +phi1Pav,5.391233,1.004350,4.75,F1 +omi Cep,6.102646,0.186488,4.75,K0 +mu Mus,3.090287,1.411826,4.75,K4 +kap Lib,4.110019,1.176032,4.75,K5 +lam1Phe,0.137071,1.399987,4.76,A0 +tau2Eri,0.746299,0.004160,4.76,K0 +lam Ara,4.626848,0.714014,4.76,F3 +nu Hyi,0.743840,0.116588,4.76,K3 +zet Aps,4.546549,1.342245,4.76,K1 +ome Dra,4.611821,1.316531,4.77,F5 +tau Oph,4.725836,0.305113,4.77,F5 +nu Cap,5.326149,1.318480,4.77,B9 +rho Cap,5.361915,1.410575,4.77,F3 +phi1Cet,0.192816,1.056913,4.77,K0 +psi Vir,3.378752,0.936718,4.77,M3 +the Ant,2.549063,1.341111,4.78,A7 +iot2Sco,4.669564,0.152862,4.78,A6 +the Oct,0.006970,0.103294,4.78,K2 +sig Vir,3.480208,0.817803,4.78,M2 +lam Ari,0.514565,1.031460,4.79,F0 +eta Mus,3.469933,1.553459,4.79,B8 +mu 1Gru,5.827718,0.595826,4.79,G8 +chi Peg,0.063713,0.356076,4.79,M2 +kap CrB,4.150534,1.143074,4.79,K0 +xi Cas,0.183542,0.885784,4.80,B2 +zet Eri,0.854486,1.428668,4.80,A5 +del2Tau,1.152331,0.767712,4.80,A7 +psi Eri,1.315276,0.298539,4.80,B3 +sig2UMa,2.401539,0.233670,4.80,F7 +the1Mic,5.588368,1.406212,4.80,A2 +pi Aqr,5.869878,0.651182,4.80,B1 +omi Peg,5.941785,0.531656,4.80,A1 +psi2Aur,1.742408,0.849510,4.80,K3 +ome Boo,3.936191,0.008639,4.80,K4 +omi Col,1.385284,1.553285,4.81,K0 +phi Vir,3.788253,0.389965,4.81,G2 +the Dor,1.369024,0.322101,4.81,K2 +eps Crt,2.987175,1.493362,4.81,K5 +mu Aur,1.367591,0.844972,4.82,A4 +pi Ser,4.198803,1.400859,4.82,A3 +sig Ser,4.285106,0.041917,4.82,F0 +eta Cap,5.517009,1.488708,4.82,A5 +sig Aqr,5.893309,1.175305,4.82,A0 +ups Dra,4.949737,0.508909,4.82,K0 +ome And,0.382452,0.705404,4.83,F5 +eps Cet,0.696221,1.517767,4.83,F5 +zet Hyi,0.722314,1.076345,4.83,A2 +xi 1Cen,3.418907,0.912836,4.83,A0 +eps CrA,4.968623,0.181951,4.83,F3 +ups1Cas,0.239997,1.693580,4.83,K2 +eta Sct,4.961362,1.467938,4.83,K1 +del Tri,0.597951,0.386707,4.84,G0 +kap1Cet,0.869868,0.643416,4.84,G5 +xi Vir,3.077379,0.444884,4.84,A4 +mu Psc,0.393495,0.243822,4.84,K4 +rho Gru,5.949389,0.712909,4.84,K0 +eta Gru,5.958689,0.872839,4.84,K2 +lam Tel,4.967480,1.634501,4.85,A0 +eps Cir,4.003995,1.058193,4.85,K2 +zet Pyx,2.267655,0.971305,4.86,G5 +xi CrB,4.285212,1.550492,4.86,K0 +mu Nor,4.337508,0.070715,4.86,B0 +psi Sgr,5.041994,0.443255,4.86,K0 +eta Scl,0.121861,0.007389,4.86,M2 +nu 1Sgr,4.948749,1.291951,4.86,K1 +nu Peg,5.784362,0.095935,4.86,K4 +nu Cet,0.680132,1.028552,4.87,G8 +zet Ari,0.850420,0.070017,4.87,A1 +del Pyx,2.336670,1.179232,4.87,A3 +xi And,0.359275,0.914407,4.87,K0 +rho Cet,0.636828,0.501957,4.88,A0 +lam Col,1.540753,1.397776,4.88,B5 +eps Cha,3.139970,0.383536,4.88,B9 +rho Vir,3.324344,0.409861,4.88,A0 +sig Cas,6.278861,1.314175,4.88,B1 +eps Sct,4.902284,0.474410,4.88,G8 +iot Tel,5.127849,0.161967,4.88,G9 +tau Cas,6.226709,1.136413,4.88,K1 +psi1Ori,1.416977,1.468171,4.89,B1 +omi Gem,2.003490,1.019476,4.89,F3 +eta Aps,3.744747,0.007970,4.89,A2 +alp Mic,5.454014,1.351699,4.89,G8 +nu Cas,0.213075,1.688751,4.90,B9 +zet TrA,4.312985,0.146840,4.90,F9 +zet Ind,5.451894,0.388859,4.90,K5 +phi3Hya,2.786346,1.523062,4.91,G8 +del Lib,3.931237,0.904139,4.91,B9 +mu Dra,4.473874,0.817832,4.91,F5 +psi Cyg,5.216921,0.762273,4.91,A4 +rho Peg,6.000560,1.413106,4.91,A1 +nu Tuc,5.903577,1.703296,4.91,M4 +chi1Hya,2.903067,0.505244,4.92,F3 +eps Lib,4.032578,0.558156,4.92,F5 +del1Tel,4.850956,1.586242,4.92,B6 +psi1Aur,1.679436,0.499281,4.92,K5 +del Hor,1.094498,1.727149,4.93,A9 +ome2Tau,1.122515,1.001674,4.93,A3 +ome Aur,1.305752,1.549183,4.93,A1 +psi Sco,4.241150,0.102131,4.93,A3 +kap Aql,5.135155,0.040404,4.93,B0 +xi Tel,5.268216,1.527425,4.93,M1 +chi Aqr,6.094904,1.261088,4.93,M3 +rho Aql,5.298281,0.334783,4.94,A2 +ome1Cyg,5.367144,1.659692,4.94,B2 +tau PsA,5.803836,0.946667,4.94,F6 +chi Gem,2.109747,1.378781,4.94,K2 +psi Hya,3.442900,0.204989,4.94,K0 +lam Lyr,4.974248,0.245451,4.94,K3 +pi Cas,0.189666,0.037437,4.95,A5 +phi Cas,0.349424,0.393804,4.95,F0 +eta UMi,4.265185,1.313913,4.95,F5 +kap Psc,6.138898,0.442441,4.95,A0 +tau Leo,3.001692,1.490104,4.95,G8 +kap Nor,4.247603,1.090685,4.95,G4 +tau And,0.438863,0.999957,4.96,B8 +ome For,0.671276,0.394561,4.96,B9 +xi Aur,1.548310,1.228974,4.96,A2 +nu Phe,0.328018,0.917898,4.97,F8 +ome Cas,0.506145,1.194678,4.97,B8 +phi Gem,2.066022,1.325607,4.97,A3 +gam1Nor,4.263035,0.117868,4.97,F9 +ome1Aqr,6.194976,0.383798,4.97,A7 +iot Ret,1.052875,0.129329,4.97,K4 +phi Tau,1.136008,0.611854,4.97,K1 +xi Col,1.551153,0.207752,4.97,K1 +psi And,6.222247,0.731002,4.97,G5 +bet Hor,0.780145,0.121213,4.98,A5 +the1Ori,1.462864,0.673203,4.98,O7 +the2Ori,1.463379,0.714945,4.98,O9 +nu 2Boo,4.065671,1.558492,4.98,A5 +iot CrB,4.195087,1.484664,4.98,A0 +del For,0.969741,1.634268,4.99,B5 +eps CMi,1.944508,0.475311,4.99,G8 +nu 1Lup,4.023594,1.611201,4.99,F8 +eta CrB,4.028237,0.499659,4.99,G2 +psi3Aqr,6.104118,1.058426,4.99,A0 +psi7Aur,1.792305,1.353677,4.99,K3 +ome Hya,2.382257,0.154869,4.99,K2 +xi Leo,2.495587,0.523628,4.99,K0 +ups PsA,5.796379,0.069057,4.99,K4 +the Col,1.603640,0.439387,5.00,B8 +Marsik,4.224028,0.072489,5.00,G8 +eta Tuc,6.272638,0.509956,5.00,A1 +mu CMa,1.815626,0.068766,5.00,B9 +the UMi,4.064076,0.598532,5.00,K5 +nu 2Sgr,4.952886,1.168352,5.00,K1 +chi And,0.433498,0.671981,5.01,G8 +zet Sge,5.187893,0.241757,5.01,A3 +eta2Dor,1.619885,1.024770,5.01,M2 +xi 1Sgr,4.962588,1.141096,5.02,B9 +chi1Sgr,5.084468,0.881508,5.02,A4 +the PsA,5.706075,1.557386,5.02,A1 +sig Aur,1.416563,0.671195,5.02,K4 +kap Ari,0.552245,1.121170,5.03,A2 +eta Tel,5.073903,0.734609,5.03,A0 +zet Scl,0.010175,1.254775,5.04,B4 +bet Cae,1.230708,0.244695,5.04,F3 +del Cir,4.000942,1.665655,5.04,O8 +lam Lib,4.159706,0.291237,5.04,B3 +psi4Aur,1.758784,0.909986,5.04,K5 +kap Cha,3.162439,0.904371,5.04,K4 +iot1Mus,3.513010,1.546071,5.04,K0 +nu 1Boo,4.061945,1.442515,5.04,K5 +kap Aqr,5.924333,0.389761,5.04,K2 +lam Cep,5.809807,0.713345,5.05,O6 +eta2Pic,1.330664,1.000714,5.05,M2 +nu Dor,1.608927,1.465029,5.06,B8 +eps Aps,3.762872,0.183870,5.06,B4 +iot Ind,5.460703,1.055750,5.06,K1 +omi Pav,5.555997,0.213628,5.06,M2 +phi Peg,6.250409,0.207491,5.06,M2 +bet3Tuc,0.142811,0.044506,5.07,A0 +del Cae,1.181741,1.661990,5.07,B2 +zet Cha,2.504076,1.637322,5.07,B5 +kap Hya,2.532064,0.569006,5.07,B4 +gam Sex,2.585303,0.179682,5.07,A2 +del2Tel,4.852156,1.316705,5.07,B3 +kap Del,5.406709,0.148382,5.07,G5 +omi1Cen,3.018407,0.765443,5.07,G0 +sig1Tau,1.218036,1.396292,5.08,A4 +alp Men,1.615462,1.311644,5.08,G5 +bet Sex,2.750166,1.109186,5.08,B6 +lam Crt,2.981755,1.351932,5.08,F3 +the Cir,3.912737,1.353096,5.08,B4 +pi Cap,5.355194,0.361312,5.08,B4 +mu Cap,5.730322,0.961822,5.08,F3 +phi Aur,1.429635,0.824261,5.08,K4 +iot Ari,0.512038,1.426312,5.09,K1 +lam Hyi,0.211994,1.606896,5.09,K5 +eta Sge,5.258493,1.724153,5.09,K2 +eps Oct,5.846961,0.762913,5.09,M6 +eps Dor,1.526694,1.572076,5.10,B6 +gam1Oct,6.248765,0.031300,5.10,G7 +tau2Ari,0.884683,1.289100,5.10,K3 +mu Lyr,4.818112,0.880257,5.11,A3 +lam CrA,4.903425,0.559640,5.11,A0 +phi2Pav,5.410686,0.945678,5.11,F8 +iot Mic,5.447536,1.721418,5.11,F1 +mu 2Gru,5.831332,1.087311,5.11,G8 +kap TrA,4.169127,1.050339,5.11,G6 +phi Phe,0.499023,0.857771,5.12,A3 +mu Hor,0.801172,1.284388,5.12,F0 +zet CMi,2.058180,1.338318,5.12,B8 +omi2Cen,3.018606,0.889042,5.12,A3 +mu Ara,4.643210,1.454703,5.12,G5 +omi Aql,5.196827,0.714945,5.12,F8 +pi PsA,6.036640,1.296954,5.12,A9 +nu Mic,5.383981,0.889391,5.12,K0 +phi For,0.645895,1.407841,5.13,A2 +chi Cnc,2.181943,0.380191,5.13,F6 +the Nor,4.255356,0.645452,5.13,B8 +alp Oct,5.518370,0.035576,5.13,F4 +pi Phe,6.278511,1.293114,5.13,K1 +lam Dor,1.423845,1.584003,5.14,G6 +xi 2Lup,4.175226,1.674847,5.14,A3 +ups Pav,5.419034,1.320138,5.14,B8 +pi Gem,2.039878,0.714654,5.14,M0 +ups Vir,3.750462,0.452389,5.14,G9 +mu CrB,4.080791,0.010530,5.14,M2 +ome Pav,4.968123,0.349735,5.14,K1 +alp1Lib,3.886358,1.730639,5.15,F3 +chi Phe,0.531046,1.235751,5.15,K5 +sig1UMa,2.392812,1.519600,5.15,K5 +ups Cap,5.410736,0.238237,5.15,M1 +rho And,0.092156,1.689275,5.16,F5 +xi Cnc,2.397030,0.070860,5.16,K0 +eta Cir,3.947938,0.044477,5.16,G8 +bet Equ,5.597677,1.407899,5.16,A3 +sig Peg,5.988208,1.456768,5.16,F7 +tau1Ser,4.039522,0.739147,5.16,M1 +phi2Cet,0.218728,1.116313,5.17,F7 +mu Cas,0.297646,1.607797,5.17,G5 +xi Eri,1.150527,1.292474,5.17,A2 +eta Crt,3.124211,0.262643,5.17,A0 +rho Tel,5.001817,0.589427,5.17,F7 +mu Ind,5.520639,1.261582,5.17,K2 +phi Cap,5.565992,1.136238,5.17,K0 +mu Col,1.509702,0.530289,5.18,B1 +kap Tel,4.942162,0.182009,5.18,G8 +sig Aql,5.145204,0.684169,5.18,B3 +sig Phe,6.227625,0.388365,5.18,B3 +iot Scl,0.093897,1.702481,5.18,K0 +gam Men,1.448089,0.590503,5.18,K4 +kap For,0.621950,1.413339,5.19,G2 +the Vol,2.264938,0.672504,5.19,A0 +del Sex,2.746620,1.285900,5.19,B9 +nu Lib,3.955907,0.443401,5.19,K5 +kap Ara,4.564038,1.105579,5.19,K1 +ome Gem,1.843124,0.365239,5.20,G5 +zet Crv,3.231311,0.365646,5.20,B8 +mu CrA,4.920709,0.704531,5.20,G5 +nu 1CrB,4.286341,1.383726,5.20,M2 +ups Phe,0.295821,0.847357,5.21,A3 +zet Psc,0.321708,0.998270,5.21,A7 +zet Hor,0.701010,0.948208,5.21,F4 +psi Tau,1.077779,0.001338,5.21,F1 +iot Ara,4.552115,0.816058,5.21,B2 +ups Aqr,5.910957,1.229963,5.21,F7 +ome Ser,4.146432,0.333881,5.21,G8 +rho Aur,1.404147,1.401150,5.22,B5 +eta CMi,1.954920,1.638137,5.22,F0 +omi1Cnc,2.344189,0.559029,5.22,A5 +nu 2Lyr,4.930040,0.961066,5.22,A3 +psi6Aur,1.778751,1.373603,5.22,K1 +eta Ari,0.579448,0.360556,5.23,F5 +sig3Cnc,2.354208,0.729286,5.23,G9 +kap Cnc,2.389997,1.165182,5.23,B8 +eta Ant,2.613074,1.549678,5.23,A8 +sig CrB,4.252861,1.492780,5.23,F8 +rho2Cnc,2.337264,1.611288,5.23,G8 +the Scl,0.051188,0.232769,5.24,F3 +rho Phe,0.221157,1.719993,5.24,F2 +zet2Ret,0.864748,0.880984,5.24,G1 +tau7Eri,0.993356,1.521142,5.24,A1 +eta Ret,1.142698,0.672679,5.24,G7 +psi5Aur,1.774734,0.999870,5.24,G0 +del1CMi,1.972655,1.585952,5.24,F0 +eta Pyx,2.259632,0.441539,5.24,A0 +tau Cap,5.407344,1.663008,5.24,B7 +eps Equ,5.493801,0.506698,5.24,G0 +ome Vir,3.047607,0.233700,5.24,M4 +chi Sco,4.249216,1.459037,5.24,K3 +nu Hor,0.737501,1.403157,5.25,A2 +eps Sex,2.694927,0.118711,5.25,F2 +phi Boo,4.092037,0.614298,5.25,G8 +pi Ara,4.616801,0.872752,5.25,A7 +iot Lyr,5.006050,0.174707,5.25,B6 +pi Scl,0.445688,0.563363,5.25,K1 +pi Ari,0.738679,0.800408,5.26,B6 +rho3Eri,0.804050,1.048128,5.26,A8 +nu Leo,2.610241,0.768352,5.26,B9 +mu For,0.579919,1.258324,5.27,A0 +mu Hyi,0.661779,0.184220,5.27,G4 +tau1Ari,0.878018,0.247168,5.27,B5 +kap2Tau,1.158094,0.349182,5.27,A7 +eps2Ara,4.464313,0.410705,5.27,F6 +lam Oct,5.719898,1.253088,5.27,G8 +del2Aps,4.278010,1.164338,5.27,K3 +kap Dor,1.240720,1.267749,5.28,A8 +nu 2Col,1.473686,1.199419,5.28,F5 +eta Vol,2.190717,0.698190,5.28,A0 +chi Boo,3.990202,0.276693,5.28,A2 +iot TrA,4.310765,0.095644,5.28,F4 +ome1Aql,5.051928,1.030733,5.28,F0 +chi Aql,5.159921,1.435766,5.28,F3 +phi Aql,5.219569,0.734609,5.28,A1 +nu Ind,5.866807,0.440288,5.28,A3 +sig Cap,5.320607,0.205542,5.28,K2 +eps Scl,0.460960,0.089826,5.29,F2 +nu Lep,1.396193,0.539947,5.29,B7 +gam3Oct,0.043798,0.385834,5.29,K1 +chi Oct,4.951474,1.052986,5.29,K3 +xi Gru,5.637840,0.304153,5.29,K0 +eta Hor,0.686806,0.941052,5.30,A6 +lam Pic,1.233836,0.829933,5.30,K0 +mu 2Cnc,2.128272,1.005048,5.30,G2 +the2Sgr,5.235354,1.207622,5.30,A4 +chi Cap,5.535138,0.330653,5.30,A0 +mu Scl,6.198698,0.122988,5.30,K0 +bet Men,1.320851,0.538609,5.30,G8 +rho2Eri,0.797198,1.194881,5.32,K0 +zet Mic,5.510729,1.091500,5.32,F3 +xi Oct,5.979407,0.211098,5.32,B6 +mu 2Pav,5.244162,1.639940,5.32,K2 +psi1Psc,0.286593,0.821352,5.33,A1 +kap1Vol,2.180862,0.888373,5.33,B9 +nu Tel,5.183708,0.623722,5.33,A9 +the Cnc,2.232259,0.157196,5.33,K5 +eta Cnc,2.237114,0.764629,5.33,K3 +pi For,0.529038,0.001629,5.34,G8 +psi3Aur,1.740180,1.573502,5.34,B8 +iot Cha,2.461622,1.371218,5.34,F3 +chi Ser,4.109333,1.469305,5.34,A0 +rho Psc,0.376357,0.296822,5.35,F2 +rho Aqr,5.847719,1.430006,5.35,B8 +phi3Cet,0.244456,0.453611,5.35,K4 +iot Tuc,0.293693,1.347074,5.36,G5 +lam Hor,0.632245,0.535787,5.36,F2 +pi 2Cnc,2.422654,1.637555,5.36,K1 +psi Leo,2.547010,0.034354,5.36,M2 +eta1Pic,1.321267,0.263341,5.37,F2 +pi 2Dor,1.681963,1.200437,5.37,G8 +kap Gru,6.041717,1.673393,5.37,K5 +rho Tuc,0.185318,0.816029,5.38,F6 +chi Tau,1.145731,1.089580,5.38,B9 +gam2For,0.741340,1.638079,5.39,A1 +rho CrB,4.193357,0.529242,5.39,G2 +iot Aps,4.547010,0.210429,5.39,B8 +eta Del,5.384123,0.040113,5.39,A3 +iot Hor,0.709270,1.397136,5.40,G3 +ome Leo,2.480359,0.094364,5.40,F9 +kap1Aps,4.064495,0.675559,5.40,B1 +nu 2CrB,4.286908,1.225250,5.40,K5 +iot Vol,1.795288,1.672171,5.41,B7 +eta Lib,4.119298,1.169836,5.41,A6 +kap2Scl,0.050500,1.384395,5.41,K2 +sig Pav,5.451120,1.348267,5.41,K0 +kap1Scl,0.040799,1.721040,5.42,F3 +tau Cnc,2.391106,1.138886,5.42,G8 +iot Del,5.401001,0.651502,5.42,A2 +zet Oct,2.341787,1.148310,5.43,F0 +nu Cha,2.558392,1.347831,5.43,G8 +lam CrB,4.170433,1.643024,5.43,F0 +psi2Dra,4.691382,0.005381,5.43,F2 +eta PsA,5.763239,0.789325,5.43,B8 +zet Pic,1.393508,1.054033,5.44,F7 +sig2Cnc,2.342859,1.581879,5.44,A7 +lam Nor,4.272976,1.171174,5.44,A3 +ome2Cyg,5.372619,0.382023,5.44,M2 +nu Ari,0.692968,1.670047,5.45,A7 +the Men,1.817650,0.730915,5.45,B9 +nu Cnc,2.368141,0.788482,5.45,A0 +iot Oct,3.381455,0.210690,5.45,K0 +sig Oct,5.536040,1.664870,5.45,F0 +lam PsA,5.822036,1.338348,5.45,B7 +rho2Cep,5.889975,1.433381,5.45,A3 +lam2Tuc,0.240005,0.912545,5.45,G7 +chi3Sgr,5.085429,1.671065,5.45,K3 +omi Aur,1.509277,1.435417,5.46,A0 +kap Men,1.528385,0.622937,5.46,B9 +eta Cha,2.274717,1.672113,5.46,B9 +del1Cha,2.815535,0.817483,5.46,K0 +eta1CrA,4.925499,1.177515,5.46,A2 +iot Pav,4.757932,0.002909,5.47,G0 +phi Oct,4.815395,0.069697,5.47,A0 +nu Gru,5.884609,0.219039,5.47,G8 +eta Men,1.287990,1.632814,5.47,K6 +xi Ari,0.631885,1.058309,5.48,B7 +iot Crt,3.048506,0.351422,5.48,F7 +eta3For,0.744703,1.173036,5.48,K2 +xi 2Lib,3.912891,0.708313,5.48,K4 +psi Oct,5.837450,0.884795,5.49,F3 +pi Tuc,0.090106,1.084926,5.50,B9 +sig Scl,0.272444,0.962084,5.50,A1 +sig Psc,0.274096,1.400801,5.50,B9 +eps Tri,0.536541,0.495354,5.50,A2 +pi 2Col,1.605184,0.265988,5.50,A0 +the TrA,4.344762,0.856142,5.50,G8 +tau Oct,6.143819,0.830806,5.50,K2 +lam2Phe,0.155707,0.000698,5.51,F6 +the Hyi,0.795245,1.573414,5.51,B8 +iot Hyi,0.855019,0.674570,5.51,F4 +ome1Tau,1.087187,1.056942,5.51,K2 +omi CrB,4.014886,1.064273,5.51,K0 +tau Aql,5.254045,0.477231,5.51,K0 +sig Ari,0.748279,0.132558,5.52,B7 +rho For,0.994548,0.291586,5.52,G6 +sig Col,1.554866,0.656477,5.52,F2 +omi Ind,5.719388,1.089638,5.52,M0 +zet1Ret,0.862809,0.999725,5.53,G2 +mu Men,1.235108,1.615011,5.53,B9 +mu 1Cha,2.621186,0.364512,5.53,A0 +zet4Lib,4.070634,1.486468,5.53,B3 +omi Gru,6.137490,1.256317,5.53,F4 +pi Psc,0.423676,0.241263,5.54,F0 +phi Gru,6.100638,1.433090,5.54,F5 +eps Men,1.944456,0.156818,5.54,K2 +phi Ser,4.176765,0.713083,5.54,K1 +eta Mic,5.525821,0.671777,5.55,K3 +psi2Psc,0.296496,1.286191,5.56,A3 +kap Oct,3.582010,1.369967,5.56,A2 +pi 1Dor,1.669570,1.717084,5.56,K5 +psi3Psc,0.304647,1.143249,5.57,G0 +del Ant,2.747105,1.054615,5.57,B9 +rho Oct,4.115785,0.801630,5.57,A2 +iot2Nor,4.229410,1.629847,5.57,B9 +lam Cap,5.700833,0.627562,5.57,A1 +pi 1Hyi,0.585740,1.463051,5.57,M1 +pi CrB,4.118928,0.889245,5.57,G9 +the Ari,0.602688,1.572018,5.58,A1 +rho3Ari,0.769834,0.036390,5.58,F6 +iot Pic,1.269392,0.797674,5.58,F0 +del1Lyr,4.946813,1.692446,5.58,B2 +pi 1Peg,5.799851,0.296997,5.58,G6 +phi1Cnc,2.209858,1.552732,5.58,K5 +del2CMi,1.977435,0.501782,5.59,F2 +eps Pyx,2.399567,0.626864,5.59,A4 +xi Scl,0.267488,1.588221,5.59,K1 +eta2CrA,4.928737,0.757037,5.60,B9 +kap1Sgr,5.333979,0.074962,5.60,A0 +zet Men,1.745541,1.410633,5.61,A5 +phi4Cet,0.256265,0.653859,5.62,G7 +pi 2Gru,5.860509,1.612102,5.62,F3 +ups Gru,6.051464,1.551103,5.62,A0 +kap2Ind,5.785108,1.108110,5.62,K4 +kap2Vol,2.181702,0.878395,5.63,A0 +pi 1UMa,2.265418,0.033307,5.63,G1 +pi Cha,3.042395,1.555525,5.64,F1 +kap2Aps,4.103077,0.770243,5.64,B8 +kap2Sgr,5.340212,0.733766,5.64,A3 +zet1Lib,4.050284,1.238922,5.64,K4 +pi Men,1.471079,0.819723,5.65,G3 +pi 1Oct,3.935041,0.389790,5.65,G8 +nu 2Lup,4.022225,0.553008,5.65,G2 +pi 2Oct,3.947859,0.063355,5.65,G8 +del Men,1.125678,0.363930,5.67,K2 +sig1Cnc,2.323806,0.822283,5.67,A8 +kap1CrA,4.858061,1.260535,5.67,B9 +pi 2Hyi,0.591126,1.293522,5.67,K2 +eps Sge,5.136895,0.798779,5.67,G8 +omi2Cnc,2.345661,1.004262,5.68,F0 +tau1Aqr,5.967772,0.093986,5.68,B9 +tau Scl,0.419492,1.578592,5.69,F2 +zet For,0.783658,0.473450,5.69,F3 +mu Pic,1.710300,1.313011,5.69,B9 +chi2Hya,2.905795,0.499193,5.69,B8 +the Aps,3.688470,1.381137,5.69,M6 +the Del,5.404992,0.539452,5.69,K3 +del Mic,5.524049,0.212290,5.69,K0 +kap2Cet,0.877520,1.173007,5.70,G8 +tau Phe,0.004698,1.406590,5.71,G8 +nu 1CMa,1.729538,1.144878,5.71,G8 +ups1Cnc,2.231881,0.131598,5.71,F0 +ups Ser,4.133329,0.190532,5.71,A3 +the Pav,4.924589,0.127700,5.71,A9 +chi2For,0.905635,1.178912,5.71,K2 +eta1Dor,1.597657,0.064839,5.72,A0 +gam2Oct,6.272494,0.294117,5.72,K0 +gam Hor,0.721945,1.226472,5.73,G8 +psi Cnc,2.140009,0.881217,5.73,G8 +iot1Cyg,5.093887,0.556702,5.73,A1 +zet1Mus,3.238461,0.531133,5.73,K0 +mu Ari,0.708452,0.012130,5.74,A0 +iot1For,0.681353,0.070366,5.74,G8 +zet1Ant,2.490445,1.547816,5.75,A0 +pi Aql,5.186686,1.412931,5.75,F2 +rho1Eri,0.790487,1.147903,5.75,K0 +mu 1Pav,5.237668,1.645264,5.75,K0 +the2Mic,5.604310,0.007010,5.76,A0 +rho2Ari,0.767109,0.568396,5.76,M6 +ups Oct,5.897601,1.687908,5.76,K0 +lam2For,0.684941,1.000190,5.78,G1 +omi Ari,0.717983,0.536049,5.78,B9 +nu Men,1.138684,1.003215,5.78,F0 +xi 1Lib,3.902477,1.557415,5.78,G7 +zet Nor,4.247171,0.938696,5.78,F2 +tau7Ser,4.109869,0.799943,5.80,A2 +ups CrB,4.261859,0.262119,5.80,A3 +zet3Lib,4.060828,1.057088,5.82,K0 +del3CMi,1.982104,0.645277,5.83,A0 +rho1Cep,5.876120,1.369909,5.83,A2 +iot2For,0.690758,0.331031,5.84,F5 +xi Men,1.303978,0.818530,5.84,G8 +xi 2Cap,5.290221,1.076665,5.84,F5 +rho2Sgr,5.069515,0.532151,5.84,K0 +psi9Aur,1.817474,0.473101,5.85,B8 +sig2Gru,5.920944,1.025992,5.85,A1 +psi Ser,4.119112,0.888925,5.86,G5 +ome1Cnc,2.098457,0.678991,5.87,G8 +eps For,0.792485,0.152920,5.88,G8 +ome Oct,3.975627,1.371887,5.88,B9 +kap Cru,3.376406,0.649990,5.89,B5 +eta1TrA,4.369369,0.507862,5.89,B7 +ups Aql,5.173441,1.060986,5.89,A3 +lam2Scl,0.192853,0.732776,5.90,K1 +sig For,0.988105,0.586838,5.91,A2 +zet2Ant,2.493798,1.518029,5.91,A9 +lam1For,0.668100,1.122741,5.91,K0 +eta2For,0.742838,1.465291,5.92,K0 +lam Cnc,2.184000,0.035052,5.92,B9 +psi For,0.757353,0.760236,5.93,F5 +kap Crt,2.998300,0.617992,5.93,F4 +tau5Ser,4.086194,0.206182,5.93,F3 +nu 1Lyr,4.929530,1.409702,5.93,B3 +omi Cap,5.366443,1.006095,5.94,A1 +rho1Cnc,2.323915,0.568105,5.96,G8 +mu 1Cnc,2.121913,1.107644,5.96,M3 +mu 1Oct,5.419431,0.305433,5.99,F4 +kap Hyi,0.623408,1.118465,5.99,K0 +tau6Ser,4.105821,0.037437,6.00,G8 +tau For,0.954670,1.639213,6.01,A0 +phi2Hya,2.776287,0.593296,6.01,M1 +ome2Aql,5.060949,0.932500,6.03,A2 +tau1Gru,5.993587,1.033555,6.03,G3 +iot Men,1.464341,1.429774,6.04,B8 +rho Ind,5.998083,0.123918,6.04,G4 +lam1Scl,0.186379,0.799506,6.05,B9 +tau2Hyi,0.470271,0.300837,6.05,F0 +bet Mic,5.462790,0.302727,6.06,A1 +iot2Lib,3.985112,1.120152,6.07,A2 +zet Cir,3.903908,1.724327,6.09,B3 +bet2Cap,5.326637,1.368804,6.09,B9 +kap Pic,1.406601,0.233874,6.10,B8 +tau3Ser,4.082127,1.140311,6.10,G8 +gam Ind,5.612356,1.145518,6.10,F1 +the Tuc,0.145679,0.453320,6.11,A7 +psi Crt,2.934362,0.860825,6.11,A0 +ome Phe,0.270658,0.002531,6.12,G8 +kap1Ind,5.753047,0.012799,6.13,F3 +omi Lib,4.018720,0.946608,6.14,F2 +gam1For,0.741110,0.970403,6.14,K0 +sig Hyi,0.505436,0.597833,6.15,F5 +nu 1Col,1.471639,1.517360,6.15,F0 +tau8Ser,4.122042,0.451226,6.15,A0 +pi Ind,5.743154,1.558754,6.17,A3 +eta Oct,2.876460,1.029133,6.19,A1 +tau2Ser,4.067321,0.093695,6.22,B9 +tau Pav,5.046081,0.327744,6.25,A6 +psi Aql,5.168661,0.526537,6.25,B9 +the Pic,1.417083,0.540528,6.26,A0 +sig1Gru,5.918795,1.005601,6.28,A3 +mu Tel,5.107602,0.185034,6.29,F5 +phi2Cnc,2.211265,1.631214,6.30,A3 +lam UMi,4.524567,0.062774,6.31,M1 +gam2Cae,1.328351,1.227170,6.32,F2 +ome2Cnc,2.101941,0.151844,6.32,A1 +tau1Hyi,0.442244,0.248331,6.33,G6 +xi 1Cap,5.288195,0.678497,6.34,K0 +zet Cae,1.255878,0.033219,6.35,K0 +ups2Cnc,2.238395,0.147102,6.35,G9 +chi1For,0.898541,1.604278,6.39,A1 +pi 1Gru,5.858793,1.644246,6.42,S5 +zet PsA,5.894395,0.123569,6.43,K1 +psi8Aur,1.806203,0.877988,6.46,B9 +Mira,0.608014,1.698031,6.47,M5 +chi3For,0.908408,1.487108,6.49,A1 +pi 1Cnc,2.409854,1.728923,6.49,G9 +eta1For,0.731132,0.960484,6.51,K0 +mu 2Boo,4.033963,0.596175,6.51,G1 +the Sge,5.279374,1.586272,6.51,F5 +mu 2Oct,5.418065,0.611302,6.51,G1 +lam Men,1.517575,1.224145,6.54,K0 +mu 2Cha,2.635983,0.976279,6.60,G6 +iot2Mus,3.522553,1.201426,6.62,B9 +lam1Tuc,0.228675,0.876417,6.67,F7 +chi Cyg,5.194823,1.585603,7.91,S7 --- openuniverse-1.0beta3.1+dfsg.orig/data/spacechart_to_openuniverse.pl +++ openuniverse-1.0beta3.1+dfsg/data/spacechart_to_openuniverse.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl +# Read data generated by Spacechart's gen_spacechart program and +# output in OU's format +# +# Output format is: +# name,right ascention (radians),declination (radians),magnitude,spectral type +# +# Input format is: +# number,catalogue name, short name, x, y, z, ra_hours, ra_minutes, ra_seconds, dec_degrees, dec_minutes + +use Getopt::Std; +use FileHandle; + +$PI = 3.14159265357989; + + +while () { + if ( /^(.*?),(.*?),/ ) { + ($number,$cat_name, $short_name, $x, $y, $z, $ra_hours, $ra_minutes, $ra_seconds, $dec_degrees, $dec_minutes) = split(/,/); + $ra = convertdeg_radians(convertra_deg($ra_hours,$ra_minutes,$ra_seconds)); + $dec = convertdeg_radians(convertdec_deg($dec_degrees,$dec_minutes)); + $short_name =~ s/ //g; + $short_name =~ s/ $//g; + printf ("%s,%.6f,%.6f\n",$short_name,$ra,$dec) if $ra != 0 && $dec != 0 && $short_name =~ /\w/; + } +} + +exit 0; + + +sub convertdeg_radians { + my ($degrees) = @_; + return $degrees*$PI/180; +} + +sub convertra_deg { + my ($hour,$min,$sec) = @_ ; + return 0 if $hour < 0 or $hour > 24 or $min < 0 or $min > 60 or $sec < 0 or $sec > 60; + return 15*($hour+$min/60+$sec/3600); +} + +sub convertdec_deg { + my ($degrees,$minutes) = @_ ; + return $degrees+$minutes/60; +} --- openuniverse-1.0beta3.1+dfsg.orig/data/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/data/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -82,7 +82,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -124,7 +124,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ --- openuniverse-1.0beta3.1+dfsg.orig/docs/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/docs/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -82,7 +82,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -124,7 +124,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ --- openuniverse-1.0beta3.1+dfsg.orig/3dmodels/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/3dmodels/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -82,7 +82,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -124,7 +124,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ --- openuniverse-1.0beta3.1+dfsg.orig/textures/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/textures/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -82,7 +82,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -124,7 +124,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ --- openuniverse-1.0beta3.1+dfsg.orig/src/font.cpp +++ openuniverse-1.0beta3.1+dfsg/src/font.cpp @@ -46,21 +46,25 @@ } /* A couple of functions borrowed from David Bucciarelli's demos */ -void texprintstring(float x, float y, float z, char *string) +void texprintstring(float x, float y, float z, const char *string) { extern int filter; + char *str; + strncpy(str, string, strlen(string)); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glPushMatrix(); glTranslatef(x, y, z); - txfRenderString(txf, string, (int) strlen(string)); + txfRenderString(txf, str, (int) strlen(str)); glPopMatrix(); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter); + + free(str); } -void glutprintstring(float x, float y, float z, char *string) +void glutprintstring(float x, float y, float z, const char *string) { int i = 0; unsigned char v; @@ -72,7 +76,7 @@ glutBitmapCharacter(GLUT_BITMAP_HELVETICA_10, string[i++]); } -void printstring(float x, float y, float z, char *string) +void printstring(float x, float y, float z, const char *string) { switch (fonttype) { case TEXFONT: --- openuniverse-1.0beta3.1+dfsg.orig/src/init.cpp +++ openuniverse-1.0beta3.1+dfsg/src/init.cpp @@ -71,8 +71,8 @@ static void SetUpTrails(void); static void Spheroid(double, float, float, float, float, int, int, planetdata *, int); -void Print(char *), InitLogo(void); -GLubyte *read_JPEG_file(char *, int *, int *, int *); +void Print(const char *), InitLogo(void); +GLubyte *read_JPEG_file(const char *, int *, int *, int *); void Init(void) @@ -164,7 +164,7 @@ I know it's not the best way to do this but it will only have impact in the loading time ;-) */ -void Print(char *s) +void Print(const char *s) { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); @@ -175,7 +175,7 @@ if (splashbitmap) { if (!splashwidth) { - char *files[4]={"splash1.jpg", "splash2.jpg", "splash3.jpg", "splash4.jpg"}; + const char *files[4]={"splash1.jpg", "splash2.jpg", "splash3.jpg", "splash4.jpg"}; int i; splash_image = --- openuniverse-1.0beta3.1+dfsg.orig/src/cfgparse.tab.cpp +++ openuniverse-1.0beta3.1+dfsg/src/cfgparse.tab.cpp @@ -1,66 +1,167 @@ +/* A Bison parser, made by GNU Bison 1.875a. */ -/* A Bison parser, made from cfgparse.y - by GNU Bison version 1.25 - */ +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -#define YYBISON 1 /* Identify Bison output. */ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Written by Richard Stallman by simplifying the original so called + ``semantic'' parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 0 +/* Using locations. */ +#define YYLSP_NEEDED 0 + +/* If NAME_PREFIX is specified substitute the variables and functions + names. */ #define yyparse cfgparse -#define yylex cfglex +#define yylex cfglex #define yyerror cfgerror -#define yylval cfglval -#define yychar cfgchar +#define yylval cfglval +#define yychar cfgchar #define yydebug cfgdebug #define yynerrs cfgnerrs -#define INTEGER_NUM 258 -#define DOUBLE_NUM 259 -#define NAME 260 -#define SUN 261 -#define PLANET 262 -#define ASTEROID 263 -#define COMET 264 -#define SATELLITE 265 -#define ORBITER 266 -#define SPACESHIP 267 -#define RING 268 -#define ATMOSPHERE 269 -#define SPLASHBITMAP 270 -#define BORDER 271 -#define FILTER 272 -#define SHADING 273 -#define SIM_DATE 274 -#define PAUSE 275 -#define REALTIME 276 -#define PLANETS_LABELS 277 -#define STARS_LABELS 278 -#define INFO 279 -#define STAR_BRIGHT 280 -#define STAR_SIZE 281 -#define CAM_SPEED 282 -#define ATMOSPHERES 283 -#define CAM_MODE 284 -#define TARGET 285 -#define SOURCE 286 -#define SLICES 287 -#define STACKS 288 -#define JPEG_QUALITY 289 -#define MIPMAP 290 -#define MIPMAP_FILTER 291 -#define FONT 292 -#define LEVELOFDETAIL 293 -#define COLORDEPTH 294 -#define LOGO 295 -#define EOL 296 -#define MILKYWAY 297 -#define MESSIER 298 -#define DEMO 299 -#define DEMOSTEP 300 -#define TEXTURECOMPRESSION 301 + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + INTEGER_NUM = 258, + DOUBLE_NUM = 259, + NAME = 260, + SUN = 261, + PLANET = 262, + ASTEROID = 263, + COMET = 264, + SATELLITE = 265, + ORBITER = 266, + SPACESHIP = 267, + RING = 268, + ATMOSPHERE = 269, + SPLASHBITMAP = 270, + BORDER = 271, + FILTER = 272, + SHADING = 273, + SIM_DATE = 274, + PAUSE = 275, + REALTIME = 276, + PLANETS_LABELS = 277, + STARS_LABELS = 278, + INFO = 279, + STAR_BRIGHT = 280, + STAR_SIZE = 281, + CAM_SPEED = 282, + ATMOSPHERES = 283, + CAM_MODE = 284, + TARGET = 285, + SOURCE = 286, + SLICES = 287, + STACKS = 288, + JPEG_QUALITY = 289, + MIPMAP = 290, + MIPMAP_FILTER = 291, + FONT = 292, + LEVELOFDETAIL = 293, + COLORDEPTH = 294, + LOGO = 295, + EOL = 296, + MILKYWAY = 297, + MESSIER = 298, + DEMO = 299, + DEMOSTEP = 300, + TEXTURECOMPRESSION = 301 + }; +#endif +#define INTEGER_NUM 258 +#define DOUBLE_NUM 259 +#define NAME 260 +#define SUN 261 +#define PLANET 262 +#define ASTEROID 263 +#define COMET 264 +#define SATELLITE 265 +#define ORBITER 266 +#define SPACESHIP 267 +#define RING 268 +#define ATMOSPHERE 269 +#define SPLASHBITMAP 270 +#define BORDER 271 +#define FILTER 272 +#define SHADING 273 +#define SIM_DATE 274 +#define PAUSE 275 +#define REALTIME 276 +#define PLANETS_LABELS 277 +#define STARS_LABELS 278 +#define INFO 279 +#define STAR_BRIGHT 280 +#define STAR_SIZE 281 +#define CAM_SPEED 282 +#define ATMOSPHERES 283 +#define CAM_MODE 284 +#define TARGET 285 +#define SOURCE 286 +#define SLICES 287 +#define STACKS 288 +#define JPEG_QUALITY 289 +#define MIPMAP 290 +#define MIPMAP_FILTER 291 +#define FONT 292 +#define LEVELOFDETAIL 293 +#define COLORDEPTH 294 +#define LOGO 295 +#define EOL 296 +#define MILKYWAY 297 +#define MESSIER 298 +#define DEMO 299 +#define DEMOSTEP 300 +#define TEXTURECOMPRESSION 301 + + + + +/* Copy the first part of user declarations. */ #line 1 "cfgparse.y" #include /* For math functions, cos(), sin(), etc. */ #include +#include #include "ou.h" @@ -88,575 +189,924 @@ extern float speed, star_mag; struct tm date; -#line 32 "cfgparse.y" -typedef union { + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 +#endif + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#line 33 "cfgparse.y" +typedef union YYSTYPE { int ival; double dval; char name[100]; } YYSTYPE; -#include +/* Line 191 of yacc.c. */ +#line 215 "y.tab.c" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + + + +/* Copy the second part of user declarations. */ + + +/* Line 214 of yacc.c. */ +#line 227 "y.tab.c" + +#if ! defined (yyoverflow) || YYERROR_VERBOSE + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# else +# ifndef YYSTACK_USE_ALLOCA +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# endif +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# else +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +# define YYSTACK_ALLOC malloc +# define YYSTACK_FREE free +# endif +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ + + +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short yyss; + YYSTYPE yyvs; + }; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + register YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (0) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) -#ifndef __cplusplus -#ifndef __STDC__ -#define const #endif -#endif - +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short yysigned_char; +#endif -#define YYFINAL 288 -#define YYFLAG -32768 -#define YYNTBASE 50 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 301 ? yytranslate[x] : 72) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 47, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 48, 2, 49, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 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 +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 2 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 303 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 50 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 23 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 66 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 288 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 301 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const unsigned char yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 47, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 48, 2, 49, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 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 }; -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 1, 4, 8, 12, 16, 20, 24, 29, 33, - 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, - 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, - 117, 121, 125, 129, 131, 133, 135, 143, 145, 147, - 149, 150, 181, 182, 184, 187, 188, 189, 219, 220, - 222, 225, 226, 248, 249, 274, 275, 303, 304, 316, - 317, 319, 322, 333, 334 +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const unsigned short yyprhs[] = +{ + 0, 0, 3, 4, 7, 11, 15, 19, 23, 27, + 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, + 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, + 112, 116, 120, 124, 128, 132, 134, 136, 138, 146, + 148, 150, 152, 153, 184, 185, 187, 190, 191, 192, + 222, 223, 225, 228, 229, 251, 252, 277, 278, 306, + 307, 319, 320, 322, 325, 336, 337 }; -static const short yyrhs[] = { -1, - 50, 51, 0, 15, 47, 3, 0, 28, 47, 3, - 0, 16, 47, 3, 0, 17, 47, 5, 0, 18, - 47, 5, 0, 19, 47, 5, 5, 0, 20, 47, - 3, 0, 21, 47, 3, 0, 44, 47, 3, 0, - 45, 47, 3, 0, 22, 47, 3, 0, 23, 47, - 3, 0, 24, 47, 3, 0, 25, 47, 4, 0, - 26, 47, 4, 0, 27, 47, 4, 0, 29, 47, - 3, 0, 30, 47, 3, 0, 31, 47, 3, 0, - 32, 47, 3, 0, 33, 47, 3, 0, 34, 47, - 3, 0, 35, 47, 3, 0, 36, 47, 5, 0, - 37, 47, 3, 0, 38, 47, 3, 0, 46, 47, - 3, 0, 39, 47, 3, 0, 40, 47, 3, 0, - 42, 47, 3, 0, 43, 47, 3, 0, 52, 0, - 53, 0, 70, 0, 6, 48, 5, 4, 3, 4, - 49, 0, 54, 0, 63, 0, 65, 0, 0, 7, - 5, 48, 5, 3, 3, 3, 4, 4, 4, 4, - 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 3, 55, 67, 68, 56, 60, 49, 0, - 0, 57, 0, 56, 57, 0, 0, 0, 10, 5, - 48, 5, 3, 3, 3, 4, 4, 4, 4, 3, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 3, 58, 67, 60, 59, 49, 0, 0, 61, - 0, 60, 61, 0, 0, 11, 5, 48, 5, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 62, 49, 0, 0, 8, 5, - 48, 5, 4, 3, 3, 3, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 3, 64, - 56, 49, 0, 0, 9, 5, 48, 5, 3, 3, - 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 3, 3, 66, - 49, 0, 0, 14, 48, 5, 3, 3, 3, 4, - 4, 4, 3, 49, 0, 0, 69, 0, 68, 69, - 0, 13, 48, 5, 3, 3, 3, 4, 4, 4, - 49, 0, 0, 12, 5, 48, 5, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 71, 49, 0 +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const yysigned_char yyrhs[] = +{ + 51, 0, -1, -1, 51, 52, -1, 15, 47, 3, + -1, 28, 47, 3, -1, 16, 47, 3, -1, 17, + 47, 5, -1, 18, 47, 5, -1, 19, 47, 5, + 5, -1, 20, 47, 3, -1, 21, 47, 3, -1, + 44, 47, 3, -1, 45, 47, 3, -1, 22, 47, + 3, -1, 23, 47, 3, -1, 24, 47, 3, -1, + 25, 47, 4, -1, 26, 47, 4, -1, 27, 47, + 4, -1, 29, 47, 3, -1, 30, 47, 3, -1, + 31, 47, 3, -1, 32, 47, 3, -1, 33, 47, + 3, -1, 34, 47, 3, -1, 35, 47, 3, -1, + 36, 47, 5, -1, 37, 47, 3, -1, 38, 47, + 3, -1, 46, 47, 3, -1, 39, 47, 3, -1, + 40, 47, 3, -1, 42, 47, 3, -1, 43, 47, + 3, -1, 53, -1, 54, -1, 71, -1, 6, 48, + 5, 4, 3, 4, 49, -1, 55, -1, 64, -1, + 66, -1, -1, 7, 5, 48, 5, 3, 3, 3, + 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 3, 56, 68, 69, + 57, 61, 49, -1, -1, 58, -1, 57, 58, -1, + -1, -1, 10, 5, 48, 5, 3, 3, 3, 4, + 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 3, 59, 68, 61, 60, + 49, -1, -1, 62, -1, 61, 62, -1, -1, 11, + 5, 48, 5, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 63, 49, + -1, -1, 8, 5, 48, 5, 4, 3, 3, 3, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 3, 65, 57, 49, -1, -1, 9, 5, + 48, 5, 3, 3, 3, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 3, 3, 67, 49, -1, -1, 14, 48, 5, + 3, 3, 3, 4, 4, 4, 3, 49, -1, -1, + 70, -1, 69, 70, -1, 13, 48, 5, 3, 3, + 3, 4, 4, 4, 49, -1, -1, 12, 5, 48, + 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 72, 49, -1 }; -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 52, 52, 54, 60, 64, 68, 75, 82, 90, 94, - 98, 102, 106, 110, 114, 118, 122, 126, 130, 134, - 138, 142, 146, 150, 158, 162, 175, 178, 181, 184, - 203, 207, 211, 215, 215, 215, 217, 223, 223, 223, - 225, 255, 257, 258, 259, 261, 292, 294, 296, 297, - 298, 300, 328, 331, 365, 367, 396, 399, 400, 414, - 415, 415, 417, 434, 451 +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short yyrline[] = +{ + 0, 53, 53, 53, 57, 61, 65, 69, 76, 83, + 91, 95, 99, 103, 107, 111, 115, 119, 123, 127, + 131, 135, 139, 143, 147, 151, 159, 163, 176, 179, + 182, 185, 204, 208, 212, 216, 216, 216, 218, 224, + 224, 224, 229, 226, 258, 259, 260, 265, 293, 262, + 297, 298, 299, 302, 301, 335, 332, 371, 368, 400, + 401, 415, 416, 416, 418, 437, 435 }; #endif - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","INTEGER_NUM", -"DOUBLE_NUM","NAME","SUN","PLANET","ASTEROID","COMET","SATELLITE","ORBITER", -"SPACESHIP","RING","ATMOSPHERE","SPLASHBITMAP","BORDER","FILTER","SHADING","SIM_DATE", -"PAUSE","REALTIME","PLANETS_LABELS","STARS_LABELS","INFO","STAR_BRIGHT","STAR_SIZE", -"CAM_SPEED","ATMOSPHERES","CAM_MODE","TARGET","SOURCE","SLICES","STACKS","JPEG_QUALITY", -"MIPMAP","MIPMAP_FILTER","FONT","LEVELOFDETAIL","COLORDEPTH","LOGO","EOL","MILKYWAY", -"MESSIER","DEMO","DEMOSTEP","TEXTURECOMPRESSION","'='","'{'","'}'","input","line", -"sun","body","planet","@1","satellites","satellite","@2","@3","orbiters","orbiter", -"@4","asteroid","@5","comet","@6","atmosphere","rings","ring","spaceship","@7", NULL +#if YYDEBUG || YYERROR_VERBOSE +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "INTEGER_NUM", "DOUBLE_NUM", "NAME", "SUN", + "PLANET", "ASTEROID", "COMET", "SATELLITE", "ORBITER", "SPACESHIP", + "RING", "ATMOSPHERE", "SPLASHBITMAP", "BORDER", "FILTER", "SHADING", + "SIM_DATE", "PAUSE", "REALTIME", "PLANETS_LABELS", "STARS_LABELS", + "INFO", "STAR_BRIGHT", "STAR_SIZE", "CAM_SPEED", "ATMOSPHERES", + "CAM_MODE", "TARGET", "SOURCE", "SLICES", "STACKS", "JPEG_QUALITY", + "MIPMAP", "MIPMAP_FILTER", "FONT", "LEVELOFDETAIL", "COLORDEPTH", + "LOGO", "EOL", "MILKYWAY", "MESSIER", "DEMO", "DEMOSTEP", + "TEXTURECOMPRESSION", "'='", "'{'", "'}'", "$accept", "input", "line", + "sun", "body", "planet", "@1", "satellites", "satellite", "@2", "@3", + "orbiters", "orbiter", "@4", "asteroid", "@5", "comet", "@6", + "atmosphere", "rings", "ring", "spaceship", "@7", 0 }; #endif -static const short yyr1[] = { 0, - 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 52, 53, 53, 53, - 55, 54, 56, 56, 56, 58, 59, 57, 60, 60, - 60, 62, 61, 64, 63, 66, 65, 67, 67, 68, - 68, 68, 69, 71, 70 +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 296, 297, 298, 299, 300, 301, 61, 123, 125 }; +# endif -static const short yyr2[] = { 0, - 0, 2, 3, 3, 3, 3, 3, 4, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 1, 1, 1, 7, 1, 1, 1, - 0, 30, 0, 1, 2, 0, 0, 29, 0, 1, - 2, 0, 21, 0, 24, 0, 27, 0, 11, 0, - 1, 2, 10, 0, 19 +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned char yyr1[] = +{ + 0, 50, 51, 51, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, + 52, 52, 52, 52, 52, 52, 52, 52, 53, 54, + 54, 54, 56, 55, 57, 57, 57, 59, 60, 58, + 61, 61, 61, 63, 62, 65, 64, 67, 66, 68, + 68, 69, 69, 69, 70, 72, 71 }; -static const short yydefact[] = { 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 34, 35, - 38, 39, 40, 36, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 5, 6, 7, 0, - 9, 10, 13, 14, 15, 16, 17, 18, 4, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, - 31, 32, 33, 11, 12, 29, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, - 0, 0, 0, 0, 65, 0, 0, 0, 0, 54, - 0, 0, 43, 0, 0, 0, 0, 44, 0, 41, - 0, 55, 45, 0, 58, 0, 56, 0, 60, 0, - 0, 0, 0, 43, 61, 0, 57, 0, 0, 49, - 62, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 0, 42, 51, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 52, 58, - 0, 49, 53, 47, 0, 48, 0, 0 +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 0, 2, 3, 3, 3, 3, 3, 4, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 1, 1, 1, 7, 1, + 1, 1, 0, 30, 0, 1, 2, 0, 0, 29, + 0, 1, 2, 0, 21, 0, 24, 0, 27, 0, + 11, 0, 1, 2, 10, 0, 19 }; -static const short yydefgoto[] = { 1, - 38, 39, 40, 41, 205, 197, 198, 280, 285, 226, - 227, 281, 42, 193, 43, 211, 209, 214, 215, 44, - 181 +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned char yydefact[] = +{ + 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, + 35, 36, 39, 40, 41, 37, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4, 6, 7, + 8, 0, 10, 11, 14, 15, 16, 17, 18, 19, + 5, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 31, 32, 33, 34, 12, 13, 30, 0, 0, + 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 65, 0, + 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, + 0, 55, 0, 0, 44, 0, 0, 0, 0, 45, + 0, 42, 0, 56, 46, 0, 59, 0, 57, 0, + 61, 0, 0, 0, 0, 44, 62, 0, 58, 0, + 0, 50, 63, 0, 0, 0, 0, 0, 51, 0, + 0, 0, 0, 43, 52, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 60, 64, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, + 53, 59, 0, 50, 54, 48, 0, 49 }; -static const short yypact[] = {-32768, - 1, -44, 7, 45, 46, 47, -41, 6, 8, 9, - 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 49, 39, 40, 41, 42, 83, - 88, 87, 89, 90, 93, 94, 95, 96, 97, 98, - 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, - 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125,-32768,-32768,-32768,-32768, 126, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 129, 130, 131, 133, - 134,-32768, 135, 137, 138, 139, 140, 44, 142, 143, - 144, 145,-32768, 146, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190,-32768, 191, 192, 193, - 52, 194, 195, 196,-32768, 197, 199, 200, 201,-32768, - 202, 203, 127, 204, 206, 147, -7,-32768, 207,-32768, - 65,-32768,-32768, 208, 112, 163,-32768, 76, 205, 209, - 85, 198, 210, -8,-32768, 211,-32768, 212, 214, 4, --32768, 213, 217, 218, 219, 0,-32768, 221, 220, 223, - 215,-32768,-32768, 224, 225, 227, 222, 228, 229, 230, - 231, 232, 233, 234, 235, 237, 238, 239, 240, 241, - 216, 226, 242, 243,-32768,-32768, 244, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 255, 256, 257, 258, - 260, 262, 263, 264, 265, 267, 268,-32768,-32768, 112, - 236, 132,-32768, 132, 254,-32768, 271,-32768 +/* YYDEFGOTO[NTERM-NUM]. */ +static const short yydefgoto[] = +{ + -1, 1, 39, 40, 41, 42, 206, 198, 199, 281, + 286, 227, 228, 282, 43, 194, 44, 212, 210, 215, + 216, 45, 182 }; -static const short yypgoto[] = {-32768, --32768,-32768,-32768,-32768,-32768, -66, -149,-32768,-32768, -69, - -226,-32768,-32768,-32768,-32768,-32768, -63,-32768, 59,-32768, --32768 +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -228 +static const short yypact[] = +{ + -228, 1, -228, -44, 7, 45, 46, 47, -41, 6, + 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, -228, + -228, -228, -228, -228, -228, -228, 49, 39, 40, 41, + 42, 83, 88, 87, 89, 90, 93, 94, 95, 96, + 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 125, -228, -228, -228, + -228, 126, -228, -228, -228, -228, -228, -228, -228, -228, + -228, -228, -228, -228, -228, -228, -228, -228, -228, -228, + -228, -228, -228, -228, -228, -228, -228, -228, 129, 130, + 131, 133, 134, -228, 135, 137, 138, 139, 140, 44, + 142, 143, 144, 145, -228, 146, 148, 149, 150, 151, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 185, 186, 187, 188, 189, 190, -228, 191, + 192, 193, 52, 194, 195, 196, -228, 197, 199, 200, + 201, -228, 202, 203, 127, 204, 206, 147, -7, -228, + 207, -228, 65, -228, -228, 208, 112, 163, -228, 76, + 205, 209, 85, 198, 210, -8, -228, 211, -228, 212, + 214, 4, -228, 213, 217, 218, 219, 0, -228, 221, + 220, 223, 215, -228, -228, 224, 225, 227, 222, 228, + 229, 230, 231, 232, 233, 234, 235, 237, 238, 239, + 240, 241, 216, 226, 242, 243, -228, -228, 244, 245, + 246, 247, 248, 249, 250, 251, 252, 253, 255, 256, + 257, 258, 260, 262, 263, 264, 265, 267, 268, -228, + -228, 112, 236, 132, -228, 132, 254, -228 }; - -#define YYLAST 303 - - -static const short yytable[] = { 233, - 287, 196, 196, 45, 213, 50, 2, 3, 4, 5, - 225, 46, 6, 196, 225, 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, 202, 33, 34, 35, 36, 37, 203, 232, 47, - 48, 49, 51, 81, 52, 53, 54, 233, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 203, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 86, 82, 83, 84, 85, - 87, 88, 133, 89, 90, 91, 92, 93, 94, 95, - 185, 96, 97, 98, 99, 100, 101, 102, 103, 104, - 105, 106, 206, 108, 107, 109, 110, 111, 112, 113, - 114, 115, 116, 212, 117, 208, 118, 119, 120, 121, - 122, 123, 124, 217, 125, 126, 196, 127, 128, 129, - 130, 131, 225, 132, 134, 135, 136, 220, 137, 138, - 139, 201, 140, 141, 142, 143, 144, 145, 146, 147, - 148, 149, 150, 151, 152, 153, 154, 210, 155, 156, - 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, - 177, 178, 179, 180, 182, 183, 184, 186, 187, 188, - 189, 190, 218, 191, 192, 194, 195, 199, 200, 204, - 207, 216, 284, 222, 223, 228, 282, 213, 224, 229, - 230, 0, 235, 231, 234, 236, 241, 238, 239, 240, - 0, 242, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 0, 252, 253, 254, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 219, 269, 270, - 271, 272, 237, 273, 255, 274, 275, 276, 277, 278, - 288, 279, 221, 0, 256, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 283, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 286 +/* YYPGOTO[NTERM-NUM]. */ +static const short yypgoto[] = +{ + -228, -228, -228, -228, -228, -228, -228, -67, -150, -228, + -228, -70, -227, -228, -228, -228, -228, -228, -64, -228, + 56, -228, -228 }; -static const short yycheck[] = { 226, - 0, 10, 10, 48, 13, 47, 6, 7, 8, 9, - 11, 5, 12, 10, 11, 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, 49, 42, 43, 44, 45, 46, 197, 49, 5, - 5, 5, 47, 5, 47, 47, 47, 284, 47, 47, - 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 220, 47, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, 47, 47, 3, 48, 48, 48, 48, - 3, 5, 49, 5, 5, 3, 3, 3, 3, 3, - 49, 4, 4, 4, 3, 3, 3, 3, 3, 3, - 3, 3, 48, 3, 5, 3, 3, 3, 3, 3, - 3, 3, 3, 48, 4, 14, 5, 5, 5, 5, - 5, 3, 3, 49, 4, 3, 10, 4, 4, 3, - 3, 3, 11, 4, 3, 3, 3, 214, 4, 4, - 3, 5, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 3, 5, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 3, 5, 4, 4, 4, 4, 4, 3, 3, - 3, 3, 282, 3, 3, 3, 280, 13, 5, 3, - 3, -1, 3, 5, 4, 3, 5, 4, 4, 3, - -1, 4, 4, 4, 4, 4, 4, 4, 4, 3, - 3, -1, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 48, 4, 4, - 4, 4, 48, 4, 49, 4, 4, 4, 4, 3, - 0, 4, 214, -1, 49, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 49 +/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule which + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -1 +static const unsigned short yytable[] = +{ + 234, 2, 197, 197, 46, 214, 51, 3, 4, 5, + 6, 226, 47, 7, 197, 226, 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, 203, 34, 35, 36, 37, 38, 204, 233, + 48, 49, 50, 52, 82, 53, 54, 55, 234, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 204, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 87, 83, 84, 85, + 86, 88, 89, 134, 90, 91, 92, 93, 94, 95, + 96, 186, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, 107, 207, 109, 108, 110, 111, 112, 113, + 114, 115, 116, 117, 213, 118, 209, 119, 120, 121, + 122, 123, 124, 125, 218, 126, 127, 197, 128, 129, + 130, 131, 132, 226, 133, 135, 136, 137, 221, 138, + 139, 140, 202, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 155, 211, 156, + 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, + 177, 178, 179, 180, 181, 183, 184, 185, 187, 188, + 189, 190, 191, 219, 192, 193, 195, 196, 200, 201, + 205, 208, 217, 285, 223, 224, 229, 283, 214, 225, + 230, 231, 0, 236, 232, 235, 237, 242, 239, 240, + 241, 0, 243, 244, 245, 246, 247, 248, 249, 250, + 251, 252, 0, 253, 254, 255, 258, 259, 260, 261, + 262, 263, 264, 265, 266, 267, 268, 269, 220, 270, + 271, 272, 273, 238, 274, 256, 275, 276, 277, 278, + 279, 222, 280, 0, 0, 257, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 284, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 287 }; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/bison.simple" - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ +static const short yycheck[] = +{ + 227, 0, 10, 10, 48, 13, 47, 6, 7, 8, + 9, 11, 5, 12, 10, 11, 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, 49, 42, 43, 44, 45, 46, 198, 49, + 5, 5, 5, 47, 5, 47, 47, 47, 285, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 221, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 3, 48, 48, 48, + 48, 3, 5, 49, 5, 5, 3, 3, 3, 3, + 3, 49, 4, 4, 4, 3, 3, 3, 3, 3, + 3, 3, 3, 48, 3, 5, 3, 3, 3, 3, + 3, 3, 3, 3, 48, 4, 14, 5, 5, 5, + 5, 5, 3, 3, 49, 4, 3, 10, 4, 4, + 3, 3, 3, 11, 4, 3, 3, 3, 215, 4, + 4, 3, 5, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 3, 5, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 3, 5, 4, 4, 4, 4, 4, 3, + 3, 3, 3, 283, 3, 3, 3, 281, 13, 5, + 3, 3, -1, 3, 5, 4, 3, 5, 4, 4, + 3, -1, 4, 4, 4, 4, 4, 4, 4, 4, + 3, 3, -1, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 48, 4, + 4, 4, 4, 48, 4, 49, 4, 4, 4, 4, + 3, 215, 4, -1, -1, 49, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 49 +}; -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned char yystos[] = +{ + 0, 51, 0, 6, 7, 8, 9, 12, 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, 42, 43, 44, 45, 46, 52, + 53, 54, 55, 64, 66, 71, 48, 5, 5, 5, + 5, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 5, 48, 48, 48, 48, 3, 3, 5, + 5, 5, 3, 3, 3, 3, 3, 4, 4, 4, + 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, + 5, 5, 5, 5, 3, 3, 4, 3, 4, 4, + 3, 3, 3, 4, 49, 3, 3, 3, 4, 4, + 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 72, 4, 4, 4, 49, 4, 4, 4, + 4, 3, 4, 4, 65, 4, 4, 10, 57, 58, + 4, 3, 5, 49, 58, 3, 56, 48, 3, 14, + 68, 5, 67, 48, 13, 69, 70, 3, 49, 5, + 48, 57, 70, 3, 3, 5, 11, 61, 62, 3, + 3, 3, 5, 49, 62, 4, 3, 3, 48, 4, + 4, 3, 5, 4, 4, 4, 4, 4, 4, 4, + 4, 3, 3, 4, 4, 4, 49, 49, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, + 4, 59, 63, 68, 49, 61, 60, 49 }; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ + +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ +#endif +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t +#endif +#if ! defined (YYSIZE_T) +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int +#endif #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 +#define YYEMPTY (-2) #define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. + + +/* Like YYERROR except do call yyerror. This remains here temporarily + to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ + #define YYFAIL goto yyerrlab + #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ + +#define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ + { \ + yychar = (Token); \ + yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ + { \ + yyerror ("syntax error: cannot back up");\ + YYERROR; \ + } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 -#ifndef YYPURE -#define YYLEX yylex() -#endif +/* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + Current.first_line = Rhs[1].first_line; \ + Current.first_column = Rhs[1].first_column; \ + Current.last_line = Rhs[N].last_line; \ + Current.last_column = Rhs[N].last_column; #endif -#else /* not YYLSP_NEEDED */ + +/* YYLEX -- calling `yylex' with the right arguments. */ + #ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) +# define YYLEX yylex (YYLEX_PARAM) #else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ +# define YYLEX yylex () #endif -/* If nonreentrant, generate the variables here */ +/* Enable debugging if requested. */ +#if YYDEBUG -#ifndef YYPURE +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +# define YYDSYMPRINT(Args) \ +do { \ + if (yydebug) \ + yysymprint Args; \ +} while (0) + +# define YYDSYMPRINTF(Title, Token, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yysymprint (stderr, \ + Token, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (cinluded). | +`------------------------------------------------------------------*/ -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short *bottom, short *top) +#else +static void +yy_stack_print (bottom, top) + short *bottom; + short *top; #endif +{ + YYFPRINTF (stderr, "Stack now"); + for (/* Nothing. */; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_reduce_print (int yyrule) +#else +static void +yy_reduce_print (yyrule) + int yyrule; #endif +{ + int yyi; + unsigned int yylineno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", + yyrule - 1, yylineno); + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) + YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); + YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); +} -/* YYINITDEPTH indicates the initial size of the parser's stacks */ +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YYDSYMPRINT(Args) +# define YYDSYMPRINTF(Title, Token, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + +/* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH -#define YYINITDEPTH 200 +# define YYINITDEPTH 200 #endif -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ #if YYMAXDEPTH == 0 -#undef YYMAXDEPTH +# undef YYMAXDEPTH #endif #ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 +# define YYMAXDEPTH 10000 #endif -#ifndef YYPARSE_RETURN_TYPE -#define YYPARSE_RETURN_TYPE int -#endif + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined (__GLIBC__) && defined (_STRING_H) +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +# if defined (__STDC__) || defined (__cplusplus) +yystrlen (const char *yystr) +# else +yystrlen (yystr) + const char *yystr; +# endif +{ + register const char *yys = yystr; + + while (*yys++ != '\0') + continue; + + return yys - yystr - 1; +} +# endif +# endif + +# ifndef yystpcpy +# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +# if defined (__STDC__) || defined (__cplusplus) +yystpcpy (char *yydest, const char *yysrc) +# else +yystpcpy (yydest, yysrc) + char *yydest; + const char *yysrc; +# endif +{ + register char *yyd = yydest; + register const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +#endif /* !YYERROR_VERBOSE */ -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -YYPARSE_RETURN_TYPE yyparse (void); -#endif -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ +#if YYDEBUG +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) +#else static void -__yy_memcpy (to, from, count) - char *to; - char *from; - int count; +yysymprint (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE *yyvaluep; +#endif { - register char *f = from; - register char *t = to; - register int i = count; + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; - while (i-- > 0) - *t++ = *f++; + if (yytype < YYNTOKENS) + { + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +# ifdef YYPRINT + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + } + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + switch (yytype) + { + default: + break; + } + YYFPRINTF (yyoutput, ")"); } -#else /* __cplusplus */ +#endif /* ! YYDEBUG */ +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ +#if defined (__STDC__) || defined (__cplusplus) +static void +yydestruct (int yytype, YYSTYPE *yyvaluep) +#else static void -__yy_memcpy (char *to, char *from, int count) +yydestruct (yytype, yyvaluep) + int yytype; + YYSTYPE *yyvaluep; +#endif { - register char *f = from; - register char *t = to; - register int i = count; + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + switch (yytype) + { - while (i-- > 0) - *t++ = *f++; + default: + break; + } } + +/* Prevent warnings from -Wmissing-prototypes. */ + +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM); +# else +int yyparse (); +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) +int yyparse (void); +#else +int yyparse (); #endif -#endif - -#line 196 "/usr/share/bison.simple" +#endif /* ! YYPARSE_PARAM */ + -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ + +/* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; + + + +/*----------. +| yyparse. | +`----------*/ #ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -YYPARSE_RETURN_TYPE -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM) +# else +int yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) +int +yyparse (void) +#else +int +yyparse () + +#endif +#endif { + register int yystate; register int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. + + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + short yyssa[YYINITDEPTH]; + short *yyss = yyssa; register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + register YYSTYPE *yyvsp; - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else #define YYPOPSTACK (yyvsp--, yyssp--) -#endif - int yystacksize = YYINITDEPTH; + YYSIZE_T yystacksize = YYINITDEPTH; -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ + /* When reducing, the number of symbols on the RHS of the reduced + rule. */ int yylen; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif + YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; @@ -668,96 +1118,96 @@ so that they stay on the same level as the state stack. The wasted elements are never initialized. */ - yyssp = yyss - 1; + yyssp = yyss; yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: + goto yysetstate; - *++yyssp = yystate; +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. + */ + yyssp++; - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif + yysetstate: + *yyssp = yystate; + if (yyss + yystacksize - 1 <= yyssp) + { /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; + YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; + + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } #else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyoverflowlab; +# else /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - return 2; - } + if (YYMAXDEPTH <= yystacksize) + goto yyoverflowlab; yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) + if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); -#endif + + { + short *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyoverflowlab; + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif #endif /* no yyoverflow */ - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - if (yyssp >= yyss + yystacksize - 1) + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) YYABORT; } -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; - yybackup: + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: /* Do appropriate processing given the current state. */ /* Read a lookahead token if we need one and don't already have one. */ @@ -766,287 +1216,274 @@ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYFLAG) + if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif + YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ + if (yychar <= YYEOF) { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif + yytoken = YYTRANSLATE (yychar); + YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); } - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) + if (yyn <= 0) { - if (yyn == YYFLAG) + if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } - else if (yyn == 0) - goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif + YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; yystate = yyn; goto yynewstate; -/* Do the default action for the current state. */ -yydefault: +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; + goto yyreduce; + -/* Do a reduction. yyn is the number of a rule to reduce with. */ +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ yyreduce: + /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif + /* If YYLEN is nonzero, implement the default value of the action: + `$$ = $1'. + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; - switch (yyn) { -case 3: -#line 56 "cfgparse.y" -{ + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 4: +#line 57 "cfgparse.y" + { splashbitmap = yyvsp[0]. ival ; -; - break;} -case 4: -#line 60 "cfgparse.y" -{ +} + break; + + case 5: +#line 61 "cfgparse.y" + { atmospheres = yyvsp[0]. ival ; -; - break;} -case 5: -#line 64 "cfgparse.y" -{ +} + break; + + case 6: +#line 65 "cfgparse.y" + { border = yyvsp[0]. ival ; -; - break;} -case 6: -#line 68 "cfgparse.y" -{ +} + break; + + case 7: +#line 69 "cfgparse.y" + { if (!strcmp(yyvsp[0]. name , "GL_NEAREST")) filter = GL_NEAREST; if (!strcmp(yyvsp[0]. name , "GL_LINEAR")) filter = GL_LINEAR; -; - break;} -case 7: -#line 75 "cfgparse.y" -{ +} + break; + + case 8: +#line 76 "cfgparse.y" + { if (strcmp(yyvsp[0]. name , "GL_FLAT")) smodel = GL_SMOOTH; else smodel = GL_FLAT; -; - break;} -case 8: -#line 82 "cfgparse.y" -{ +} + break; + + case 9: +#line 83 "cfgparse.y" + { sscanf(yyvsp[-1]. name , "%d-%d-%d", &date.tm_mon, &date.tm_mday, &date.tm_year); sscanf(yyvsp[0]. name , "%d:%d:%d", &date.tm_hour, &date.tm_min, &date.tm_sec); date.tm_mon--; date.tm_year-=1900; days = mktime(&date) / 3600.0 / 24.0 - 10092.0; -; - break;} -case 9: -#line 90 "cfgparse.y" -{ +} + break; + + case 10: +#line 91 "cfgparse.y" + { paused = yyvsp[0]. ival ; -; - break;} -case 10: -#line 94 "cfgparse.y" -{ +} + break; + + case 11: +#line 95 "cfgparse.y" + { realtime = yyvsp[0]. ival ; -; - break;} -case 11: -#line 98 "cfgparse.y" -{ +} + break; + + case 12: +#line 99 "cfgparse.y" + { demomode = yyvsp[0]. ival ; -; - break;} -case 12: -#line 102 "cfgparse.y" -{ +} + break; + + case 13: +#line 103 "cfgparse.y" + { demostep = yyvsp[0]. ival ; -; - break;} -case 13: -#line 106 "cfgparse.y" -{ +} + break; + + case 14: +#line 107 "cfgparse.y" + { plabels = yyvsp[0]. ival ; -; - break;} -case 14: -#line 110 "cfgparse.y" -{ +} + break; + + case 15: +#line 111 "cfgparse.y" + { slabels = yyvsp[0]. ival ; -; - break;} -case 15: -#line 114 "cfgparse.y" -{ +} + break; + + case 16: +#line 115 "cfgparse.y" + { info = yyvsp[0]. ival ; -; - break;} -case 16: -#line 118 "cfgparse.y" -{ +} + break; + + case 17: +#line 119 "cfgparse.y" + { star_mag = yyvsp[0]. dval ; -; - break;} -case 17: -#line 122 "cfgparse.y" -{ +} + break; + + case 18: +#line 123 "cfgparse.y" + { star_size = yyvsp[0]. dval ; -; - break;} -case 18: -#line 126 "cfgparse.y" -{ +} + break; + + case 19: +#line 127 "cfgparse.y" + { speed = yyvsp[0]. dval ; -; - break;} -case 19: -#line 130 "cfgparse.y" -{ +} + break; + + case 20: +#line 131 "cfgparse.y" + { cmode = yyvsp[0]. ival ; -; - break;} -case 20: -#line 134 "cfgparse.y" -{ +} + break; + + case 21: +#line 135 "cfgparse.y" + { currtarget = yyvsp[0]. ival ; -; - break;} -case 21: -#line 138 "cfgparse.y" -{ +} + break; + + case 22: +#line 139 "cfgparse.y" + { currsource = yyvsp[0]. ival ; -; - break;} -case 22: -#line 142 "cfgparse.y" -{ +} + break; + + case 23: +#line 143 "cfgparse.y" + { slices = yyvsp[0]. ival ; -; - break;} -case 23: -#line 146 "cfgparse.y" -{ +} + break; + + case 24: +#line 147 "cfgparse.y" + { stacks = yyvsp[0]. ival ; -; - break;} -case 24: -#line 150 "cfgparse.y" -{ +} + break; + + case 25: +#line 151 "cfgparse.y" + { jpeg_quality = yyvsp[0]. ival ; if ((jpeg_quality < 0) || (jpeg_quality > 100)) { error("Invalid jpeg_quality value\n"); shutdown(1); } -; - break;} -case 25: -#line 158 "cfgparse.y" -{ +} + break; + + case 26: +#line 159 "cfgparse.y" + { mipmap = yyvsp[0]. ival ; -; - break;} -case 26: -#line 162 "cfgparse.y" -{ +} + break; + + case 27: +#line 163 "cfgparse.y" + { if (!strcmp(yyvsp[0]. name , "GL_NEAREST_MIPMAP_NEAREST")) mipmap_filter = GL_NEAREST_MIPMAP_NEAREST; if (!strcmp(yyvsp[0]. name , "GL_LINEAR_MIPMAP_NEAREST")) @@ -1057,26 +1494,30 @@ mipmap_filter = GL_NEAREST_MIPMAP_LINEAR; if (!strcmp(yyvsp[0]. name , "GL_LINEAR_MIPMAP_LINEAR")) mipmap_filter = GL_LINEAR_MIPMAP_LINEAR; -; - break;} -case 27: -#line 175 "cfgparse.y" -{ -fonttype = yyvsp[0]. ival ; - break;} -case 28: -#line 178 "cfgparse.y" -{ -LOD = yyvsp[0]. ival ; - break;} -case 29: -#line 181 "cfgparse.y" -{ -tex_compr *= yyvsp[0]. ival ; - break;} -case 30: -#line 184 "cfgparse.y" -{ +} + break; + + case 28: +#line 176 "cfgparse.y" + { +fonttype = yyvsp[0]. ival ;} + break; + + case 29: +#line 179 "cfgparse.y" + { +LOD = yyvsp[0]. ival ;} + break; + + case 30: +#line 182 "cfgparse.y" + { +tex_compr *= yyvsp[0]. ival ;} + break; + + case 31: +#line 185 "cfgparse.y" + { color_depth = yyvsp[0]. ival ; switch (color_depth) { default: @@ -1093,37 +1534,42 @@ cd_luma = GL_LUMINANCE8_ALPHA8; break; } -; - break;} -case 31: -#line 203 "cfgparse.y" -{ +} + break; + + case 32: +#line 204 "cfgparse.y" + { logo = yyvsp[0]. ival ; -; - break;} -case 32: -#line 207 "cfgparse.y" -{ +} + break; + + case 33: +#line 208 "cfgparse.y" + { milkyway = yyvsp[0]. ival ; -; - break;} -case 33: -#line 211 "cfgparse.y" -{ +} + break; + + case 34: +#line 212 "cfgparse.y" + { messier = yyvsp[0]. ival ; -; - break;} -case 37: -#line 217 "cfgparse.y" -{ +} + break; + + case 38: +#line 218 "cfgparse.y" + { sprintf(planets[0].Name, "The Sun"); planets[0].Mass = yyvsp[-1]. dval ; LOG("Initializing Sun", InitSun(yyvsp[-4]. name , yyvsp[-3]. dval , yyvsp[-2]. ival )) -; - break;} -case 41: -#line 228 "cfgparse.y" -{ +} + break; + + case 42: +#line 229 "cfgparse.y" + { strcpy(planets[body_index].Name, yyvsp[-22]. name ); INITVECTOR(planets[body_index].Color, yyvsp[-19]. ival / 255.0, yyvsp[-18]. ival / 255.0, yyvsp[-17]. ival / 255.0); @@ -1149,11 +1595,12 @@ LOG(yyvsp[-22]. name , SetUpBody(body_index, yyvsp[-20]. name , yyvsp[-12]. ival )); last_planet = body_index; body_index++; -; - break;} -case 46: -#line 264 "cfgparse.y" -{ +} + break; + + case 47: +#line 265 "cfgparse.y" + { currblock = SATELLITE; strcpy(planets[body_index].Name, yyvsp[-22]. name ); INITVECTOR(planets[body_index].Color, yyvsp[-19]. ival / 255.0, yyvsp[-18]. ival / 255.0, @@ -1179,17 +1626,19 @@ LOG(yyvsp[-22]. name , SetUpBody(body_index, yyvsp[-20]. name , yyvsp[-12]. ival )); last_satellite = body_index; body_index++; -; - break;} -case 47: -#line 292 "cfgparse.y" -{ +} + break; + + case 48: +#line 293 "cfgparse.y" + { currblock = PLANET; -; - break;} -case 52: -#line 301 "cfgparse.y" -{ +} + break; + + case 53: +#line 302 "cfgparse.y" + { strcpy(planets[body_index].Name, yyvsp[-17]. name ); planets[body_index].Type = ORBITER; planets[body_index].Radius = yyvsp[-14]. dval ; @@ -1214,11 +1663,12 @@ planets[body_index].CustomFunction = 0; LOG(yyvsp[-17]. name , SetUpOrbiter(body_index, yyvsp[-15]. name )); body_index++; -; - break;} -case 54: -#line 334 "cfgparse.y" -{ +} + break; + + case 55: +#line 335 "cfgparse.y" + { strcpy(planets[body_index].Name, yyvsp[-19]. name ); planets[body_index].Radius = yyvsp[-16]. dval ; INITVECTOR(planets[body_index].Color, yyvsp[-15]. ival / 255.0, yyvsp[-14]. ival / 255.0, @@ -1247,11 +1697,12 @@ LOG(yyvsp[-19]. name , SetUpAsteroid(body_index, yyvsp[-17]. name )); last_planet = body_index; body_index++; -; - break;} -case 56: -#line 370 "cfgparse.y" -{ +} + break; + + case 57: +#line 371 "cfgparse.y" + { strcpy(planets[body_index].Name, yyvsp[-23]. name ); INITVECTOR(planets[body_index].Color, yyvsp[-20]. ival / 255.0, yyvsp[-19]. ival / 255.0, yyvsp[-18]. ival / 255.0); @@ -1275,11 +1726,12 @@ LOG(yyvsp[-23]. name , SetUpComet(body_index, yyvsp[-21]. name , yyvsp[-13]. dval , yyvsp[-2]. dval , yyvsp[-1]. ival )); last_planet = body_index; body_index++; -; - break;} -case 59: -#line 401 "cfgparse.y" -{ +} + break; + + case 60: +#line 402 "cfgparse.y" + { INITVECTOR(planets[body_index].Color, yyvsp[-7]. ival / 255.0, yyvsp[-6]. ival / 255.0, yyvsp[-5]. ival / 255.0); planets[body_index].Radius = yyvsp[-4]. dval ; @@ -1288,11 +1740,12 @@ planets[body_index].Type = ATMOSPHERE; LOG("Atmosphere", SetUpAtmosphere(body_index, yyvsp[-8]. name , yyvsp[-2]. dval , yyvsp[-1]. ival )); body_index++; -; - break;} -case 63: -#line 418 "cfgparse.y" -{ +} + break; + + case 64: +#line 419 "cfgparse.y" + { planets[body_index].Color[0] = yyvsp[-6]. ival / 255.0; planets[body_index].Color[1] = yyvsp[-5]. ival / 255.0; planets[body_index].Color[2] = yyvsp[-4]. ival / 255.0; @@ -1303,11 +1756,12 @@ planets[body_index].initialized = 0; LOG("Ring", SetUpRings(body_index, yyvsp[-7]. name , yyvsp[-3]. dval , yyvsp[-2]. dval , yyvsp[-1]. dval )); body_index++; -; - break;} -case 64: -#line 436 "cfgparse.y" -{ +} + break; + + case 65: +#line 437 "cfgparse.y" + { strcpy(planets[body_index].Name, yyvsp[-15]. name ); INITVECTOR(planets[body_index].Color, 1.0, 1.0, 1.0); planets[body_index].Type = SPACESHIP; @@ -1320,207 +1774,208 @@ INITVECTOR(planets[body_index].vel, yyvsp[-2]. dval , yyvsp[-1]. dval , yyvsp[0]. dval ); LOG(yyvsp[-15]. name , SetUpSpaceShip(body_index, yyvsp[-13]. name )); body_index++; -; - break;} } - /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/share/bison.simple" + break; + + + } + +/* Line 999 of yacc.c. */ +#line 1785 "y.tab.c" yyvsp -= yylen; yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif + + YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ + /* Now `shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTBASE]; + yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; -yyerrlab: /* here on detecting error */ - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ +/*------------------------------------. +| yyerrlab -- here on detecting error | +`------------------------------------*/ +yyerrlab: + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) { ++yynerrs; - -#ifdef YYERROR_VERBOSE +#if YYERROR_VERBOSE yyn = yypact[yystate]; - if (yyn > YYFLAG && yyn < YYLAST) + if (YYPACT_NINF < yyn && yyn < YYLAST) { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) + YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); + char *yymsg; + int yyx, yycount; + + yycount = 0; + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + for (yyx = yyn < 0 ? -yyn : 0; + yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + yysize += yystrlen (yytname[yyx]) + 15, yycount++; + yysize += yystrlen ("syntax error, unexpected ") + 1; + yysize += yystrlen (yytname[yytype]); + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg != 0) { - strcpy(msg, "parse error"); + char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); + yyp = yystpcpy (yyp, yytname[yytype]); - if (count < 5) + if (yycount < 5) { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) + yycount = 0; + for (yyx = yyn < 0 ? -yyn : 0; + yyx < (int) (sizeof (yytname) / sizeof (char *)); + yyx++) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; + const char *yyq = ! yycount ? ", expecting " : " or "; + yyp = yystpcpy (yyp, yyq); + yyp = yystpcpy (yyp, yytname[yyx]); + yycount++; } } - yyerror(msg); - free(msg); + yyerror (yymsg); + YYSTACK_FREE (yymsg); } else - yyerror ("parse error; also virtual memory exceeded"); + yyerror ("syntax error; also virtual memory exhausted"); } else #endif /* YYERROR_VERBOSE */ - yyerror("parse error"); + yyerror ("syntax error"); } - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ + if (yyerrstatus == 3) { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ - /* return failure if at end of input */ + /* Return failure if at end of input. */ if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif + { + /* Pop the error token. */ + YYPOPSTACK; + /* Pop the rest of the stack. */ + while (yyss < yyssp) + { + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); + YYPOPSTACK; + } + YYABORT; + } + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ + } -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; -yyerrpop: /* pop the current state because it cannot handle the error token */ - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif +/*----------------------------------------------------. +| yyerrlab1 -- error raised explicitly by an action. | +`----------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ -#if YYDEBUG != 0 - if (yydebug) + for (;;) { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + yyvsp--; + yystate = *--yyssp; - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; + YY_STACK_PRINT (yyss, yyssp); } - else if (yyn == 0) - goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif + YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif + yystate = yyn; goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#ifndef yyoverflow +/*----------------------------------------------. +| yyoverflowlab -- parser overflow comes here. | +`----------------------------------------------*/ +yyoverflowlab: + yyerror ("parser stack overflow"); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif + return yyresult; } -#line 454 "cfgparse.y" + + +#line 455 "cfgparse.y" void yyerror(char *s) @@ -1548,3 +2003,4 @@ fclose(cfgin); NUMBODIES = body_index; } + --- openuniverse-1.0beta3.1+dfsg.orig/src/scrnshot.cpp +++ openuniverse-1.0beta3.1+dfsg/src/scrnshot.cpp @@ -47,8 +47,9 @@ sprintf(line, "%s/%s", shotspath, filename); if ((outfile = fopen(line, "wb")) == NULL) { - error("can't write screenshot\n"); - shutdown(1); + error("can't write screenshot to "SHOTS_DIR"\n"); + /* shutdown(1); */ + return; } jpeg_stdio_dest(&cinfo, outfile); --- openuniverse-1.0beta3.1+dfsg.orig/src/ou.cpp +++ openuniverse-1.0beta3.1+dfsg/src/ou.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include "ou.h" @@ -54,6 +55,7 @@ TexFont *txf = NULL; int fonttype = TEXFONT, glyphheight, glyphwidth; FILE *logfile = NULL; +char *logfileName = NULL; int totaltexsize = 0; void CheckError(void) @@ -521,13 +523,20 @@ int main(int argc, char *argv[]) { - logfile = fopen("log.txt", "wt"); + ParseCmdLine(argc, argv); + if (logfileName!=NULL) { + /* we need a logfile so open it */ + /* However, try to be careful when opening debug files, might be + * created in an unsafe location */ + int fd = open(logfileName, O_CREAT | O_EXCL | O_TRUNC | O_RDWR, 0600); + if (fd > -1) + logfile = fdopen(fd, "wt"); + } LOG("Initializing GLUT", glutInit(&argc, argv)); LOG("Initializing display mode", glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH)); LOG("Initializing window", glutInitWindowSize(width, height)); glutInitWindowPosition(0, 0); - LOG("Parsing command line", ParseCmdLine(argc, argv)); if (fullscreen) { #ifdef WIN32 glutGameModeString(game_string); --- openuniverse-1.0beta3.1+dfsg.orig/src/texfont.cpp +++ openuniverse-1.0beta3.1+dfsg/src/texfont.cpp @@ -0,0 +1,97 @@ +/* + replacement for non-free texfont.cpp for openuniverse + Copyright (C) 2008 PaulLiu(Ying-Chun Liu). + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include "texfont.h" +#include "ou.h" + +static int plib_init_flag=(1==0); + +static void init_plib() { + if (!plib_init_flag) { + fntInit(); + plib_init_flag=(1==1); + } +} + + +TexFont* txfLoadFont (char* filename) { + TexFont* ret=NULL; + char newfilename[1024]; + + init_plib(); + + ret = (TexFont*)malloc (sizeof(TexFont)); + memset(ret,0,sizeof(TexFont)); + + memset(newfilename,0,sizeof(newfilename)); + snprintf(newfilename,sizeof(newfilename)-1,"%s/%s",fontpath,filename); + ret->plibtexfont = new fntTexFont(newfilename); + + ret->tgi = (TexGlyphInfo*)malloc(sizeof(TexGlyphInfo)); + memset(ret->tgi,0,sizeof(TexGlyphInfo)); + ret->tgi->width = 3; + ret->tgi->advance = 3; + ret->tgi->height = 12; + + ret->plibrenderer = new fntRenderer(); + ret->plibrenderer->setFont(ret->plibtexfont); + return ret; +} + +GLuint txfEstablishTexture(TexFont* f,GLuint b,GLboolean c) +{ + init_plib(); + return 0; +} + +void txfBindFontTexture(TexFont* f) +{ + init_plib(); +} + +void txfUnloadFont(TexFont* f) +{ + init_plib(); + if (f!=NULL) { + if (f->plibrenderer!=NULL) { + delete f->plibrenderer; + f->plibrenderer=NULL; + } + if (f->tgi != NULL) { + free(f->tgi); + f->tgi=NULL; + } + if (f->plibtexfont!=NULL) { + delete f->plibtexfont; + f->plibtexfont=NULL; + } + free(f); + } +} + +void txfRenderString(TexFont* f,char* string,int string_len) { + init_plib(); + f->plibrenderer->begin(); + f->plibrenderer->puts(string); + f->plibrenderer->end(); +} --- openuniverse-1.0beta3.1+dfsg.orig/src/ou.h +++ openuniverse-1.0beta3.1+dfsg/src/ou.h @@ -22,6 +22,23 @@ #include #ifdef WIN32 +#if defined __BORLANDC__ +#include /* defines "memcpy" for BCB */ +#else +#include /* defines "memcpy" for other win32 platforms */ +#endif +#include /* "strncmp" + "strcmp" */ +#else /* WIN32 */ +#ifdef BSD +#include /* defines "memcpy", etc for BSD (?) */ +#else +#include /* defines "memcpy", etc for all others (???) */ +#endif +#endif /* WIN32 */ + + + +#ifdef WIN32 #include #include #endif @@ -102,6 +119,7 @@ extern TexFont *txf; extern int fonttype, glyphheight, glyphwidth; extern FILE *logfile; +extern char *logfileName; extern int hasPointEXT, numevents, currevent, eventrecord; extern double eventrecordstart; extern double eventstartcampos[3], eventstartcameye[3], eventstartcamup[3]; @@ -221,9 +239,9 @@ void TimerFunc(int); /* font.cpp */ void initfontengine(void); -void texprintstring(float, float, float, char *); -void glutprintstring(float, float, float, char *string); -void printstring(float, float, float, char *string); +void texprintstring(float, float, float, const char *); +void glutprintstring(float, float, float, const char *string); +void printstring(float, float, float, const char *string); /* util.cpp */ float gettime(void); void Rotation(double, double[3], double[3]); @@ -236,12 +254,12 @@ int SmoothTrans(double[3], double[3], double[3], double[3], double[3], double[3], double); GLubyte *texture_LOD(GLubyte *, int *, int *, int); -void log(char *); +void log(const char *); void shutdown(int); /* jpeg.cpp */ -GLubyte *read_JPEG_file(char *, int *, int *, int *); +GLubyte *read_JPEG_file(const char *, int *, int *, int *); /* dds.cpp */ -GLubyte *read_DDS_file(char *, int *, int *, int *); +GLubyte *read_DDS_file(const char *, int *, int *, int *); /* stars.cpp */ void InitStars(float, int); extern float star_size; --- openuniverse-1.0beta3.1+dfsg.orig/src/lex.cfg.cpp +++ openuniverse-1.0beta3.1+dfsg/src/lex.cfg.cpp @@ -1,49 +1,86 @@ -#define yy_create_buffer cfg_create_buffer -#define yy_delete_buffer cfg_delete_buffer -#define yy_scan_buffer cfg_scan_buffer -#define yy_scan_string cfg_scan_string -#define yy_scan_bytes cfg_scan_bytes -#define yy_flex_debug cfg_flex_debug -#define yy_init_buffer cfg_init_buffer -#define yy_flush_buffer cfg_flush_buffer -#define yy_load_buffer_state cfg_load_buffer_state -#define yy_switch_to_buffer cfg_switch_to_buffer -#define yyin cfgin -#define yyleng cfgleng -#define yylex cfglex -#define yyout cfgout -#define yyrestart cfgrestart -#define yytext cfgtext -/* A lexical scanner generated by flex */ +#line 3 "lex.cfg.c" -/* Scanner skeleton version: - * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ - */ +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 31 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ +/* begin standard C headers. */ #include +#include +#include +#include +#include /* May break IA64 test-noansi-r */ +/* end standard C headers. */ -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ -#ifdef c_plusplus -#ifndef __cplusplus -#define __cplusplus +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) #endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) #endif +#endif /* ! FLEXINT_H */ #ifdef __cplusplus -#include -#include - -/* Use prototypes in function declarations. */ -#define YY_USE_PROTOS - /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST @@ -51,34 +88,17 @@ #if __STDC__ -#define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #endif /* ! __cplusplus */ -#ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use -#include -#include -#define YY_USE_CONST -#define YY_USE_PROTOS -#endif - #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif - -#ifdef YY_USE_PROTOS -#define YY_PROTO(proto) proto -#else -#define YY_PROTO(proto) () -#endif - /* Returned upon end-of-file. */ #define YY_NULL 0 @@ -93,71 +113,71 @@ * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ -#define BEGIN yy_start = 1 + 2 * +#define BEGIN (yy_start) = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ -#define YY_START ((yy_start - 1) / 2) +#define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) +#define YY_NEW_FILE cfgrestart(cfgin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ +#ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 +#endif +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +extern int cfgleng; -extern int yyleng; -extern FILE *yyin, *yyout; +extern FILE *cfgin, *cfgout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 -/* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This - * avoids problems with code like: - * - * if ( condition_holds ) - * yyless( 5 ); - * else - * do_something_else(); - * - * Prior to using the do-while the compiler would get upset at the - * "else" because it interpreted the "if" statement as being all - * done when it reached the ';' after the yyless() call. - */ - -/* Return all but the first 'n' matched characters back to the input stream. */ - + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ - /* Undo effects of setting up yytext. */ \ - *yy_cp = yy_hold_char; \ + /* Undo effects of setting up cfgtext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up cfgtext again */ \ } \ while ( 0 ) -#define unput(c) yyunput( c, yytext_ptr ) +#define unput(c) yyunput( c, (yytext_ptr) ) /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). */ -typedef unsigned int yy_size_t; +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef unsigned int yy_size_t; +#endif +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { FILE *yy_input_file; @@ -194,12 +214,16 @@ */ int yy_at_bol; + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; + #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process @@ -209,102 +233,138 @@ * possible backing-up. * * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. + * (via cfgrestart()), so that the user can continue scanning by + * just pointing cfgin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ -static YY_BUFFER_STATE yy_current_buffer = 0; +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". + * + * Returns the top of the stack, or NULL. */ -#define YY_CURRENT_BUFFER yy_current_buffer +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] -/* yy_hold_char holds the character lost when yytext is formed. */ +/* yy_hold_char holds the character lost when cfgtext is formed. */ static char yy_hold_char; - static int yy_n_chars; /* number of characters read into yy_ch_buf */ - - -int yyleng; +int cfgleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... +/* Flag which is used to allow cfgwrap()'s to do buffer switches + * instead of setting up a fresh cfgin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; -void yyrestart YY_PROTO(( FILE *input_file )); +void cfgrestart (FILE *input_file ); +void cfg_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE cfg_create_buffer (FILE *file,int size ); +void cfg_delete_buffer (YY_BUFFER_STATE b ); +void cfg_flush_buffer (YY_BUFFER_STATE b ); +void cfgpush_buffer_state (YY_BUFFER_STATE new_buffer ); +void cfgpop_buffer_state (void ); + +static void cfgensure_buffer_stack (void ); +static void cfg_load_buffer_state (void ); +static void cfg_init_buffer (YY_BUFFER_STATE b,FILE *file ); + +#define YY_FLUSH_BUFFER cfg_flush_buffer(YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE cfg_scan_buffer (char *base,yy_size_t size ); +YY_BUFFER_STATE cfg_scan_string (yyconst char *yy_str ); +YY_BUFFER_STATE cfg_scan_bytes (yyconst char *bytes,int len ); + +void *cfgalloc (yy_size_t ); +void *cfgrealloc (void *,yy_size_t ); +void cfgfree (void * ); -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); -void yy_load_buffer_state YY_PROTO(( void )); -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) - -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - -static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); -static void yy_flex_free YY_PROTO(( void * )); - -#define yy_new_buffer yy_create_buffer +#define yy_new_buffer cfg_create_buffer #define yy_set_interactive(is_interactive) \ { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_is_interactive = is_interactive; \ + if ( ! YY_CURRENT_BUFFER ){ \ + cfgensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + cfg_create_buffer(cfgin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_at_bol = at_bol; \ + if ( ! YY_CURRENT_BUFFER ){\ + cfgensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + cfg_create_buffer(cfgin,YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) +/* Begin user sect3 */ -#define yywrap() 1 +#define cfgwrap(n) 1 #define YY_SKIP_YYWRAP + typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; + +FILE *cfgin = (FILE *) 0, *cfgout = (FILE *) 0; + typedef int yy_state_type; -extern char *yytext; -#define yytext_ptr yytext -static yy_state_type yy_get_previous_state YY_PROTO(( void )); -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); -static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); +extern int cfglineno; + +int cfglineno = 1; + +extern char *cfgtext; +#define yytext_ptr cfgtext + +static yy_state_type yy_get_previous_state (void ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +static int yy_get_next_buffer (void ); +static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. + * corresponding action - sets up cfgtext. */ #define YY_DO_BEFORE_ACTION \ - yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ - yy_hold_char = *yy_cp; \ + (yytext_ptr) = yy_bp; \ + cfgleng = (size_t) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ - yy_c_buf_p = yy_cp; + (yy_c_buf_p) = yy_cp; #define YY_NUM_RULES 53 #define YY_END_OF_BUFFER 54 -static yyconst short int yy_accept[281] = +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[281] = { 0, 43, 43, 54, 52, 46, 47, 52, 43, 43, 41, 51, 50, 43, 43, 43, 43, 43, 43, 43, 43, @@ -338,7 +398,7 @@ 43, 43, 43, 43, 43, 36, 43, 43, 14, 0 } ; -static yyconst int yy_ec[256] = +static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -370,7 +430,7 @@ 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[40] = +static yyconst flex_int32_t yy_meta[40] = { 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -378,7 +438,7 @@ 2, 2, 2, 2, 2, 2, 2, 1, 1 } ; -static yyconst short int yy_base[283] = +static yyconst flex_int16_t yy_base[283] = { 0, 0, 0, 300, 301, 297, 301, 295, 0, 292, 33, 301, 301, 12, 269, 28, 32, 25, 269, 266, 266, @@ -413,7 +473,7 @@ 99, 82 } ; -static yyconst short int yy_def[283] = +static yyconst flex_int16_t yy_def[283] = { 0, 280, 1, 280, 280, 280, 280, 281, 282, 282, 282, 280, 280, 282, 282, 282, 282, 282, 282, 282, 282, @@ -448,7 +508,7 @@ 280, 280 } ; -static yyconst short int yy_nxt[341] = +static yyconst flex_int16_t yy_nxt[341] = { 0, 4, 5, 6, 7, 4, 8, 8, 9, 10, 11, 12, 8, 13, 14, 15, 16, 8, 17, 8, 8, @@ -489,7 +549,7 @@ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280 } ; -static yyconst short int yy_chk[341] = +static yyconst flex_int16_t yy_chk[341] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -533,6 +593,9 @@ static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; +extern int cfg_flex_debug; +int cfg_flex_debug = 0; + /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ @@ -540,17 +603,30 @@ #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -char *yytext; +char *cfgtext; #line 1 "cfglex.l" -#define INITIAL 0 #line 2 "cfglex.l" #include #include "ou.h" int reserverd_word(char *s); -extern int yylineno; +extern int cfglineno; #define YY_NO_UNPUT -#line 554 "lex.cfg.c" +#line 616 "lex.cfg.c" + +#define INITIAL 0 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif /* Macros after this point can all be overridden by user definitions in * section 1. @@ -558,65 +634,30 @@ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap YY_PROTO(( void )); +extern "C" int cfgwrap (void ); #else -extern int yywrap YY_PROTO(( void )); -#endif +extern int cfgwrap (void ); #endif - -#ifndef YY_NO_UNPUT -static void yyunput YY_PROTO(( int c, char *buf_ptr )); #endif + static void yyunput (int c,char *buf_ptr ); + #ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); +static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen YY_PROTO(( yyconst char * )); +static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT + #ifdef __cplusplus -static int yyinput YY_PROTO(( void )); +static int yyinput (void ); #else -static int input YY_PROTO(( void )); -#endif -#endif - -#if YY_STACK_USED -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -#ifndef YY_NO_PUSH_STATE -static void yy_push_state YY_PROTO(( int new_state )); -#endif -#ifndef YY_NO_POP_STATE -static void yy_pop_state YY_PROTO(( void )); -#endif -#ifndef YY_NO_TOP_STATE -static int yy_top_state YY_PROTO(( void )); +static int input (void ); #endif -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#endif - -#ifdef YY_MALLOC_DECL -YY_MALLOC_DECL -#else -#if __STDC__ -#ifndef __cplusplus -#include -#endif -#else -/* Just try to get by without declaring the routines. This will fail - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) - * or sizeof(void*) != sizeof(int). - */ -#endif #endif /* Amount of stuff to slurp up with each read. */ @@ -625,12 +666,11 @@ #endif /* Copy whatever the last rule matched to the standard output. */ - #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +#define ECHO (void) fwrite( cfgtext, cfgleng, 1, cfgout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -638,21 +678,35 @@ */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ - int c = '*', n; \ + int c = '*'; \ + size_t n; \ for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + (c = getc( cfgin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ + if ( c == EOF && ferror( cfgin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ - else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ - && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, cfgin))==0 && ferror(cfgin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(cfgin); \ + } \ + }\ +\ + #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - @@ -673,14 +727,20 @@ #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif +/* end tables serialization structures and prototypes */ + /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL -#define YY_DECL int yylex YY_PROTO(( void )) -#endif +#define YY_DECL_IS_OURS 1 + +extern int cfglex (void); -/* Code executed at the beginning of each rule, after yytext and yyleng +#define YY_DECL int cfglex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after cfgtext and cfgleng * have been set up. */ #ifndef YY_USER_ACTION @@ -695,62 +755,66 @@ #define YY_RULE_SETUP \ YY_USER_ACTION +/** The main scanner function which does all the work. + */ YY_DECL - { +{ register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; - + #line 15 "cfglex.l" -#line 708 "lex.cfg.c" +#line 770 "lex.cfg.c" - if ( yy_init ) + if ( (yy_init) ) { - yy_init = 0; + (yy_init) = 0; #ifdef YY_USER_INIT YY_USER_INIT; #endif - if ( ! yy_start ) - yy_start = 1; /* first start state */ + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ - if ( ! yyin ) - yyin = stdin; + if ( ! cfgin ) + cfgin = stdin; - if ( ! yyout ) - yyout = stdout; + if ( ! cfgout ) + cfgout = stdout; - if ( ! yy_current_buffer ) - yy_current_buffer = - yy_create_buffer( yyin, YY_BUF_SIZE ); + if ( ! YY_CURRENT_BUFFER ) { + cfgensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + cfg_create_buffer(cfgin,YY_BUF_SIZE ); + } - yy_load_buffer_state(); + cfg_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { - yy_cp = yy_c_buf_p; + yy_cp = (yy_c_buf_p); - /* Support of yytext. */ - *yy_cp = yy_hold_char; + /* Support of cfgtext. */ + *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; - yy_current_state = yy_start; + yy_current_state = (yy_start); yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { @@ -767,24 +831,22 @@ yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; - do_action: /* This label is used only to access EOF actions. */ - switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yy_hold_char; - yy_cp = yy_last_accepting_cpos; - yy_current_state = yy_last_accepting_state; + *yy_cp = (yy_hold_char); + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); goto yy_find_action; case 1: @@ -990,22 +1052,23 @@ case 41: YY_RULE_SETUP #line 58 "cfglex.l" -{ cfglval.ival = atoi(yytext); return INTEGER_NUM; } +{ cfglval.ival = atoi(cfgtext); return INTEGER_NUM; } YY_BREAK case 42: YY_RULE_SETUP #line 60 "cfglex.l" -{ cfglval.dval = atof(yytext); return DOUBLE_NUM; } +{ cfglval.dval = atof(cfgtext); return DOUBLE_NUM; } YY_BREAK case 43: YY_RULE_SETUP #line 62 "cfglex.l" -{ strcpy(cfglval.name, yytext); return NAME; } +{ strcpy(cfglval.name, cfgtext); return NAME; } YY_BREAK case 44: +/* rule 44 can match eol */ YY_RULE_SETUP #line 65 "cfglex.l" -yylineno++; +cfglineno++; YY_BREAK case 45: YY_RULE_SETUP @@ -1035,9 +1098,10 @@ YY_BREAK case 47: +/* rule 47 can match eol */ YY_RULE_SETUP #line 86 "cfglex.l" -{ yylineno++; } +{ cfglineno++; } YY_BREAK case 48: YY_RULE_SETUP @@ -1069,33 +1133,33 @@ #line 93 "cfglex.l" ECHO; YY_BREAK -#line 1073 "lex.cfg.c" +#line 1137 "lex.cfg.c" case YY_STATE_EOF(INITIAL): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yy_hold_char; + *yy_cp = (yy_hold_char); YY_RESTORE_YY_MORE_OFFSET - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between yy_current_buffer and our + * just pointed cfgin at a new source and called + * cfglex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ - yy_n_chars = yy_current_buffer->yy_n_chars; - yy_current_buffer->yy_input_file = yyin; - yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = cfgin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position @@ -1105,13 +1169,13 @@ * end-of-buffer state). Contrast this with the test * in input(). */ - if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) { /* This was really a NUL. */ yy_state_type yy_next_state; - yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - yy_current_state = yy_get_previous_state(); + yy_current_state = yy_get_previous_state( ); /* Okay, we're now positioned to make the NUL * transition. We couldn't have @@ -1124,41 +1188,41 @@ yy_next_state = yy_try_NUL_trans( yy_current_state ); - yy_bp = yytext_ptr + YY_MORE_ADJ; + yy_bp = (yytext_ptr) + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ - yy_cp = ++yy_c_buf_p; + yy_cp = ++(yy_c_buf_p); yy_current_state = yy_next_state; goto yy_match; } else { - yy_cp = yy_c_buf_p; + yy_cp = (yy_c_buf_p); goto yy_find_action; } } - else switch ( yy_get_next_buffer() ) + else switch ( yy_get_next_buffer( ) ) { case EOB_ACT_END_OF_FILE: { - yy_did_buffer_switch_on_eof = 0; + (yy_did_buffer_switch_on_eof) = 0; - if ( yywrap() ) + if ( cfgwrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up - * yytext, we can now set up + * cfgtext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; @@ -1166,30 +1230,30 @@ else { - if ( ! yy_did_buffer_switch_on_eof ) + if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = - yytext_ptr + yy_amount_of_matched_text; + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; - yy_current_state = yy_get_previous_state(); + yy_current_state = yy_get_previous_state( ); - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: - yy_c_buf_p = - &yy_current_buffer->yy_ch_buf[yy_n_chars]; + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - yy_current_state = yy_get_previous_state(); + yy_current_state = yy_get_previous_state( ); - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_find_action; } break; @@ -1200,8 +1264,7 @@ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ - } /* end of yylex */ - +} /* end of cfglex */ /* yy_get_next_buffer - try to read in a new buffer * @@ -1210,21 +1273,20 @@ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ - -static int yy_get_next_buffer() - { - register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr; +static int yy_get_next_buffer (void) +{ + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = (yytext_ptr); register int number_to_move, i; int ret_val; - if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); - if ( yy_current_buffer->yy_fill_buffer == 0 ) + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ - if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. @@ -1244,34 +1306,30 @@ /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ - yy_current_buffer->yy_n_chars = yy_n_chars = 0; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; else { - int num_to_read = - yy_current_buffer->yy_buf_size - number_to_move - 1; + size_t num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ -#ifdef YY_USES_REJECT - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -#else /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = yy_current_buffer; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = - (int) (yy_c_buf_p - b->yy_ch_buf); + (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { @@ -1284,8 +1342,7 @@ b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 ); + cfgrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ @@ -1295,35 +1352,35 @@ YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); - yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; - num_to_read = yy_current_buffer->yy_buf_size - + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; -#endif + } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ - YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), - yy_n_chars, num_to_read ); + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), num_to_read ); - yy_current_buffer->yy_n_chars = yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } - if ( yy_n_chars == 0 ) + if ( (yy_n_chars) == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); + cfgrestart(cfgin ); } else { ret_val = EOB_ACT_LAST_MATCH; - yy_current_buffer->yy_buffer_status = + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } @@ -1331,32 +1388,31 @@ else ret_val = EOB_ACT_CONTINUE_SCAN; - yy_n_chars += number_to_move; - yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; - yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; return ret_val; - } - +} /* yy_get_previous_state - get the state just before the EOB char was reached */ -static yy_state_type yy_get_previous_state() - { + static yy_state_type yy_get_previous_state (void) +{ register yy_state_type yy_current_state; register char *yy_cp; + + yy_current_state = (yy_start); - yy_current_state = yy_start; - - for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { @@ -1368,30 +1424,23 @@ } return yy_current_state; - } - +} /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ - -#ifdef YY_USE_PROTOS -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) -#else -static yy_state_type yy_try_NUL_trans( yy_current_state ) -yy_state_type yy_current_state; -#endif - { + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ register int yy_is_jam; - register char *yy_cp = yy_c_buf_p; + register char *yy_cp = (yy_c_buf_p); register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { - yy_last_accepting_state = yy_current_state; - yy_last_accepting_cpos = yy_cp; + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { @@ -1403,80 +1452,73 @@ yy_is_jam = (yy_current_state == 280); return yy_is_jam ? 0 : yy_current_state; - } - +} -#ifndef YY_NO_UNPUT -#ifdef YY_USE_PROTOS -static void yyunput( int c, register char *yy_bp ) -#else -static void yyunput( c, yy_bp ) -int c; -register char *yy_bp; -#endif - { - register char *yy_cp = yy_c_buf_p; + static void yyunput (int c, register char * yy_bp ) +{ + register char *yy_cp; + + yy_cp = (yy_c_buf_p); - /* undo effects of setting up yytext */ - *yy_cp = yy_hold_char; + /* undo effects of setting up cfgtext */ + *yy_cp = (yy_hold_char); - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register int number_to_move = yy_n_chars + 2; - register char *dest = &yy_current_buffer->yy_ch_buf[ - yy_current_buffer->yy_buf_size + 2]; + register int number_to_move = (yy_n_chars) + 2; + register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = - &yy_current_buffer->yy_ch_buf[number_to_move]; + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; - while ( source > yy_current_buffer->yy_ch_buf ) + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); - yy_current_buffer->yy_n_chars = - yy_n_chars = yy_current_buffer->yy_buf_size; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} - yytext_ptr = yy_bp; - yy_hold_char = *yy_cp; - yy_c_buf_p = yy_cp; - } -#endif /* ifndef YY_NO_UNPUT */ - - +#ifndef YY_NO_INPUT #ifdef __cplusplus -static int yyinput() + static int yyinput (void) #else -static int input() + static int input (void) #endif - { - int c; - *yy_c_buf_p = yy_hold_char; +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); - if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ - if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) /* This was really a NUL. */ - *yy_c_buf_p = '\0'; + *(yy_c_buf_p) = '\0'; else { /* need more input */ - int offset = yy_c_buf_p - yytext_ptr; - ++yy_c_buf_p; + int offset = (yy_c_buf_p) - (yytext_ptr); + ++(yy_c_buf_p); - switch ( yy_get_next_buffer() ) + switch ( yy_get_next_buffer( ) ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() @@ -1490,16 +1532,16 @@ */ /* Reset buffer status. */ - yyrestart( yyin ); + cfgrestart(cfgin ); - /* fall through */ + /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { - if ( yywrap() ) + if ( cfgwrap( ) ) return EOF; - if ( ! yy_did_buffer_switch_on_eof ) + if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); @@ -1509,172 +1551,169 @@ } case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + offset; + (yy_c_buf_p) = (yytext_ptr) + offset; break; } } } - c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ - *yy_c_buf_p = '\0'; /* preserve yytext */ - yy_hold_char = *++yy_c_buf_p; - + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve cfgtext */ + (yy_hold_char) = *++(yy_c_buf_p); return c; - } - - -#ifdef YY_USE_PROTOS -void yyrestart( FILE *input_file ) -#else -void yyrestart( input_file ) -FILE *input_file; -#endif - { - if ( ! yy_current_buffer ) - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); +} +#endif /* ifndef YY_NO_INPUT */ - yy_init_buffer( yy_current_buffer, input_file ); - yy_load_buffer_state(); +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void cfgrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + cfgensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + cfg_create_buffer(cfgin,YY_BUF_SIZE ); } + cfg_init_buffer(YY_CURRENT_BUFFER,input_file ); + cfg_load_buffer_state( ); +} -#ifdef YY_USE_PROTOS -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -#else -void yy_switch_to_buffer( new_buffer ) -YY_BUFFER_STATE new_buffer; -#endif - { - if ( yy_current_buffer == new_buffer ) +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void cfg_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * cfgpop_buffer_state(); + * cfgpush_buffer_state(new_buffer); + */ + cfgensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) return; - if ( yy_current_buffer ) + if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ - *yy_c_buf_p = yy_hold_char; - yy_current_buffer->yy_buf_pos = yy_c_buf_p; - yy_current_buffer->yy_n_chars = yy_n_chars; + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } - yy_current_buffer = new_buffer; - yy_load_buffer_state(); + YY_CURRENT_BUFFER_LVALUE = new_buffer; + cfg_load_buffer_state( ); /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe + * EOF (cfgwrap()) processing, but the only time this flag + * is looked at is after cfgwrap() is called, so it's safe * to go ahead and always set it. */ - yy_did_buffer_switch_on_eof = 1; - } - - -#ifdef YY_USE_PROTOS -void yy_load_buffer_state( void ) -#else -void yy_load_buffer_state() -#endif - { - yy_n_chars = yy_current_buffer->yy_n_chars; - yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; - yyin = yy_current_buffer->yy_input_file; - yy_hold_char = *yy_c_buf_p; - } + (yy_did_buffer_switch_on_eof) = 1; +} +static void cfg_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + cfgin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) -#else -YY_BUFFER_STATE yy_create_buffer( file, size ) -FILE *file; -int size; -#endif - { +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE cfg_create_buffer (FILE * file, int size ) +{ YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); + + b = (YY_BUFFER_STATE) cfgalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in cfg_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); + b->yy_ch_buf = (char *) cfgalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in cfg_create_buffer()" ); b->yy_is_our_buffer = 1; - yy_init_buffer( b, file ); + cfg_init_buffer(b,file ); return b; - } - +} -#ifdef YY_USE_PROTOS -void yy_delete_buffer( YY_BUFFER_STATE b ) -#else -void yy_delete_buffer( b ) -YY_BUFFER_STATE b; -#endif - { +/** Destroy the buffer. + * @param b a buffer created with cfg_create_buffer() + * + */ + void cfg_delete_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) return; - if ( b == yy_current_buffer ) - yy_current_buffer = (YY_BUFFER_STATE) 0; + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) - yy_flex_free( (void *) b->yy_ch_buf ); - - yy_flex_free( (void *) b ); - } + cfgfree((void *) b->yy_ch_buf ); + cfgfree((void *) b ); +} -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif - -#ifdef YY_USE_PROTOS -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -#else -void yy_init_buffer( b, file ) -YY_BUFFER_STATE b; -FILE *file; -#endif - +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a cfgrestart() or at EOF. + */ + static void cfg_init_buffer (YY_BUFFER_STATE b, FILE * file ) - { - yy_flush_buffer( b ); +{ + int oerrno = errno; + + cfg_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; -#if YY_ALWAYS_INTERACTIVE - b->yy_is_interactive = 1; -#else -#if YY_NEVER_INTERACTIVE - b->yy_is_interactive = 0; -#else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -#endif -#endif - } - + /* If b is the current buffer, then cfg_init_buffer was _probably_ + * called from cfgrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} - { - if ( ! b ) +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void cfg_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) return; b->yy_n_chars = 0; @@ -1691,31 +1730,123 @@ b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; - if ( b == yy_current_buffer ) - yy_load_buffer_state(); + if ( b == YY_CURRENT_BUFFER ) + cfg_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void cfgpush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + cfgensure_buffer_stack(); + + /* This block is copied from cfg_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from cfg_switch_to_buffer. */ + cfg_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void cfgpop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + cfg_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + cfg_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; } +} +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void cfgensure_buffer_stack (void) +{ + int num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + (yy_buffer_stack) = (struct yy_buffer_state**)cfgalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } -#ifndef YY_NO_SCAN_BUFFER -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) -#else -YY_BUFFER_STATE yy_scan_buffer( base, size ) -char *base; -yy_size_t size; -#endif - { - YY_BUFFER_STATE b; + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)cfgrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE cfg_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); + b = (YY_BUFFER_STATE) cfgalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + YY_FATAL_ERROR( "out of dynamic memory in cfg_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; @@ -1727,58 +1858,53 @@ b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; - yy_switch_to_buffer( b ); + cfg_switch_to_buffer(b ); return b; - } -#endif - - -#ifndef YY_NO_SCAN_STRING -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) -#else -YY_BUFFER_STATE yy_scan_string( yy_str ) -yyconst char *yy_str; -#endif - { - int len; - for ( len = 0; yy_str[len]; ++len ) - ; - - return yy_scan_bytes( yy_str, len ); - } -#endif +} +/** Setup the input buffer state to scan a string. The next call to cfglex() will + * scan from a @e copy of @a str. + * @param str a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * cfg_scan_bytes() instead. + */ +YY_BUFFER_STATE cfg_scan_string (yyconst char * str ) +{ + + return cfg_scan_bytes(str,strlen(str) ); +} -#ifndef YY_NO_SCAN_BYTES -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) -#else -YY_BUFFER_STATE yy_scan_bytes( bytes, len ) -yyconst char *bytes; -int len; -#endif - { +/** Setup the input buffer state to scan the given bytes. The next call to cfglex() will + * scan from a @e copy of @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE cfg_scan_bytes (yyconst char * bytes, int len ) +{ YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; - + /* Get memory for full buffer, including space for trailing EOB's. */ n = len + 2; - buf = (char *) yy_flex_alloc( n ); + buf = (char *) cfgalloc(n ); if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + YY_FATAL_ERROR( "out of dynamic memory in cfg_scan_bytes()" ); for ( i = 0; i < len; ++i ) buf[i] = bytes[i]; buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - b = yy_scan_buffer( buf, n ); + b = cfg_scan_buffer(buf,n ); if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + YY_FATAL_ERROR( "bad buffer in cfg_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. @@ -1786,148 +1912,164 @@ b->yy_is_our_buffer = 1; return b; - } -#endif - +} -#ifndef YY_NO_PUSH_STATE -#ifdef YY_USE_PROTOS -static void yy_push_state( int new_state ) -#else -static void yy_push_state( new_state ) -int new_state; +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 #endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); +static void yy_fatal_error (yyconst char* msg ) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); +/* Redefine yyless() so it works in section 3 code. */ - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up cfgtext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + cfgtext[cfgleng] = (yy_hold_char); \ + (yy_c_buf_p) = cfgtext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + cfgleng = yyless_macro_arg; \ + } \ + while ( 0 ) - if ( ! yy_start_stack ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } +/* Accessor methods (get/set functions) to struct members. */ - yy_start_stack[yy_start_stack_ptr++] = YY_START; +/** Get the current line number. + * + */ +int cfgget_lineno (void) +{ + + return cfglineno; +} - BEGIN(new_state); - } -#endif +/** Get the input stream. + * + */ +FILE *cfgget_in (void) +{ + return cfgin; +} +/** Get the output stream. + * + */ +FILE *cfgget_out (void) +{ + return cfgout; +} -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); +/** Get the length of the current token. + * + */ +int cfgget_leng (void) +{ + return cfgleng; +} - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif +/** Get the current token. + * + */ +char *cfgget_text (void) +{ + return cfgtext; +} -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif +/** Set the current line number. + * @param line_number + * + */ +void cfgset_lineno (int line_number ) +{ + + cfglineno = line_number; +} -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * + * @see cfg_switch_to_buffer + */ +void cfgset_in (FILE * in_str ) +{ + cfgin = in_str ; +} -#ifdef YY_USE_PROTOS -static void yy_fatal_error( yyconst char msg[] ) -#else -static void yy_fatal_error( msg ) -char msg[]; -#endif - { - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); - } +void cfgset_out (FILE * out_str ) +{ + cfgout = out_str ; +} +int cfgget_debug (void) +{ + return cfg_flex_debug; +} +void cfgset_debug (int bdebug ) +{ + cfg_flex_debug = bdebug ; +} -/* Redefine yyless() so it works in section 3 code. */ +/* cfglex_destroy is for both reentrant and non-reentrant scanners. */ +int cfglex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + cfg_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + cfgpop_buffer_state(); + } -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n; \ - yy_hold_char = *yy_c_buf_p; \ - *yy_c_buf_p = '\0'; \ - yyleng = n; \ - } \ - while ( 0 ) + /* Destroy the stack itself. */ + cfgfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + return 0; +} -/* Internal utility routines. */ +/* + * Internal utility routines. + */ #ifndef yytext_ptr -#ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) -#else -static void yy_flex_strncpy( s1, s2, n ) -char *s1; -yyconst char *s2; -int n; -#endif - { +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +{ register int i; - for ( i = 0; i < n; ++i ) + for ( i = 0; i < n; ++i ) s1[i] = s2[i]; - } +} #endif #ifdef YY_NEED_STRLEN -#ifdef YY_USE_PROTOS -static int yy_flex_strlen( yyconst char *s ) -#else -static int yy_flex_strlen( s ) -yyconst char *s; -#endif - { +static int yy_flex_strlen (yyconst char * s ) +{ register int n; - for ( n = 0; s[n]; ++n ) + for ( n = 0; s[n]; ++n ) ; return n; - } +} #endif - -#ifdef YY_USE_PROTOS -static void *yy_flex_alloc( yy_size_t size ) -#else -static void *yy_flex_alloc( size ) -yy_size_t size; -#endif - { +void *cfgalloc (yy_size_t size ) +{ return (void *) malloc( size ); - } +} -#ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, yy_size_t size ) -#else -static void *yy_flex_realloc( ptr, size ) -void *ptr; -yy_size_t size; -#endif - { +void *cfgrealloc (void * ptr, yy_size_t size ) +{ /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -1936,24 +2078,28 @@ * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); - } +} -#ifdef YY_USE_PROTOS -static void yy_flex_free( void *ptr ) -#else -static void yy_flex_free( ptr ) -void *ptr; -#endif - { - free( ptr ); - } +void cfgfree (void * ptr ) +{ + free( (char *) ptr ); /* see cfgrealloc() for (char *) cast */ +} -#if YY_MAIN -int main() - { - yylex(); - return 0; - } +#define YYTABLES_NAME "yytables" + +#undef YY_NEW_FILE +#undef YY_FLUSH_BUFFER +#undef yy_set_bol +#undef yy_new_buffer +#undef yy_set_interactive +#undef yytext_ptr +#undef YY_DO_BEFORE_ACTION + +#ifdef YY_DECL_IS_OURS +#undef YY_DECL_IS_OURS +#undef YY_DECL #endif #line 93 "cfglex.l" + + --- openuniverse-1.0beta3.1+dfsg.orig/src/Makefile.am +++ openuniverse-1.0beta3.1+dfsg/src/Makefile.am @@ -1,10 +1,11 @@ +pkgvardir = $(localstatedir)/games/@PACKAGE@ INCLUDES=-DTEXTURE_DIR=\""$(pkgdatadir)/textures"\" \ -DFONT_DIR=\""$(pkgdatadir)/fonts"\" \ -DMODEL_DIR=\""$(pkgdatadir)/3dmodels"\" \ -DDATA_DIR=\""$(pkgdatadir)/data"\" \ -DCONF_DIR=\""$(pkgdatadir)/conf"\" \ -DEVENTS_DIR=\""$(pkgdatadir)/events"\" \ - -DSHOTS_DIR=\""$(pkgdatadir)/scrshots"\" + -DSHOTS_DIR=\""$(pkgvardir)/scrshots"\" bin_PROGRAMS = openuniverse --- openuniverse-1.0beta3.1+dfsg.orig/src/jpeg.cpp +++ openuniverse-1.0beta3.1+dfsg/src/jpeg.cpp @@ -55,7 +55,7 @@ */ -GLubyte *read_JPEG_file(char *fname, int *width, int *height, +GLubyte *read_JPEG_file(const char *fname, int *width, int *height, int *components) { /* This struct contains the JPEG decompression parameters and pointers to --- openuniverse-1.0beta3.1+dfsg.orig/src/keyboard.cpp +++ openuniverse-1.0beta3.1+dfsg/src/keyboard.cpp @@ -246,6 +246,8 @@ } break; #endif + case 'q': + shutdown(0); default: help = 1; break; --- openuniverse-1.0beta3.1+dfsg.orig/src/cmdline.cpp +++ openuniverse-1.0beta3.1+dfsg/src/cmdline.cpp @@ -26,7 +26,6 @@ void ParseCmdLine(int n, char **s) { int i = 1, err = 0; - while ((i < n) && (!err)) { err = 0; if (!strcmp(s[i], "-bench")) { @@ -39,18 +38,48 @@ #ifdef HAVE_GLUI fullscreeninGUI = 1; #endif - if (s[i + 1][0] != '-') { - strcpy(game_string, s[i + 1]); - i++; + if (i+1==n) { + /* no parameter left */ + } + else { + /* optional parameter available */ + if (s[i + 1][0] != '-') { + strcpy(game_string, s[i + 1]); + i++; + } } i++; continue; } + #define DEF_LOGFILE_NAME "log.txt" + if (!strcmp(s[i], "-logfile")) { + if (i+1==n) { + /* no parameter for logfile, use default */ + logfileName=(char*)malloc(strlen(DEF_LOGFILE_NAME)); + strcpy(logfileName, DEF_LOGFILE_NAME); + } + else { + /* still a parameter left */ + if (s[i + 1][0] != '-') { + logfileName=(char*)malloc(strlen(s[i+1])); + strcpy(logfileName, s[i + 1]); + i++; + } + else { + /* use default logfileName */ + logfileName=(char*)malloc(strlen(DEF_LOGFILE_NAME)); + strcpy(logfileName, DEF_LOGFILE_NAME); + } + + } + i++; + continue; + } err = 1; }; if (err) { error("Valid command line options:\n"); - error("\n ou [-bench] [-fullscreen [mode_string]] \n\n"); + error("\n openuniverse [-bench] [-fullscreen [mode_string]] [-logfile [filename]]\n\n"); shutdown(1); } } --- openuniverse-1.0beta3.1+dfsg.orig/src/cfgparse.y +++ openuniverse-1.0beta3.1+dfsg/src/cfgparse.y @@ -1,6 +1,7 @@ %{ #include /* For math functions, cos(), sin(), etc. */ #include +#include #include "ou.h" @@ -173,13 +174,13 @@ } |FONT '=' INTEGER_NUM { -fonttype = $3} +fonttype = $3;} |LEVELOFDETAIL '=' INTEGER_NUM { -LOD = $3} +LOD = $3;} |TEXTURECOMPRESSION '=' INTEGER_NUM { -tex_compr *= $3} +tex_compr *= $3;} |COLORDEPTH '=' INTEGER_NUM { color_depth = $3; --- openuniverse-1.0beta3.1+dfsg.orig/src/cfgparse.tab.h +++ openuniverse-1.0beta3.1+dfsg/src/cfgparse.tab.h @@ -1,52 +1,143 @@ -typedef union { +/* A Bison parser, made by GNU Bison 1.875a. */ + +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + INTEGER_NUM = 258, + DOUBLE_NUM = 259, + NAME = 260, + SUN = 261, + PLANET = 262, + ASTEROID = 263, + COMET = 264, + SATELLITE = 265, + ORBITER = 266, + SPACESHIP = 267, + RING = 268, + ATMOSPHERE = 269, + SPLASHBITMAP = 270, + BORDER = 271, + FILTER = 272, + SHADING = 273, + SIM_DATE = 274, + PAUSE = 275, + REALTIME = 276, + PLANETS_LABELS = 277, + STARS_LABELS = 278, + INFO = 279, + STAR_BRIGHT = 280, + STAR_SIZE = 281, + CAM_SPEED = 282, + ATMOSPHERES = 283, + CAM_MODE = 284, + TARGET = 285, + SOURCE = 286, + SLICES = 287, + STACKS = 288, + JPEG_QUALITY = 289, + MIPMAP = 290, + MIPMAP_FILTER = 291, + FONT = 292, + LEVELOFDETAIL = 293, + COLORDEPTH = 294, + LOGO = 295, + EOL = 296, + MILKYWAY = 297, + MESSIER = 298, + DEMO = 299, + DEMOSTEP = 300, + TEXTURECOMPRESSION = 301 + }; +#endif +#define INTEGER_NUM 258 +#define DOUBLE_NUM 259 +#define NAME 260 +#define SUN 261 +#define PLANET 262 +#define ASTEROID 263 +#define COMET 264 +#define SATELLITE 265 +#define ORBITER 266 +#define SPACESHIP 267 +#define RING 268 +#define ATMOSPHERE 269 +#define SPLASHBITMAP 270 +#define BORDER 271 +#define FILTER 272 +#define SHADING 273 +#define SIM_DATE 274 +#define PAUSE 275 +#define REALTIME 276 +#define PLANETS_LABELS 277 +#define STARS_LABELS 278 +#define INFO 279 +#define STAR_BRIGHT 280 +#define STAR_SIZE 281 +#define CAM_SPEED 282 +#define ATMOSPHERES 283 +#define CAM_MODE 284 +#define TARGET 285 +#define SOURCE 286 +#define SLICES 287 +#define STACKS 288 +#define JPEG_QUALITY 289 +#define MIPMAP 290 +#define MIPMAP_FILTER 291 +#define FONT 292 +#define LEVELOFDETAIL 293 +#define COLORDEPTH 294 +#define LOGO 295 +#define EOL 296 +#define MILKYWAY 297 +#define MESSIER 298 +#define DEMO 299 +#define DEMOSTEP 300 +#define TEXTURECOMPRESSION 301 + + + + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#line 33 "cfgparse.y" +typedef union YYSTYPE { int ival; double dval; char name[100]; } YYSTYPE; -#define INTEGER_NUM 258 -#define DOUBLE_NUM 259 -#define NAME 260 -#define SUN 261 -#define PLANET 262 -#define ASTEROID 263 -#define COMET 264 -#define SATELLITE 265 -#define ORBITER 266 -#define SPACESHIP 267 -#define RING 268 -#define ATMOSPHERE 269 -#define SPLASHBITMAP 270 -#define BORDER 271 -#define FILTER 272 -#define SHADING 273 -#define SIM_DATE 274 -#define PAUSE 275 -#define REALTIME 276 -#define PLANETS_LABELS 277 -#define STARS_LABELS 278 -#define INFO 279 -#define STAR_BRIGHT 280 -#define STAR_SIZE 281 -#define CAM_SPEED 282 -#define ATMOSPHERES 283 -#define CAM_MODE 284 -#define TARGET 285 -#define SOURCE 286 -#define SLICES 287 -#define STACKS 288 -#define JPEG_QUALITY 289 -#define MIPMAP 290 -#define MIPMAP_FILTER 291 -#define FONT 292 -#define LEVELOFDETAIL 293 -#define COLORDEPTH 294 -#define LOGO 295 -#define EOL 296 -#define MILKYWAY 297 -#define MESSIER 298 -#define DEMO 299 -#define DEMOSTEP 300 -#define TEXTURECOMPRESSION 301 - +/* Line 1240 of yacc.c. */ +#line 135 "y.tab.h" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif extern YYSTYPE cfglval; + + + --- openuniverse-1.0beta3.1+dfsg.orig/src/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/src/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -67,7 +67,8 @@ VERSION = @VERSION@ YACC = @YACC@ -INCLUDES = -DTEXTURE_DIR=\""$(pkgdatadir)/textures"\" -DFONT_DIR=\""$(pkgdatadir)/fonts"\" -DMODEL_DIR=\""$(pkgdatadir)/3dmodels"\" -DDATA_DIR=\""$(pkgdatadir)/data"\" -DCONF_DIR=\""$(pkgdatadir)/conf"\" -DEVENTS_DIR=\""$(pkgdatadir)/events"\" -DSHOTS_DIR=\""$(pkgdatadir)/scrshots"\" +pkgvardir = $(localstatedir)/games/@PACKAGE@ +INCLUDES = -DTEXTURE_DIR=\""$(pkgdatadir)/textures"\" -DFONT_DIR=\""$(pkgdatadir)/fonts"\" -DMODEL_DIR=\""$(pkgdatadir)/3dmodels"\" -DDATA_DIR=\""$(pkgdatadir)/data"\" -DCONF_DIR=\""$(pkgdatadir)/conf"\" -DEVENTS_DIR=\""$(pkgdatadir)/events"\" -DSHOTS_DIR=\""$(pkgvardir)/scrshots"\" bin_PROGRAMS = openuniverse @@ -113,7 +114,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best SOURCES = $(openuniverse_SOURCES) $(EXTRA_openuniverse_SOURCES) OBJECTS = $(openuniverse_OBJECTS) @@ -206,7 +207,7 @@ awk ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS) + || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP)) mostlyclean-tags: @@ -225,7 +226,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ @@ -268,7 +269,7 @@ -rm -f config.cache config.log stamp-h stamp-h[0-9]* maintainer-clean-generic: - -test -z "cfglexlcfgparsehcfgparsec" || rm -f cfglexl cfgparseh cfgparsec + -test -z "cfglexccfgparsehcfgparsec" || rm -f cfglexc cfgparseh cfgparsec mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ mostlyclean-tags mostlyclean-generic --- openuniverse-1.0beta3.1+dfsg.orig/src/flares.cpp +++ openuniverse-1.0beta3.1+dfsg/src/flares.cpp @@ -24,7 +24,7 @@ GLuint flares[TYPE_FLARES]; -struct { +static struct { int type; double loc, scale, intensity; } flaresdata[NUM_FLARES]; --- openuniverse-1.0beta3.1+dfsg.orig/src/comet.cpp +++ openuniverse-1.0beta3.1+dfsg/src/comet.cpp @@ -17,6 +17,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#define GL_GLEXT_PROTOTYPES #include "ou.h" #ifdef WIN32 --- openuniverse-1.0beta3.1+dfsg.orig/src/util.cpp +++ openuniverse-1.0beta3.1+dfsg/src/util.cpp @@ -558,7 +558,7 @@ return image; } -void log(char *message) +void log(const char *message) { if (logfile) { fprintf(logfile, "%s", message); @@ -568,7 +568,9 @@ void shutdown(int status) { - fclose(logfile); - exit(status); + if (logfile) { + fclose(logfile); + } + exit(status); } --- openuniverse-1.0beta3.1+dfsg.orig/src/texfont.h +++ openuniverse-1.0beta3.1+dfsg/src/texfont.h @@ -0,0 +1,44 @@ +/* + replacement for non-free texfont.cpp for openuniverse + Copyright (C) 2008 PaulLiu(Ying-Chun Liu). + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef __AVYGDJMW_TEXFONT_H__ +#define __AVYGDJMW_TEXFONT_H__ + +#include +#include + +typedef struct { + unsigned char width; + unsigned char height; + signed char advance; +} TexGlyphInfo; + +typedef struct { + TexGlyphInfo* tgi; + fntTexFont* plibtexfont; + fntRenderer* plibrenderer; +} TexFont; + +extern TexFont* txfLoadFont(char*); +extern void txfUnloadFont(TexFont*); +extern GLuint txfEstablishTexture(TexFont*,GLuint,GLboolean); +extern void txfBindFontTexture(TexFont*); +extern void txfRenderString(TexFont*,char*,int); + +#endif --- openuniverse-1.0beta3.1+dfsg.orig/src/info.cpp +++ openuniverse-1.0beta3.1+dfsg/src/info.cpp @@ -348,6 +348,8 @@ glyphheight, 0, "Insert: Current target trail on/off (planets only)"); printstring(width / 2 - glyphwidth * 30, i -= + glyphheight, 0, "q : Quit program"); + printstring(width / 2 - glyphwidth * 30, i -= glyphheight * 2, 0, "* hold SHIFT for faster operation"); printstring(width / 2 - glyphwidth * 30, i -= glyphheight * 2, 0, --- openuniverse-1.0beta3.1+dfsg.orig/src/loadbmf.cpp +++ openuniverse-1.0beta3.1+dfsg/src/loadbmf.cpp @@ -11,7 +11,7 @@ #include "bmf.h" #include "ou.h" -GLubyte *read_JPEG_file(char *, int *, int *, int *); +GLubyte *read_JPEG_file(const char *, int *, int *, int *); char modelspath[100] = MODEL_DIR; --- openuniverse-1.0beta3.1+dfsg.orig/src/y.output +++ openuniverse-1.0beta3.1+dfsg/src/y.output @@ -0,0 +1,2342 @@ +Terminales que no se usan + + EOL + + +Estado 194 conflictos: 1 desplazamiento(s)/reducción(ones) +Estado 210 conflictos: 1 desplazamiento(s)/reducción(ones) +Estado 215 conflictos: 1 desplazamiento(s)/reducción(ones) +Estado 221 conflictos: 1 desplazamiento(s)/reducción(ones) +Estado 283 conflictos: 1 desplazamiento(s)/reducción(ones) + + +Gramática + + 0 $accept: input $end + + 1 input: /* vacío */ + 2 | input line + + 3 line: SPLASHBITMAP '=' INTEGER_NUM + 4 | ATMOSPHERES '=' INTEGER_NUM + 5 | BORDER '=' INTEGER_NUM + 6 | FILTER '=' NAME + 7 | SHADING '=' NAME + 8 | SIM_DATE '=' NAME NAME + 9 | PAUSE '=' INTEGER_NUM + 10 | REALTIME '=' INTEGER_NUM + 11 | DEMO '=' INTEGER_NUM + 12 | DEMOSTEP '=' INTEGER_NUM + 13 | PLANETS_LABELS '=' INTEGER_NUM + 14 | STARS_LABELS '=' INTEGER_NUM + 15 | INFO '=' INTEGER_NUM + 16 | STAR_BRIGHT '=' DOUBLE_NUM + 17 | STAR_SIZE '=' DOUBLE_NUM + 18 | CAM_SPEED '=' DOUBLE_NUM + 19 | CAM_MODE '=' INTEGER_NUM + 20 | TARGET '=' INTEGER_NUM + 21 | SOURCE '=' INTEGER_NUM + 22 | SLICES '=' INTEGER_NUM + 23 | STACKS '=' INTEGER_NUM + 24 | JPEG_QUALITY '=' INTEGER_NUM + 25 | MIPMAP '=' INTEGER_NUM + 26 | MIPMAP_FILTER '=' NAME + 27 | FONT '=' INTEGER_NUM + 28 | LEVELOFDETAIL '=' INTEGER_NUM + 29 | TEXTURECOMPRESSION '=' INTEGER_NUM + 30 | COLORDEPTH '=' INTEGER_NUM + 31 | LOGO '=' INTEGER_NUM + 32 | MILKYWAY '=' INTEGER_NUM + 33 | MESSIER '=' INTEGER_NUM + 34 | sun + 35 | body + 36 | spaceship + + 37 sun: SUN '{' NAME DOUBLE_NUM INTEGER_NUM DOUBLE_NUM '}' + + 38 body: planet + 39 | asteroid + 40 | comet + + 41 @1: /* vacío */ + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + 43 satellites: /* vacío */ + 44 | satellite + 45 | satellites satellite + + 46 @2: /* vacío */ + + 47 @3: /* vacío */ + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + 49 orbiters: /* vacío */ + 50 | orbiter + 51 | orbiters orbiter + + 52 @4: /* vacío */ + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + 54 @5: /* vacío */ + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + 56 @6: /* vacío */ + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + 58 atmosphere: /* vacío */ + 59 | ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + 60 rings: /* vacío */ + 61 | ring + 62 | rings ring + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + 64 @7: /* vacío */ + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + +Terminales con las reglas donde aparecen + +$end (0) 0 +'=' (61) 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 +'{' (123) 37 42 48 53 55 57 59 63 65 +'}' (125) 37 42 48 53 55 57 59 63 65 +error (256) +INTEGER_NUM (258) 3 4 5 9 10 11 12 13 14 15 19 20 21 22 23 24 25 27 + 28 29 30 31 32 33 37 42 48 55 57 59 63 +DOUBLE_NUM (259) 16 17 18 37 42 48 53 55 57 59 63 65 +NAME (260) 6 7 8 26 37 42 48 53 55 57 59 63 65 +SUN (261) 37 +PLANET (262) 42 +ASTEROID (263) 55 +COMET (264) 57 +SATELLITE (265) 48 +ORBITER (266) 53 +SPACESHIP (267) 65 +RING (268) 63 +ATMOSPHERE (269) 59 +SPLASHBITMAP (270) 3 +BORDER (271) 5 +FILTER (272) 6 +SHADING (273) 7 +SIM_DATE (274) 8 +PAUSE (275) 9 +REALTIME (276) 10 +PLANETS_LABELS (277) 13 +STARS_LABELS (278) 14 +INFO (279) 15 +STAR_BRIGHT (280) 16 +STAR_SIZE (281) 17 +CAM_SPEED (282) 18 +ATMOSPHERES (283) 4 +CAM_MODE (284) 19 +TARGET (285) 20 +SOURCE (286) 21 +SLICES (287) 22 +STACKS (288) 23 +JPEG_QUALITY (289) 24 +MIPMAP (290) 25 +MIPMAP_FILTER (291) 26 +FONT (292) 27 +LEVELOFDETAIL (293) 28 +COLORDEPTH (294) 30 +LOGO (295) 31 +EOL (296) +MILKYWAY (297) 32 +MESSIER (298) 33 +DEMO (299) 11 +DEMOSTEP (300) 12 +TEXTURECOMPRESSION (301) 29 + + +No terminales con las reglas donde aparecen + +$accept (50) + en la izquierda: 0 +input (51) + en la izquierda: 1 2, en la derecha: 0 2 +line (52) + en la izquierda: 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, + en la derecha: 2 +sun (53) + en la izquierda: 37, en la derecha: 34 +body (54) + en la izquierda: 38 39 40, en la derecha: 35 +planet (55) + en la izquierda: 42, en la derecha: 38 +@1 (56) + en la izquierda: 41, en la derecha: 42 +satellites (57) + en la izquierda: 43 44 45, en la derecha: 42 45 55 +satellite (58) + en la izquierda: 48, en la derecha: 44 45 +@2 (59) + en la izquierda: 46, en la derecha: 48 +@3 (60) + en la izquierda: 47, en la derecha: 48 +orbiters (61) + en la izquierda: 49 50 51, en la derecha: 42 48 51 +orbiter (62) + en la izquierda: 53, en la derecha: 50 51 +@4 (63) + en la izquierda: 52, en la derecha: 53 +asteroid (64) + en la izquierda: 55, en la derecha: 39 +@5 (65) + en la izquierda: 54, en la derecha: 55 +comet (66) + en la izquierda: 57, en la derecha: 40 +@6 (67) + en la izquierda: 56, en la derecha: 57 +atmosphere (68) + en la izquierda: 58 59, en la derecha: 42 48 +rings (69) + en la izquierda: 60 61 62, en la derecha: 42 62 +ring (70) + en la izquierda: 63, en la derecha: 61 62 +spaceship (71) + en la izquierda: 65, en la derecha: 36 +@7 (72) + en la izquierda: 64, en la derecha: 65 + + +estado 0 + + 0 $accept: . input $end + + $default reduce usando la regla 1 (input) + + input ir al estado 1 + + +estado 1 + + 0 $accept: input . $end + 2 input: input . line + + $end desplazar e ir al estado 2 + SUN desplazar e ir al estado 3 + PLANET desplazar e ir al estado 4 + ASTEROID desplazar e ir al estado 5 + COMET desplazar e ir al estado 6 + SPACESHIP desplazar e ir al estado 7 + SPLASHBITMAP desplazar e ir al estado 8 + BORDER desplazar e ir al estado 9 + FILTER desplazar e ir al estado 10 + SHADING desplazar e ir al estado 11 + SIM_DATE desplazar e ir al estado 12 + PAUSE desplazar e ir al estado 13 + REALTIME desplazar e ir al estado 14 + PLANETS_LABELS desplazar e ir al estado 15 + STARS_LABELS desplazar e ir al estado 16 + INFO desplazar e ir al estado 17 + STAR_BRIGHT desplazar e ir al estado 18 + STAR_SIZE desplazar e ir al estado 19 + CAM_SPEED desplazar e ir al estado 20 + ATMOSPHERES desplazar e ir al estado 21 + CAM_MODE desplazar e ir al estado 22 + TARGET desplazar e ir al estado 23 + SOURCE desplazar e ir al estado 24 + SLICES desplazar e ir al estado 25 + STACKS desplazar e ir al estado 26 + JPEG_QUALITY desplazar e ir al estado 27 + MIPMAP desplazar e ir al estado 28 + MIPMAP_FILTER desplazar e ir al estado 29 + FONT desplazar e ir al estado 30 + LEVELOFDETAIL desplazar e ir al estado 31 + COLORDEPTH desplazar e ir al estado 32 + LOGO desplazar e ir al estado 33 + MILKYWAY desplazar e ir al estado 34 + MESSIER desplazar e ir al estado 35 + DEMO desplazar e ir al estado 36 + DEMOSTEP desplazar e ir al estado 37 + TEXTURECOMPRESSION desplazar e ir al estado 38 + + line ir al estado 39 + sun ir al estado 40 + body ir al estado 41 + planet ir al estado 42 + asteroid ir al estado 43 + comet ir al estado 44 + spaceship ir al estado 45 + + +estado 2 + + 0 $accept: input $end . + + $default aceptar + + +estado 3 + + 37 sun: SUN . '{' NAME DOUBLE_NUM INTEGER_NUM DOUBLE_NUM '}' + + '{' desplazar e ir al estado 46 + + +estado 4 + + 42 planet: PLANET . NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + NAME desplazar e ir al estado 47 + + +estado 5 + + 55 asteroid: ASTEROID . NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + NAME desplazar e ir al estado 48 + + +estado 6 + + 57 comet: COMET . NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + NAME desplazar e ir al estado 49 + + +estado 7 + + 65 spaceship: SPACESHIP . NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + NAME desplazar e ir al estado 50 + + +estado 8 + + 3 line: SPLASHBITMAP . '=' INTEGER_NUM + + '=' desplazar e ir al estado 51 + + +estado 9 + + 5 line: BORDER . '=' INTEGER_NUM + + '=' desplazar e ir al estado 52 + + +estado 10 + + 6 line: FILTER . '=' NAME + + '=' desplazar e ir al estado 53 + + +estado 11 + + 7 line: SHADING . '=' NAME + + '=' desplazar e ir al estado 54 + + +estado 12 + + 8 line: SIM_DATE . '=' NAME NAME + + '=' desplazar e ir al estado 55 + + +estado 13 + + 9 line: PAUSE . '=' INTEGER_NUM + + '=' desplazar e ir al estado 56 + + +estado 14 + + 10 line: REALTIME . '=' INTEGER_NUM + + '=' desplazar e ir al estado 57 + + +estado 15 + + 13 line: PLANETS_LABELS . '=' INTEGER_NUM + + '=' desplazar e ir al estado 58 + + +estado 16 + + 14 line: STARS_LABELS . '=' INTEGER_NUM + + '=' desplazar e ir al estado 59 + + +estado 17 + + 15 line: INFO . '=' INTEGER_NUM + + '=' desplazar e ir al estado 60 + + +estado 18 + + 16 line: STAR_BRIGHT . '=' DOUBLE_NUM + + '=' desplazar e ir al estado 61 + + +estado 19 + + 17 line: STAR_SIZE . '=' DOUBLE_NUM + + '=' desplazar e ir al estado 62 + + +estado 20 + + 18 line: CAM_SPEED . '=' DOUBLE_NUM + + '=' desplazar e ir al estado 63 + + +estado 21 + + 4 line: ATMOSPHERES . '=' INTEGER_NUM + + '=' desplazar e ir al estado 64 + + +estado 22 + + 19 line: CAM_MODE . '=' INTEGER_NUM + + '=' desplazar e ir al estado 65 + + +estado 23 + + 20 line: TARGET . '=' INTEGER_NUM + + '=' desplazar e ir al estado 66 + + +estado 24 + + 21 line: SOURCE . '=' INTEGER_NUM + + '=' desplazar e ir al estado 67 + + +estado 25 + + 22 line: SLICES . '=' INTEGER_NUM + + '=' desplazar e ir al estado 68 + + +estado 26 + + 23 line: STACKS . '=' INTEGER_NUM + + '=' desplazar e ir al estado 69 + + +estado 27 + + 24 line: JPEG_QUALITY . '=' INTEGER_NUM + + '=' desplazar e ir al estado 70 + + +estado 28 + + 25 line: MIPMAP . '=' INTEGER_NUM + + '=' desplazar e ir al estado 71 + + +estado 29 + + 26 line: MIPMAP_FILTER . '=' NAME + + '=' desplazar e ir al estado 72 + + +estado 30 + + 27 line: FONT . '=' INTEGER_NUM + + '=' desplazar e ir al estado 73 + + +estado 31 + + 28 line: LEVELOFDETAIL . '=' INTEGER_NUM + + '=' desplazar e ir al estado 74 + + +estado 32 + + 30 line: COLORDEPTH . '=' INTEGER_NUM + + '=' desplazar e ir al estado 75 + + +estado 33 + + 31 line: LOGO . '=' INTEGER_NUM + + '=' desplazar e ir al estado 76 + + +estado 34 + + 32 line: MILKYWAY . '=' INTEGER_NUM + + '=' desplazar e ir al estado 77 + + +estado 35 + + 33 line: MESSIER . '=' INTEGER_NUM + + '=' desplazar e ir al estado 78 + + +estado 36 + + 11 line: DEMO . '=' INTEGER_NUM + + '=' desplazar e ir al estado 79 + + +estado 37 + + 12 line: DEMOSTEP . '=' INTEGER_NUM + + '=' desplazar e ir al estado 80 + + +estado 38 + + 29 line: TEXTURECOMPRESSION . '=' INTEGER_NUM + + '=' desplazar e ir al estado 81 + + +estado 39 + + 2 input: input line . + + $default reduce usando la regla 2 (input) + + +estado 40 + + 34 line: sun . + + $default reduce usando la regla 34 (line) + + +estado 41 + + 35 line: body . + + $default reduce usando la regla 35 (line) + + +estado 42 + + 38 body: planet . + + $default reduce usando la regla 38 (body) + + +estado 43 + + 39 body: asteroid . + + $default reduce usando la regla 39 (body) + + +estado 44 + + 40 body: comet . + + $default reduce usando la regla 40 (body) + + +estado 45 + + 36 line: spaceship . + + $default reduce usando la regla 36 (line) + + +estado 46 + + 37 sun: SUN '{' . NAME DOUBLE_NUM INTEGER_NUM DOUBLE_NUM '}' + + NAME desplazar e ir al estado 82 + + +estado 47 + + 42 planet: PLANET NAME . '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + '{' desplazar e ir al estado 83 + + +estado 48 + + 55 asteroid: ASTEROID NAME . '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + '{' desplazar e ir al estado 84 + + +estado 49 + + 57 comet: COMET NAME . '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + '{' desplazar e ir al estado 85 + + +estado 50 + + 65 spaceship: SPACESHIP NAME . '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + '{' desplazar e ir al estado 86 + + +estado 51 + + 3 line: SPLASHBITMAP '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 87 + + +estado 52 + + 5 line: BORDER '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 88 + + +estado 53 + + 6 line: FILTER '=' . NAME + + NAME desplazar e ir al estado 89 + + +estado 54 + + 7 line: SHADING '=' . NAME + + NAME desplazar e ir al estado 90 + + +estado 55 + + 8 line: SIM_DATE '=' . NAME NAME + + NAME desplazar e ir al estado 91 + + +estado 56 + + 9 line: PAUSE '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 92 + + +estado 57 + + 10 line: REALTIME '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 93 + + +estado 58 + + 13 line: PLANETS_LABELS '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 94 + + +estado 59 + + 14 line: STARS_LABELS '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 95 + + +estado 60 + + 15 line: INFO '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 96 + + +estado 61 + + 16 line: STAR_BRIGHT '=' . DOUBLE_NUM + + DOUBLE_NUM desplazar e ir al estado 97 + + +estado 62 + + 17 line: STAR_SIZE '=' . DOUBLE_NUM + + DOUBLE_NUM desplazar e ir al estado 98 + + +estado 63 + + 18 line: CAM_SPEED '=' . DOUBLE_NUM + + DOUBLE_NUM desplazar e ir al estado 99 + + +estado 64 + + 4 line: ATMOSPHERES '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 100 + + +estado 65 + + 19 line: CAM_MODE '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 101 + + +estado 66 + + 20 line: TARGET '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 102 + + +estado 67 + + 21 line: SOURCE '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 103 + + +estado 68 + + 22 line: SLICES '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 104 + + +estado 69 + + 23 line: STACKS '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 105 + + +estado 70 + + 24 line: JPEG_QUALITY '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 106 + + +estado 71 + + 25 line: MIPMAP '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 107 + + +estado 72 + + 26 line: MIPMAP_FILTER '=' . NAME + + NAME desplazar e ir al estado 108 + + +estado 73 + + 27 line: FONT '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 109 + + +estado 74 + + 28 line: LEVELOFDETAIL '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 110 + + +estado 75 + + 30 line: COLORDEPTH '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 111 + + +estado 76 + + 31 line: LOGO '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 112 + + +estado 77 + + 32 line: MILKYWAY '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 113 + + +estado 78 + + 33 line: MESSIER '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 114 + + +estado 79 + + 11 line: DEMO '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 115 + + +estado 80 + + 12 line: DEMOSTEP '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 116 + + +estado 81 + + 29 line: TEXTURECOMPRESSION '=' . INTEGER_NUM + + INTEGER_NUM desplazar e ir al estado 117 + + +estado 82 + + 37 sun: SUN '{' NAME . DOUBLE_NUM INTEGER_NUM DOUBLE_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 118 + + +estado 83 + + 42 planet: PLANET NAME '{' . NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + NAME desplazar e ir al estado 119 + + +estado 84 + + 55 asteroid: ASTEROID NAME '{' . NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + NAME desplazar e ir al estado 120 + + +estado 85 + + 57 comet: COMET NAME '{' . NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + NAME desplazar e ir al estado 121 + + +estado 86 + + 65 spaceship: SPACESHIP NAME '{' . NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + NAME desplazar e ir al estado 122 + + +estado 87 + + 3 line: SPLASHBITMAP '=' INTEGER_NUM . + + $default reduce usando la regla 3 (line) + + +estado 88 + + 5 line: BORDER '=' INTEGER_NUM . + + $default reduce usando la regla 5 (line) + + +estado 89 + + 6 line: FILTER '=' NAME . + + $default reduce usando la regla 6 (line) + + +estado 90 + + 7 line: SHADING '=' NAME . + + $default reduce usando la regla 7 (line) + + +estado 91 + + 8 line: SIM_DATE '=' NAME . NAME + + NAME desplazar e ir al estado 123 + + +estado 92 + + 9 line: PAUSE '=' INTEGER_NUM . + + $default reduce usando la regla 9 (line) + + +estado 93 + + 10 line: REALTIME '=' INTEGER_NUM . + + $default reduce usando la regla 10 (line) + + +estado 94 + + 13 line: PLANETS_LABELS '=' INTEGER_NUM . + + $default reduce usando la regla 13 (line) + + +estado 95 + + 14 line: STARS_LABELS '=' INTEGER_NUM . + + $default reduce usando la regla 14 (line) + + +estado 96 + + 15 line: INFO '=' INTEGER_NUM . + + $default reduce usando la regla 15 (line) + + +estado 97 + + 16 line: STAR_BRIGHT '=' DOUBLE_NUM . + + $default reduce usando la regla 16 (line) + + +estado 98 + + 17 line: STAR_SIZE '=' DOUBLE_NUM . + + $default reduce usando la regla 17 (line) + + +estado 99 + + 18 line: CAM_SPEED '=' DOUBLE_NUM . + + $default reduce usando la regla 18 (line) + + +estado 100 + + 4 line: ATMOSPHERES '=' INTEGER_NUM . + + $default reduce usando la regla 4 (line) + + +estado 101 + + 19 line: CAM_MODE '=' INTEGER_NUM . + + $default reduce usando la regla 19 (line) + + +estado 102 + + 20 line: TARGET '=' INTEGER_NUM . + + $default reduce usando la regla 20 (line) + + +estado 103 + + 21 line: SOURCE '=' INTEGER_NUM . + + $default reduce usando la regla 21 (line) + + +estado 104 + + 22 line: SLICES '=' INTEGER_NUM . + + $default reduce usando la regla 22 (line) + + +estado 105 + + 23 line: STACKS '=' INTEGER_NUM . + + $default reduce usando la regla 23 (line) + + +estado 106 + + 24 line: JPEG_QUALITY '=' INTEGER_NUM . + + $default reduce usando la regla 24 (line) + + +estado 107 + + 25 line: MIPMAP '=' INTEGER_NUM . + + $default reduce usando la regla 25 (line) + + +estado 108 + + 26 line: MIPMAP_FILTER '=' NAME . + + $default reduce usando la regla 26 (line) + + +estado 109 + + 27 line: FONT '=' INTEGER_NUM . + + $default reduce usando la regla 27 (line) + + +estado 110 + + 28 line: LEVELOFDETAIL '=' INTEGER_NUM . + + $default reduce usando la regla 28 (line) + + +estado 111 + + 30 line: COLORDEPTH '=' INTEGER_NUM . + + $default reduce usando la regla 30 (line) + + +estado 112 + + 31 line: LOGO '=' INTEGER_NUM . + + $default reduce usando la regla 31 (line) + + +estado 113 + + 32 line: MILKYWAY '=' INTEGER_NUM . + + $default reduce usando la regla 32 (line) + + +estado 114 + + 33 line: MESSIER '=' INTEGER_NUM . + + $default reduce usando la regla 33 (line) + + +estado 115 + + 11 line: DEMO '=' INTEGER_NUM . + + $default reduce usando la regla 11 (line) + + +estado 116 + + 12 line: DEMOSTEP '=' INTEGER_NUM . + + $default reduce usando la regla 12 (line) + + +estado 117 + + 29 line: TEXTURECOMPRESSION '=' INTEGER_NUM . + + $default reduce usando la regla 29 (line) + + +estado 118 + + 37 sun: SUN '{' NAME DOUBLE_NUM . INTEGER_NUM DOUBLE_NUM '}' + + INTEGER_NUM desplazar e ir al estado 124 + + +estado 119 + + 42 planet: PLANET NAME '{' NAME . INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + INTEGER_NUM desplazar e ir al estado 125 + + +estado 120 + + 55 asteroid: ASTEROID NAME '{' NAME . DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 126 + + +estado 121 + + 57 comet: COMET NAME '{' NAME . INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + INTEGER_NUM desplazar e ir al estado 127 + + +estado 122 + + 65 spaceship: SPACESHIP NAME '{' NAME . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 128 + + +estado 123 + + 8 line: SIM_DATE '=' NAME NAME . + + $default reduce usando la regla 8 (line) + + +estado 124 + + 37 sun: SUN '{' NAME DOUBLE_NUM INTEGER_NUM . DOUBLE_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 129 + + +estado 125 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM . INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + INTEGER_NUM desplazar e ir al estado 130 + + +estado 126 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM . INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + INTEGER_NUM desplazar e ir al estado 131 + + +estado 127 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM . INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + INTEGER_NUM desplazar e ir al estado 132 + + +estado 128 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 133 + + +estado 129 + + 37 sun: SUN '{' NAME DOUBLE_NUM INTEGER_NUM DOUBLE_NUM . '}' + + '}' desplazar e ir al estado 134 + + +estado 130 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + INTEGER_NUM desplazar e ir al estado 135 + + +estado 131 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM . INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + INTEGER_NUM desplazar e ir al estado 136 + + +estado 132 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + INTEGER_NUM desplazar e ir al estado 137 + + +estado 133 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 138 + + +estado 134 + + 37 sun: SUN '{' NAME DOUBLE_NUM INTEGER_NUM DOUBLE_NUM '}' . + + $default reduce usando la regla 37 (sun) + + +estado 135 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 139 + + +estado 136 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + INTEGER_NUM desplazar e ir al estado 140 + + +estado 137 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 141 + + +estado 138 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 142 + + +estado 139 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 143 + + +estado 140 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 144 + + +estado 141 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 145 + + +estado 142 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 146 + + +estado 143 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 147 + + +estado 144 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 148 + + +estado 145 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 149 + + +estado 146 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 150 + + +estado 147 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 151 + + +estado 148 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 152 + + +estado 149 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 153 + + +estado 150 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 154 + + +estado 151 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + INTEGER_NUM desplazar e ir al estado 155 + + +estado 152 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 156 + + +estado 153 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 157 + + +estado 154 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 158 + + +estado 155 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 159 + + +estado 156 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 160 + + +estado 157 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 161 + + +estado 158 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 162 + + +estado 159 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 163 + + +estado 160 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 164 + + +estado 161 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 165 + + +estado 162 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 166 + + +estado 163 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 167 + + +estado 164 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 168 + + +estado 165 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 169 + + +estado 166 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 170 + + +estado 167 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 171 + + +estado 168 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 172 + + +estado 169 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 173 + + +estado 170 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 174 + + +estado 171 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 175 + + +estado 172 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 176 + + +estado 173 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 177 + + +estado 174 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM @7 '}' + + DOUBLE_NUM desplazar e ir al estado 178 + + +estado 175 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 179 + + +estado 176 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 180 + + +estado 177 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 181 + + +estado 178 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . @7 '}' + + $default reduce usando la regla 64 (@7) + + @7 ir al estado 182 + + +estado 179 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 183 + + +estado 180 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 184 + + +estado 181 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 185 + + +estado 182 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 . '}' + + '}' desplazar e ir al estado 186 + + +estado 183 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 187 + + +estado 184 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM @5 satellites '}' + + DOUBLE_NUM desplazar e ir al estado 188 + + +estado 185 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 189 + + +estado 186 + + 65 spaceship: SPACESHIP NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @7 '}' . + + $default reduce usando la regla 65 (spaceship) + + +estado 187 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 190 + + +estado 188 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM @5 satellites '}' + + INTEGER_NUM desplazar e ir al estado 191 + + +estado 189 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 192 + + +estado 190 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 193 + + +estado 191 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . @5 satellites '}' + + $default reduce usando la regla 54 (@5) + + @5 ir al estado 194 + + +estado 192 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 195 + + +estado 193 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + DOUBLE_NUM desplazar e ir al estado 196 + + +estado 194 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 . satellites '}' + + SATELLITE desplazar e ir al estado 197 + + SATELLITE [reduce usando la regla 43 (satellites)] + $default reduce usando la regla 43 (satellites) + + satellites ir al estado 198 + satellite ir al estado 199 + + +estado 195 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' + + DOUBLE_NUM desplazar e ir al estado 200 + + +estado 196 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM @1 atmosphere rings satellites orbiters '}' + + INTEGER_NUM desplazar e ir al estado 201 + + +estado 197 + + 48 satellite: SATELLITE . NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + NAME desplazar e ir al estado 202 + + +estado 198 + + 45 satellites: satellites . satellite + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites . '}' + + SATELLITE desplazar e ir al estado 197 + '}' desplazar e ir al estado 203 + + satellite ir al estado 204 + + +estado 199 + + 44 satellites: satellite . + + $default reduce usando la regla 44 (satellites) + + +estado 200 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM INTEGER_NUM @6 '}' + + INTEGER_NUM desplazar e ir al estado 205 + + +estado 201 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . @1 atmosphere rings satellites orbiters '}' + + $default reduce usando la regla 41 (@1) + + @1 ir al estado 206 + + +estado 202 + + 48 satellite: SATELLITE NAME . '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + '{' desplazar e ir al estado 207 + + +estado 203 + + 55 asteroid: ASTEROID NAME '{' NAME DOUBLE_NUM INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @5 satellites '}' . + + $default reduce usando la regla 55 (asteroid) + + +estado 204 + + 45 satellites: satellites satellite . + + $default reduce usando la regla 45 (satellites) + + +estado 205 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . INTEGER_NUM @6 '}' + + INTEGER_NUM desplazar e ir al estado 208 + + +estado 206 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 . atmosphere rings satellites orbiters '}' + + ATMOSPHERE desplazar e ir al estado 209 + + $default reduce usando la regla 58 (atmosphere) + + atmosphere ir al estado 210 + + +estado 207 + + 48 satellite: SATELLITE NAME '{' . NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + NAME desplazar e ir al estado 211 + + +estado 208 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM . @6 '}' + + $default reduce usando la regla 56 (@6) + + @6 ir al estado 212 + + +estado 209 + + 59 atmosphere: ATMOSPHERE . '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + '{' desplazar e ir al estado 213 + + +estado 210 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere . rings satellites orbiters '}' + + RING desplazar e ir al estado 214 + + RING [reduce usando la regla 60 (rings)] + $default reduce usando la regla 60 (rings) + + rings ir al estado 215 + ring ir al estado 216 + + +estado 211 + + 48 satellite: SATELLITE NAME '{' NAME . INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + INTEGER_NUM desplazar e ir al estado 217 + + +estado 212 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 . '}' + + '}' desplazar e ir al estado 218 + + +estado 213 + + 59 atmosphere: ATMOSPHERE '{' . NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + NAME desplazar e ir al estado 219 + + +estado 214 + + 63 ring: RING . '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + '{' desplazar e ir al estado 220 + + +estado 215 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings . satellites orbiters '}' + 62 rings: rings . ring + + SATELLITE desplazar e ir al estado 197 + RING desplazar e ir al estado 214 + + SATELLITE [reduce usando la regla 43 (satellites)] + $default reduce usando la regla 43 (satellites) + + satellites ir al estado 221 + satellite ir al estado 199 + ring ir al estado 222 + + +estado 216 + + 61 rings: ring . + + $default reduce usando la regla 61 (rings) + + +estado 217 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM . INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + INTEGER_NUM desplazar e ir al estado 223 + + +estado 218 + + 57 comet: COMET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM INTEGER_NUM @6 '}' . + + $default reduce usando la regla 57 (comet) + + +estado 219 + + 59 atmosphere: ATMOSPHERE '{' NAME . INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + INTEGER_NUM desplazar e ir al estado 224 + + +estado 220 + + 63 ring: RING '{' . NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + NAME desplazar e ir al estado 225 + + +estado 221 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites . orbiters '}' + 45 satellites: satellites . satellite + + SATELLITE desplazar e ir al estado 197 + ORBITER desplazar e ir al estado 226 + + ORBITER [reduce usando la regla 49 (orbiters)] + $default reduce usando la regla 49 (orbiters) + + satellite ir al estado 204 + orbiters ir al estado 227 + orbiter ir al estado 228 + + +estado 222 + + 62 rings: rings ring . + + $default reduce usando la regla 62 (rings) + + +estado 223 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + INTEGER_NUM desplazar e ir al estado 229 + + +estado 224 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM . INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + INTEGER_NUM desplazar e ir al estado 230 + + +estado 225 + + 63 ring: RING '{' NAME . INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + INTEGER_NUM desplazar e ir al estado 231 + + +estado 226 + + 53 orbiter: ORBITER . NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + NAME desplazar e ir al estado 232 + + +estado 227 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters . '}' + 51 orbiters: orbiters . orbiter + + ORBITER desplazar e ir al estado 226 + '}' desplazar e ir al estado 233 + + orbiter ir al estado 234 + + +estado 228 + + 50 orbiters: orbiter . + + $default reduce usando la regla 50 (orbiters) + + +estado 229 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 235 + + +estado 230 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + INTEGER_NUM desplazar e ir al estado 236 + + +estado 231 + + 63 ring: RING '{' NAME INTEGER_NUM . INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + INTEGER_NUM desplazar e ir al estado 237 + + +estado 232 + + 53 orbiter: ORBITER NAME . '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + '{' desplazar e ir al estado 238 + + +estado 233 + + 42 planet: PLANET NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @1 atmosphere rings satellites orbiters '}' . + + $default reduce usando la regla 42 (planet) + + +estado 234 + + 51 orbiters: orbiters orbiter . + + $default reduce usando la regla 51 (orbiters) + + +estado 235 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 239 + + +estado 236 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 240 + + +estado 237 + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + INTEGER_NUM desplazar e ir al estado 241 + + +estado 238 + + 53 orbiter: ORBITER NAME '{' . NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + NAME desplazar e ir al estado 242 + + +estado 239 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 243 + + +estado 240 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 244 + + +estado 241 + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 245 + + +estado 242 + + 53 orbiter: ORBITER NAME '{' NAME . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 246 + + +estado 243 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 247 + + +estado 244 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 248 + + +estado 245 + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 249 + + +estado 246 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 250 + + +estado 247 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + INTEGER_NUM desplazar e ir al estado 251 + + +estado 248 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM '}' + + INTEGER_NUM desplazar e ir al estado 252 + + +estado 249 + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM '}' + + DOUBLE_NUM desplazar e ir al estado 253 + + +estado 250 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 254 + + +estado 251 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 255 + + +estado 252 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . '}' + + '}' desplazar e ir al estado 256 + + +estado 253 + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . '}' + + '}' desplazar e ir al estado 257 + + +estado 254 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 258 + + +estado 255 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 259 + + +estado 256 + + 59 atmosphere: ATMOSPHERE '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM '}' . + + $default reduce usando la regla 59 (atmosphere) + + +estado 257 + + 63 ring: RING '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM '}' . + + $default reduce usando la regla 63 (ring) + + +estado 258 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 260 + + +estado 259 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 261 + + +estado 260 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 262 + + +estado 261 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 263 + + +estado 262 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 264 + + +estado 263 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 265 + + +estado 264 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 266 + + +estado 265 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 267 + + +estado 266 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 268 + + +estado 267 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 269 + + +estado 268 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 270 + + +estado 269 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 271 + + +estado 270 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 272 + + +estado 271 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 273 + + +estado 272 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 274 + + +estado 273 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 275 + + +estado 274 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 276 + + +estado 275 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' + + DOUBLE_NUM desplazar e ir al estado 277 + + +estado 276 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 278 + + +estado 277 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . INTEGER_NUM @2 atmosphere orbiters @3 '}' + + INTEGER_NUM desplazar e ir al estado 279 + + +estado 278 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . DOUBLE_NUM @4 '}' + + DOUBLE_NUM desplazar e ir al estado 280 + + +estado 279 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM . @2 atmosphere orbiters @3 '}' + + $default reduce usando la regla 46 (@2) + + @2 ir al estado 281 + + +estado 280 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM . @4 '}' + + $default reduce usando la regla 52 (@4) + + @4 ir al estado 282 + + +estado 281 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 . atmosphere orbiters @3 '}' + + ATMOSPHERE desplazar e ir al estado 209 + + $default reduce usando la regla 58 (atmosphere) + + atmosphere ir al estado 283 + + +estado 282 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 . '}' + + '}' desplazar e ir al estado 284 + + +estado 283 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere . orbiters @3 '}' + + ORBITER desplazar e ir al estado 226 + + ORBITER [reduce usando la regla 49 (orbiters)] + $default reduce usando la regla 49 (orbiters) + + orbiters ir al estado 285 + orbiter ir al estado 228 + + +estado 284 + + 53 orbiter: ORBITER NAME '{' NAME DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM @4 '}' . + + $default reduce usando la regla 53 (orbiter) + + +estado 285 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters . @3 '}' + 51 orbiters: orbiters . orbiter + + ORBITER desplazar e ir al estado 226 + + $default reduce usando la regla 47 (@3) + + @3 ir al estado 286 + orbiter ir al estado 234 + + +estado 286 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 . '}' + + '}' desplazar e ir al estado 287 + + +estado 287 + + 48 satellite: SATELLITE NAME '{' NAME INTEGER_NUM INTEGER_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM DOUBLE_NUM INTEGER_NUM @2 atmosphere orbiters @3 '}' . + + $default reduce usando la regla 48 (satellite) --- openuniverse-1.0beta3.1+dfsg.orig/debian/control +++ openuniverse-1.0beta3.1+dfsg/debian/control @@ -0,0 +1,40 @@ +Source: openuniverse +Section: science +Priority: optional +Maintainer: Javier Fernandez-Sanguino Pen~a +Build-Depends: freeglut3-dev | libglut3-dev, debhelper (>= 1.1.17), flex, bison, libgl1-mesa-dev | libgl-dev | xlibmesa-gl-dev, libglu1-mesa-dev | libglu-dev | xlibmesa-glu-dev, libjpeg62-dev, libsm-dev, libice-dev, libxmu-dev, libxi-dev, libxext-dev, libx11-dev, plib1.8.4-dev +Standards-Version: 3.5.6 +Homepage: http://www.openuniverse.org + +Package: openuniverse +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, openuniverse-common +Suggests: celestia +Conflicts: openuniverse-common ( <= 1.0beta3.1-3 ) +Description: 3D Universe Simulator + OpenUniverse (OU for short) is a fun, fast and free + OpenGL space simulator. It currently focuses on the Solar System + and lets you visit all of its planets, most major moons and a vast + collection of smaller bodies in colorful, glorious and realtime + 3D. If you've ever had a chance to visit Mercury or asteroid Geographos, + here you'll find them looking exactly the same way, following exactly + the same path as when you've left them. + . + Notice that OpenUniverse is not actively being maintained anymore and + that users are recommended to use Celestia instead. + +Package: openuniverse-common +Architecture: all +Suggests: openuniverse (>= 1.0beta3-7) +Conflicts: openuniverse (<< 1.0beta3-7) +Replaces: openuniverse (<< 1.0beta3-7) +Description: 3D Universe Simulator data files + OpenUniverse (OU for short) is a fun, fast and free + OpenGL space simulator. It currently focuses on the Solar System + and lets you visit all of its planets, most major moons and a vast + collection of smaller bodies in colorful, glorious and realtime + 3D. + . + This package contains all the data that the program needs to run + (textures, star data catalogues, 3D models, fonts) or enhances + it (manuals) under /usr/share/openuniverse. --- openuniverse-1.0beta3.1+dfsg.orig/debian/docs +++ openuniverse-1.0beta3.1+dfsg/debian/docs @@ -0,0 +1,2 @@ +NEWS +README --- openuniverse-1.0beta3.1+dfsg.orig/debian/menu +++ openuniverse-1.0beta3.1+dfsg/debian/menu @@ -0,0 +1,2 @@ +?package(openuniverse):needs="X11" section="Applications/Science/Astronomy"\ + title="openuniverse" command="/usr/bin/openuniverse" --- openuniverse-1.0beta3.1+dfsg.orig/debian/postrm.debhelper +++ openuniverse-1.0beta3.1+dfsg/debian/postrm.debhelper @@ -0,0 +1,3 @@ +# Automatically added by dh_installmenu +if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi +# End automatically added section --- openuniverse-1.0beta3.1+dfsg.orig/debian/openuniverse.desktop +++ openuniverse-1.0beta3.1+dfsg/debian/openuniverse.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=OpenUniverse Space Simulator +GenericName=Space Simulator +Comment=Explore the solar system in this accurate simulation +Comment[es]=Explora el sistema solar en esta simulación +TryExec=openuniverse +Exec=openuniverse %F +Icon=openuniverse.xpm +Categories=Application;Science;Education;Astronomy; --- openuniverse-1.0beta3.1+dfsg.orig/debian/rules +++ openuniverse-1.0beta3.1+dfsg/debian/rules @@ -0,0 +1,107 @@ +#!/usr/bin/make -f +# Sample tmp/rules that uses debhelper. +# GNU copyright 1997 by Joey Hess. +# +# This version is for a hypothetical package that builds an +# architecture-dependant package, as well as an architecture-independent +# package. + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +build: build-stamp +build-stamp: + dh_testdir + + CXXFLAGS="-I/usr/include/plib/" LIBS="-lplibfnt -lplibul -lglut" ./configure --prefix= --exec_prefix=/usr --mandir=\$${exec_prefix}/share/man --infodir=\$${exec_prefix}/share/info --sysconfdir=\$${prefix}/etc/ --includedir=\$${exec_prefix}/include --datadir=\$${exec_prefix}/share + # Add here commands to compile the package. + $(MAKE) + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + + dh_clean + +install: DH_OPTIONS= +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -a --tmpdir=`pwd`/debian/tmp/ + + # Add here commands to install the package into debian/tmp. + $(MAKE) install DESTDIR=`pwd`/debian/tmp/ + mv `pwd`/debian/tmp/usr/share/openuniverse/conf/ou.conf `pwd`/debian/tmp/etc/openuniverse.conf + cd `pwd`/debian/tmp/usr/share/openuniverse/conf && \ + ln -s /etc/openuniverse.conf ou.conf + cd debian/tmp/usr/share/doc/openuniverse && \ + ln -s ../../openuniverse/docs manual + # Desktop file + install -m644 debian/openuniverse.desktop `pwd`/debian/tmp/usr/share/applications/ + install -m644 debian/openuniverse.xpm `pwd`/debian/tmp/usr/share/pixmaps/ + #rmdir `pwd`/debian/tmp/usr/share/openuniverse/scrshots + #cd `pwd`/debian/tmp/usr/share/openuniverse && \ + #ln -s /var/games/openuniverse/scrshotsf scrshots + # This directory belongs to games, and should be writable there + chgrp games `pwd`/debian/tmp/var/games/openuniverse/scrshots + chmod g+ws `pwd`/debian/tmp/var/games/openuniverse/scrshots + + +# Build architecture-dependent files here. +# Pass -a to all debhelper commands in this target to reduce clutter. +binary-arch: DH_OPTIONS=-a +binary-arch: build install + dh_testdir + dh_testroot + dh_install --sourcedir=debian/tmp + dh_installdocs + dh_installexamples + dh_installmenu + dh_installcron + dh_installman debian/openuniverse.1 + dh_installinfo + dh_installchangelogs ChangeLog + dh_desktop + dh_strip + dh_link + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-indep: DH_OPTIONS=-i +binary-indep: build install + dh_testdir + dh_testroot + dh_install --sourcedir=debian/tmp + dh_installdocs + dh_installexamples + dh_installmenu + dh_installcron + dh_installinfo + dh_installchangelogs ChangeLog + dh_strip + dh_link + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install --- openuniverse-1.0beta3.1+dfsg.orig/debian/dirs +++ openuniverse-1.0beta3.1+dfsg/debian/dirs @@ -0,0 +1,7 @@ +usr/bin +usr/share/applications +usr/share/pixmaps +usr/share/openuniverse +usr/share/doc/openuniverse +var/games/openuniverse/scrshots +etc --- openuniverse-1.0beta3.1+dfsg.orig/debian/openuniverse.xpm +++ openuniverse-1.0beta3.1+dfsg/debian/openuniverse.xpm @@ -0,0 +1,1211 @@ +/* XPM */ +static char * openuniverse_xpm[] = { +"63 63 1145 2", +" c None", +". c #000000", +"+ c #090A0B", +"@ c #393F43", +"# c #424C54", +"$ c #3F4C54", +"% c #3E4B55", +"& c #3F4E59", +"* c #3E4E59", +"= c #364650", +"- c #3A4854", +"; c #3E4C58", +"> c #323D47", +", c #242C33", +"' c #060809", +") c #050506", +"! c #3C4142", +"~ c #687276", +"{ c #495259", +"] c #374148", +"^ c #354047", +"/ c #404F5C", +"( c #303F4C", +"_ c #30414E", +": c #2B3B46", +"< c #374855", +"[ c #2C3A46", +"} c #2B3843", +"| c #29343C", +"1 c #27333A", +"2 c #323E46", +"3 c #293137", +"4 c #050607", +"5 c #000101", +"6 c #050505", +"7 c #4B5153", +"8 c #657075", +"9 c #353D45", +"0 c #0B0D0F", +"a c #010101", +"b c #020303", +"c c #121416", +"d c #34373B", +"e c #373E41", +"f c #2B3339", +"g c #2C3A47", +"h c #2F3B48", +"i c #2D363D", +"j c #28343C", +"k c #2C3841", +"l c #2A373F", +"m c #283239", +"n c #263036", +"o c #2B333A", +"p c #07090A", +"q c #212222", +"r c #6A6F72", +"s c #3A4347", +"t c #050708", +"u c #494B4C", +"v c #5F656B", +"w c #3D484D", +"x c #323C44", +"y c #353C45", +"z c #272C31", +"A c #040505", +"B c #030303", +"C c #2B3135", +"D c #2F3A42", +"E c #2A353D", +"F c #252F36", +"G c #273238", +"H c #253037", +"I c #242E35", +"J c #242F34", +"K c #232D33", +"L c #272E32", +"M c #060707", +"N c #5E5E5E", +"O c #4A565E", +"P c #1A1F23", +"Q c #1A1A1A", +"R c #656769", +"S c #303A42", +"T c #2E3D47", +"U c #2C3B44", +"V c #2C3942", +"W c #2C3943", +"X c #2D3B43", +"Y c #323F46", +"Z c #1B2226", +"` c #1B1D1D", +" . c #2B3336", +".. c #263139", +"+. c #263136", +"@. c #273138", +"#. c #2B353D", +"$. c #2A343E", +"%. c #313D44", +"&. c #202529", +"*. c #040404", +"=. c #666A6B", +"-. c #3D464E", +";. c #1C2124", +">. c #26292A", +",. c #50585D", +"'. c #283138", +"). c #28323A", +"!. c #2B3942", +"~. c #2C3A45", +"{. c #2A3842", +"]. c #2A3640", +"^. c #2A353E", +"/. c #1E2327", +"(. c #252729", +"_. c #2B3841", +":. c #2B373E", +"<. c #2D373F", +"[. c #2D3941", +"}. c #2E3A44", +"|. c #2C3741", +"1. c #303E48", +"2. c #2E3B44", +"3. c #30373C", +"4. c #010202", +"5. c #060606", +"6. c #707377", +"7. c #364148", +"8. c #293239", +"9. c #1E1D1D", +"0. c #545C62", +"a. c #303F49", +"b. c #2F3D44", +"c. c #2C3A43", +"d. c #2E3A43", +"e. c #050606", +"f. c #474E55", +"g. c #2D3D49", +"h. c #2D3A41", +"i. c #2D3C46", +"j. c #2D3A45", +"k. c #2A363F", +"l. c #2D3B44", +"m. c #334049", +"n. c #353C43", +"o. c #020203", +"p. c #676B6D", +"q. c #35424C", +"r. c #37434E", +"s. c #696F74", +"t. c #323D44", +"u. c #2F3D47", +"v. c #32414C", +"w. c #2F3D48", +"x. c #32404A", +"y. c #2F3B45", +"z. c #2E3B43", +"A. c #323F49", +"B. c #313E48", +"C. c #303D47", +"D. c #31434C", +"E. c #323D43", +"F. c #0C0D0E", +"G. c #34414A", +"H. c #334653", +"I. c #394A56", +"J. c #3C4D59", +"K. c #34434D", +"L. c #33404A", +"M. c #3C4954", +"N. c #374752", +"O. c #374954", +"P. c #354652", +"Q. c #33414B", +"R. c #343E45", +"S. c #5E5F5F", +"T. c #404E58", +"U. c #344958", +"V. c #171D21", +"W. c #515152", +"X. c #35414A", +"Y. c #2D3A44", +"Z. c #313F4A", +"`. c #364652", +" + c #3B505F", +".+ c #394A57", +"++ c #37424C", +"@+ c #36424C", +"#+ c #364651", +"$+ c #344854", +"%+ c #344754", +"&+ c #324350", +"*+ c #030405", +"=+ c #556169", +"-+ c #3A4F5C", +";+ c #3A4C57", +">+ c #2F3F49", +",+ c #33434D", +"'+ c #324049", +")+ c #2F3C44", +"!+ c #2F3E47", +"~+ c #2F3F48", +"{+ c #2E3C45", +"]+ c #313E47", +"^+ c #293036", +"/+ c #232424", +"(+ c #5B656A", +"_+ c #3A4D58", +":+ c #3A4D57", +"<+ c #070706", +"[+ c #62676C", +"}+ c #2F3C45", +"|+ c #303E49", +"1+ c #34444F", +"2+ c #394854", +"3+ c #1D2226", +"4+ c #1E2224", +"5+ c #464F56", +"6+ c #3D4C55", +"7+ c #202429", +"8+ c #474D52", +"9+ c #384A57", +"0+ c #354651", +"a+ c #31424D", +"b+ c #31404A", +"c+ c #31414A", +"d+ c #3A4A54", +"e+ c #34434C", +"f+ c #33414A", +"g+ c #1C1F22", +"h+ c #6A7476", +"i+ c #39474F", +"j+ c #30404B", +"k+ c #242C32", +"l+ c #212323", +"m+ c #3A454E", +"n+ c #33424E", +"o+ c #354450", +"p+ c #33434E", +"q+ c #384955", +"r+ c #384956", +"s+ c #7F8990", +"t+ c #272E2F", +"u+ c #020202", +"v+ c #4A555B", +"w+ c #384B5A", +"x+ c #101112", +"y+ c #404D56", +"z+ c #3B4F5C", +"A+ c #3A4B56", +"B+ c #34454F", +"C+ c #374851", +"D+ c #3A4B55", +"E+ c #2E3E47", +"F+ c #26353D", +"G+ c #2D3842", +"H+ c #2D3942", +"I+ c #313E49", +"J+ c #2F373F", +"K+ c #515455", +"L+ c #2E3E4B", +"M+ c #30414B", +"N+ c #14191B", +"O+ c #606868", +"P+ c #374856", +"Q+ c #3E525E", +"R+ c #313738", +"S+ c #3E5260", +"T+ c #36444E", +"U+ c #0C0D0D", +"V+ c #48555D", +"W+ c #3D525D", +"X+ c #3D525C", +"Y+ c #374852", +"Z+ c #303F48", +"`+ c #333F49", +" @ c #2B3943", +".@ c #2B363F", +"+@ c #2C3236", +"@@ c #010102", +"#@ c #090909", +"$@ c #5F666A", +"%@ c #323F4B", +"&@ c #334352", +"*@ c #35424A", +"=@ c #646C70", +"-@ c #3C4E5C", +";@ c #394D59", +">@ c #384B57", +",@ c #344652", +"'@ c #3C505B", +")@ c #101111", +"!@ c #37464F", +"~@ c #0C0C0C", +"{@ c #57656D", +"]@ c #435863", +"^@ c #354953", +"/@ c #445762", +"(@ c #2E3D45", +"_@ c #3E4F59", +":@ c #293740", +"<@ c #374650", +"[@ c #35434D", +"}@ c #2B3840", +"|@ c #425058", +"1@ c #2D393E", +"2@ c #36434A", +"3@ c #33424A", +"4@ c #303E46", +"5@ c #313D45", +"6@ c #23292E", +"7@ c #404242", +"8@ c #3D4953", +"9@ c #32414D", +"0@ c #344350", +"a@ c #39454F", +"b@ c #070707", +"c@ c #606C70", +"d@ c #405563", +"e@ c #405664", +"f@ c #3D525F", +"g@ c #3A4F59", +"h@ c #4C636D", +"i@ c #546C74", +"j@ c #516871", +"k@ c #515454", +"l@ c #4E626C", +"m@ c #38474D", +"n@ c #3C505C", +"o@ c #3E525F", +"p@ c #3E515C", +"q@ c #2F3D46", +"r@ c #3B4A54", +"s@ c #33424B", +"t@ c #384751", +"u@ c #314049", +"v@ c #3E505A", +"w@ c #3B4D57", +"x@ c #384953", +"y@ c #3A4B54", +"z@ c #2F4047", +"A@ c #303D45", +"B@ c #334048", +"C@ c #2F414B", +"D@ c #39444B", +"E@ c #181A1A", +"F@ c #697073", +"G@ c #324352", +"H@ c #394754", +"I@ c #3C4F5B", +"J@ c #40515F", +"K@ c #0B0B0B", +"L@ c #576D72", +"M@ c #3F5561", +"N@ c #4F6B71", +"O@ c #547175", +"P@ c #47616B", +"Q@ c #455E6A", +"R@ c #445B69", +"S@ c #364146", +"T@ c #0F0F0F", +"U@ c #636A6D", +"V@ c #354B54", +"W@ c #181F21", +"X@ c #101010", +"Y@ c #616E76", +"Z@ c #445768", +"`@ c #394953", +" # c #293840", +".# c #384A53", +"+# c #3D5059", +"@# c #384852", +"## c #32424B", +"$# c #324149", +"%# c #36454D", +"&# c #33464F", +"*# c #2E3E46", +"=# c #353F44", +"-# c #464A4C", +";# c #0F0F10", +"># c #545F67", +",# c #3F5463", +"'# c #465A6C", +")# c #425766", +"!# c #495D68", +"~# c #111212", +"{# c #5E7579", +"]# c #4F6A72", +"^# c #4C646C", +"/# c #4B646D", +"(# c #3D545C", +"_# c #425761", +":# c #50686F", +"<# c #4C616D", +"[# c #496268", +"}# c #3F4E50", +"|# c #040606", +"1# c #363A3E", +"2# c #5B6267", +"3# c #34424A", +"4# c #465E69", +"5# c #1A2022", +"6# c #1A1B1B", +"7# c #3E4B52", +"8# c #354754", +"9# c #394B56", +"0# c #2D3D46", +"a# c #354650", +"b# c #314149", +"c# c #35454F", +"d# c #3C4D57", +"e# c #2D3C44", +"f# c #2F4048", +"g# c #33434C", +"h# c #31414B", +"i# c #333F48", +"j# c #4B5358", +"k# c #0A0B0B", +"l# c #4B4E4E", +"m# c #475660", +"n# c #415965", +"o# c #465F6E", +"p# c #415964", +"q# c #536B72", +"r# c #6E7F7F", +"s# c #5C7778", +"t# c #5D7877", +"u# c #4F696E", +"v# c #597375", +"w# c #4C636B", +"x# c #344B54", +"y# c #3F5461", +"z# c #38525C", +"A# c #577074", +"B# c #4F626A", +"C# c #5C7074", +"D# c #41525D", +"E# c #394C56", +"F# c #344B56", +"G# c #42545F", +"H# c #5D6265", +"I# c #3D4F5B", +"J# c #3C4F5A", +"K# c #33444D", +"L# c #35454E", +"M# c #2B3A42", +"N# c #36474F", +"O# c #32424A", +"P# c #27343C", +"Q# c #303A43", +"R# c #3E464C", +"S# c #0D0F10", +"T# c #646E6E", +"U# c #53666E", +"V# c #536F75", +"W# c #496670", +"X# c #536F74", +"Y# c #5D7778", +"Z# c #1E2629", +"`# c #667175", +" $ c #455F68", +".$ c #3E575F", +"+$ c #3F555C", +"@$ c #576F70", +"#$ c #48616A", +"$$ c #4D656D", +"%$ c #435B64", +"&$ c #3F5562", +"*$ c #506A72", +"=$ c #4D666D", +"-$ c #3B535C", +";$ c #526F75", +">$ c #4D6A73", +",$ c #425964", +"'$ c #3E4C52", +")$ c #6D7578", +"!$ c #4D6570", +"~$ c #4D616D", +"{$ c #425662", +"]$ c #2B3A43", +"^$ c #36454E", +"/$ c #35434B", +"($ c #2B3A41", +"_$ c #2A3740", +":$ c #2F3940", +"<$ c #33383C", +"[$ c #737E7F", +"}$ c #5F777A", +"|$ c #5A7477", +"1$ c #577274", +"2$ c #4E6C6F", +"3$ c #4A6A6F", +"4$ c #2E3C3E", +"5$ c #636E70", +"6$ c #405460", +"7$ c #4B636D", +"8$ c #5F7879", +"9$ c #4C676E", +"0$ c #526D72", +"a$ c #607A7B", +"b$ c #526B73", +"c$ c #4F6A71", +"d$ c #4E686F", +"e$ c #3A505C", +"f$ c #577177", +"g$ c #49626C", +"h$ c #445A65", +"i$ c #425661", +"j$ c #0F1315", +"k$ c #202121", +"l$ c #48545E", +"m$ c #30414A", +"n$ c #394C55", +"o$ c #3D4E58", +"p$ c #324048", +"q$ c #36434E", +"r$ c #34424D", +"s$ c #2F3A44", +"t$ c #2A343F", +"u$ c #28333D", +"v$ c #2D353C", +"w$ c #1B1E1F", +"x$ c #6C797C", +"y$ c #4F686E", +"z$ c #465E68", +"A$ c #567076", +"B$ c #577376", +"C$ c #516E71", +"D$ c #596C70", +"E$ c #313337", +"F$ c #40525D", +"G$ c #425B62", +"H$ c #455B63", +"I$ c #577377", +"J$ c #506E71", +"K$ c #4F6B70", +"L$ c #435C64", +"M$ c #435C69", +"N$ c #4C666F", +"O$ c #576F74", +"P$ c #3F535F", +"Q$ c #404D54", +"R$ c #717679", +"S$ c #2A3A44", +"T$ c #374951", +"U$ c #394A53", +"V$ c #3B4D56", +"W$ c #35464F", +"X$ c #313F47", +"Y$ c #29353E", +"Z$ c #22272C", +"`$ c #0D0E0E", +" % c #657379", +".% c #4B6670", +"+% c #5B7877", +"@% c #526D73", +"#% c #4B646B", +"$% c #547072", +"%% c #1E2528", +"&% c #040304", +"*% c #54646E", +"=% c #435966", +"-% c #3C505A", +";% c #516B74", +">% c #445E6C", +",% c #557275", +"'% c #476269", +")% c #3A515C", +"!% c #4C626D", +"~% c #485E6B", +"{% c #475B67", +"]% c #0B0E0F", +"^% c #454849", +"/% c #46545B", +"(% c #3A4C58", +"_% c #445863", +":% c #364750", +"<% c #33444C", +"[% c #3A4C55", +"}% c #2C3A42", +"|% c #293741", +"1% c #313C44", +"2% c #232A2E", +"3% c #0F1010", +"4% c #67777B", +"5% c #4F6C71", +"6% c #547374", +"7% c #4A696E", +"8% c #415960", +"9% c #4E686E", +"0% c #546A6C", +"a% c #020404", +"b% c #282B30", +"c% c #4A5D65", +"d% c #4C6871", +"e% c #4D6872", +"f% c #445E6B", +"g% c #3B515F", +"h% c #4A5F68", +"i% c #5D7678", +"j% c #465E6C", +"k% c #485E67", +"l% c #121618", +"m% c #202021", +"n% c #5C656A", +"o% c #3D515D", +"p% c #32434B", +"q% c #313D47", +"r% c #2D3741", +"s% c #2D3C45", +"t% c #303B44", +"u% c #2E383F", +"v% c #20272A", +"w% c #64767A", +"x% c #587678", +"y% c #527276", +"z% c #4B656B", +"A% c #5A7577", +"B% c #62797B", +"C% c #597578", +"D% c #557374", +"E% c #4F6162", +"F% c #364348", +"G% c #4A5F6B", +"H% c #475E6D", +"I% c #405663", +"J% c #455965", +"K% c #4F666A", +"L% c #38505D", +"M% c #3A4E5B", +"N% c #495861", +"O% c #0E1112", +"P% c #1E1F1F", +"Q% c #636F70", +"R% c #3E5257", +"S% c #2E414C", +"T% c #34404B", +"U% c #2D3843", +"V% c #2E3A45", +"W% c #2D3943", +"X% c #2E3944", +"Y% c #2E3B42", +"Z% c #2A3438", +"`% c #191D21", +" & c #121213", +".& c #616A6A", +"+& c #5E7678", +"@& c #567476", +"#& c #637B7C", +"$& c #607879", +"%& c #5A7675", +"&& c #587374", +"*& c #475E64", +"=& c #506D6F", +"-& c #607978", +";& c #38454A", +">& c #030304", +",& c #32373B", +"'& c #48555C", +")& c #50686E", +"!& c #425D69", +"~& c #48656E", +"{& c #435562", +"]& c #010000", +"^& c #262828", +"/& c #59686A", +"(& c #3A4A50", +"_& c #344751", +":& c #2E3F4B", +"<& c #2C3542", +"[& c #2D3642", +"}& c #2D3641", +"|& c #2F3B42", +"1& c #1E262A", +"2& c #0A0B0D", +"3& c #676C6D", +"4& c #627273", +"5& c #627779", +"6& c #597176", +"7& c #4A656F", +"8& c #445D67", +"9& c #526B72", +"0& c #4B686E", +"a& c #556D73", +"b& c #45616B", +"c& c #516569", +"d& c #0A0C0E", +"e& c #040506", +"f& c #2F3638", +"g& c #2B3338", +"h& c #2C363A", +"i& c #232B2E", +"j& c #1B1C1B", +"k& c #656D70", +"l& c #3D4951", +"m& c #364551", +"n& c #2F3E4A", +"o& c #313F4B", +"p& c #3A4650", +"q& c #2E3D46", +"r& c #2C3840", +"s& c #2F3B43", +"t& c #2D343A", +"u& c #151719", +"v& c #5C6163", +"w& c #677679", +"x& c #536A6E", +"y& c #536B71", +"z& c #597478", +"A& c #475E68", +"B& c #546C75", +"C& c #4E6970", +"D& c #5C7679", +"E& c #506B71", +"F& c #516D73", +"G& c #4C6B6F", +"H& c #46616B", +"I& c #556A72", +"J& c #090D0F", +"K& c #080B0E", +"L& c #0A0E10", +"M& c #333E45", +"N& c #5D6971", +"O& c #45505B", +"P& c #37434F", +"Q& c #2E3A47", +"R& c #313D49", +"S& c #2C3742", +"T& c #313B46", +"U& c #333E4A", +"V& c #303D46", +"W& c #0F1213", +"X& c #030404", +"Y& c #37393B", +"Z& c #6C6F71", +"`& c #151617", +" * c #747C7D", +".* c #52676D", +"+* c #516A70", +"@* c #587175", +"#* c #39545D", +"$* c #48636B", +"%* c #49646E", +"&* c #456169", +"** c #4E696E", +"=* c #506D73", +"-* c #4A656D", +";* c #577277", +">* c #4F6870", +",* c #506972", +"'* c #465D6A", +")* c #405464", +"!* c #405463", +"~* c #3E535F", +"{* c #40525F", +"]* c #3D505B", +"^* c #374451", +"/* c #353E4C", +"(* c #343F4C", +"_* c #364250", +":* c #2D3945", +"<* c #30424A", +"[* c #303E45", +"}* c #293339", +"|* c #131719", +"1* c #060607", +"2* c #393F3F", +"3* c #596266", +"4* c #363E47", +"5* c #43484B", +"6* c #080809", +"7* c #494C4C", +"8* c #637677", +"9* c #4A656B", +"0* c #4A666C", +"a* c #506E72", +"b* c #597574", +"c* c #607B7B", +"d* c #5F7B7B", +"e* c #617B7A", +"f* c #5C7876", +"g* c #5B7676", +"h* c #587377", +"i* c #526B74", +"j* c #516773", +"k* c #465B6C", +"l* c #475969", +"m* c #445667", +"n* c #394A5B", +"o* c #394A5A", +"p* c #3C4C5E", +"q* c #3E4C5D", +"r* c #3D505E", +"s* c #3C4E5B", +"t* c #3B4E59", +"u* c #354751", +"v* c #364952", +"w* c #364A56", +"x* c #364751", +"y* c #394850", +"z* c #324045", +"A* c #21292D", +"B* c #0B0C0C", +"C* c #565A5D", +"D* c #545C63", +"E* c #333F44", +"F* c #4E5557", +"G* c #4E5050", +"H* c #5D6C71", +"I* c #547276", +"J* c #4E6C72", +"K* c #49636D", +"L* c #435A67", +"M* c #516B73", +"N* c #536A73", +"O* c #4F6571", +"P* c #576E76", +"Q* c #557076", +"R* c #4E6871", +"S* c #4E6671", +"T* c #4D6371", +"U* c #4C6070", +"V* c #485D6E", +"W* c #435967", +"X* c #425666", +"Y* c #3F5263", +"Z* c #3F5363", +"`* c #394C5A", +" = c #415464", +".= c #3C5261", +"+= c #3E5061", +"@= c #3D505A", +"#= c #384850", +"$= c #2E3B3E", +"%= c #1C2325", +"&= c #333637", +"*= c #5D656A", +"== c #3D474C", +"-= c #313C45", +";= c #2F3E46", +">= c #293742", +",= c #252E37", +"'= c #494E50", +")= c #506B73", +"!= c #4C6471", +"~= c #4C616F", +"{= c #475E6C", +"]= c #536A74", +"^= c #4F6671", +"/= c #546A73", +"(= c #566F76", +"_= c #526C72", +":= c #587276", +"<= c #5B7577", +"[= c #5B7779", +"}= c #537073", +"|= c #536D74", +"1= c #516A74", +"2= c #4C6772", +"3= c #4B6471", +"4= c #445A69", +"5= c #465B69", +"6= c #40505B", +"7= c #465963", +"8= c #3F555B", +"9= c #3C4E55", +"0= c #2D363A", +"a= c #1C2024", +"b= c #171718", +"c= c #52575B", +"d= c #4B5258", +"e= c #2C343B", +"f= c #2B363E", +"g= c #28363D", +"h= c #2D353F", +"i= c #252E34", +"j= c #232B31", +"k= c #262930", +"l= c #222325", +"m= c #516169", +"n= c #47616F", +"o= c #445D6C", +"p= c #4B6070", +"q= c #4D6271", +"r= c #4D6370", +"s= c #516873", +"t= c #4F6972", +"u= c #526C74", +"v= c #536E75", +"w= c #5D7A7A", +"x= c #5C7879", +"y= c #5B7879", +"z= c #516D72", +"A= c #4F6C74", +"B= c #4C6570", +"C= c #465B66", +"D= c #394952", +"E= c #282F33", +"F= c #0F1215", +"G= c #161617", +"H= c #545A5B", +"I= c #50585C", +"J= c #283137", +"K= c #283339", +"L= c #29343B", +"M= c #2A333B", +"N= c #2B353C", +"O= c #272F37", +"P= c #20282E", +"Q= c #1C2328", +"R= c #1C2123", +"S= c #474A4C", +"T= c #343A3C", +"U= c #54656C", +"V= c #4D666E", +"W= c #537176", +"X= c #4D6C72", +"Y= c #4E6D71", +"Z= c #547376", +"`= c #587778", +" - c #587777", +".- c #5B7878", +"+- c #567373", +"@- c #576B6A", +"#- c #3D4C4C", +"$- c #364546", +"%- c #253032", +"&- c #121413", +"*- c #1C1D1E", +"=- c #51585B", +"-- c #4F595F", +";- c #384146", +">- c #3D4348", +",- c #3B434A", +"'- c #232E33", +")- c #242D32", +"!- c #2A333A", +"~- c #20282D", +"{- c #1B2227", +"]- c #1E2429", +"^- c #1B2327", +"/- c #1C2225", +"(- c #212526", +"_- c #3B3D3E", +":- c #1D2325", +"<- c #212B2D", +"[- c #242E31", +"}- c #354045", +"|- c #344145", +"1- c #343F45", +"2- c #323D42", +"3- c #222B2E", +"4- c #20292B", +"5- c #182222", +"6- c #101515", +"7- c #131617", +"8- c #3F4549", +"9- c #4E575D", +"0- c #3D464D", +"a- c #313A42", +"b- c #2F3B44", +"c- c #2E3941", +"d- c #444C52", +"e- c #0F1011", +"f- c #252C31", +"g- c #1C2329", +"h- c #1C2227", +"i- c #1D2429", +"j- c #1B2125", +"k- c #45494C", +"l- c #24292C", +"m- c #3D4349", +"n- c #485058", +"o- c #404B52", +"p- c #2C3843", +"q- c #2D383F", +"r- c #383F45", +"s- c #282C2F", +"t- c #191F25", +"u- c #1E242A", +"v- c #1E2529", +"w- c #1D2428", +"x- c #1C2326", +"y- c #23292C", +"z- c #383B3C", +"A- c #0B0D0E", +"B- c #2B3035", +"C- c #444E53", +"D- c #404A53", +"E- c #38444D", +"F- c #303C46", +"G- c #263038", +"H- c #262F38", +"I- c #20282F", +"J- c #252D35", +"K- c #30373A", +"L- c #0C0C0D", +"M- c #23282A", +"N- c #1F252A", +"O- c #1C2327", +"P- c #22282D", +"Q- c #20252A", +"R- c #1B2025", +"S- c #717583", +"T- c #4B5052", +"U- c #181A1B", +"V- c #0C0F11", +"W- c #151C1E", +"X- c #39494E", +"Y- c #3F4F58", +"Z- c #43515D", +"`- c #42535F", +" ; c #32424D", +".; c #2A3B46", +"+; c #2F3A43", +"@; c #222A30", +"#; c #21282D", +"$; c #1D2328", +"%; c #2D3235", +"&; c #333435", +"*; c #212629", +"=; c #1D2227", +"-; c #181F23", +";; c #3A3E41", +">; c #0D0D0D", +",; c #516066", +"'; c #394751", +"); c #394B57", +"!; c #35444F", +"~; c #303A41", +"{; c #141619", +"]; c #2E3338", +"^; c #2E343C", +"/; c #252D37", +"(; c #232B32", +"_; c #222A31", +":; c #1D252A", +"<; c #20272D", +"[; c #22292E", +"}; c #20272B", +"|; c #1F252B", +"1; c #1D2326", +"2; c #1D2327", +"3; c #1B2124", +"4; c #3D4042", +"5; c #606264", +"6; c #1C2226", +"7; c #1A1F24", +"8; c #191E21", +"9; c #181E21", +"0; c #293034", +"a; c #232324", +"b; c #3E4A53", +"c; c #303F4B", +"d; c #2D3841", +"e; c #323A3F", +"f; c #191D1E", +"g; c #21292E", +"h; c #1B2228", +"i; c #1A2227", +"j; c #1D242A", +"k; c #191F23", +"l; c #4C4E51", +"m; c #1A2023", +"n; c #1A2024", +"o; c #2C3134", +"p; c #333738", +"q; c #384046", +"r; c #263037", +"s; c #151819", +"t; c #171A1B", +"u; c #252B2F", +"v; c #1A2126", +"w; c #1F272C", +"x; c #1F262A", +"y; c #21272A", +"z; c #1A2124", +"A; c #1B2123", +"B; c #333739", +"C; c #1B1B1B", +"D; c #1F2020", +"E; c #1E2225", +"F; c #191F24", +"G; c #192024", +"H; c #2D3337", +"I; c #3C3E40", +"J; c #373E43", +"K; c #242D34", +"L; c #131516", +"M; c #2E3235", +"N; c #1A2125", +"O; c #2D3134", +"P; c #313233", +"Q; c #404346", +"R; c #1C2125", +"S; c #1E252A", +"T; c #353B3E", +"U; c #1B1C1D", +"V; c #282B2D", +"W; c #1A2127", +"X; c #191C1D", +"Y; c #1D1E1F", +"Z; c #292E32", +"`; c #252628", +" > c #474B4E", +".> c #1B1F23", +"+> c #21252A", +"@> c #3C4144", +"#> c #090A0A", +"$> c #181D20", +"%> c #1A1F22", +"&> c #23282B", +"*> c #040405", +"=> c #1E2022", +"-> c #141618", +";> c #141617", +">> c #09090A", +",> c #171818", +"'> c #424648", +")> c #1B2023", +"!> c #1F2428", +"~> c #272B2D", +"{> c #1B1D1E", +"]> c #1C1E1F", +"^> c #2B2E2F", +"/> c #202428", +"(> c #1F2529", +"_> c #2F3538", +":> c #080909", +"<> c #363A3C", +"[> c #535859", +"}> c #222627", +"|> c #1B2022", +"1> c #1F2528", +"2> c #1E2226", +"3> c #17191C", +"4> c #111112", +"5> c #282B2C", +"6> c #2B3134", +"7> c #242A2D", +"8> c #242A2E", +"9> c #282E32", +"0> c #24292D", +"a> c #171A1C", +"b> c #141616", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . + @ # $ % & * = - ; > , ' . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . ) ! ~ { ] ^ % / ( _ : < [ } | 1 2 3 4 5 . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . 6 7 8 9 0 a b a . c d e f g h i j k l m n o p . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . q r s t 6 u v w x y z A B C D E F G G H I J K K L M . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . a N O P . Q R S T U V W X Y Z . ` ...G +.@.@.#.$.$.E %.&.. . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . *.=.-.;.. >.,.'.).U !.~.{.].$.^./.. (.^._.:.<.[.}._.|.1.2.^.3.4.. . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . 5.6.7.8.. 9.0.a.( 1.b.}.c.}.k _.d.d.e.. f.> g.h.i.j.W k.k l.T m.n.o.. . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . a p.q.r.. 5.s.t.u.v.w.u.x.y.z.A.B.C.D.E.. F.G.H.= I.J.K.L.M.N.O.P.Q.R.. . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . S.T.U.V.. W.X.Y.~.C.Z.`. +.+++@+#+$+%+&+*+a =+-+;+O.>+,+'+}.)+!+~+{+]+^+. . . . . . . . . . . . . . ", +". . . . . . . . . . . . /+(+_+:+. <+[+}+u.|+1+P.2+;+3+. . 4+5+6+ +7+. 8+9+0+a+#+b+!+c+l.d+e+f+}.y.g+. . . . . . . . . . . . . ", +". . . . . . . . . . . 5.h+i+j+k+. l+m+n+o+p+q+r+s+t+. . . . u+v+w+G.. x+y+z+q+A+B+C+D+E+F+x.G+H+I+J+u+. . . . . . . . . . . . ", +". . . . . . . . . . . K+X.L+M+N+. O+a.P.q+< < P+Q+. . . . . . R+S+T+. U+V+W+X+N.Y+Z+D+= c+x.}+`+ @.@+@4.4.b b b o.o.@@. . . . ", +". . . . . . . . . . #@$@%@&@*@. *.=@-@-@;@>@,@S+'@. . . . . . )@P.!@. ~@{@]@^@A+/@(@_@:@<@1.[@}@a.v.G.|@1@2@3@m.m.4@]+5@6@M . ", +". . . . . . . . . . 7@8@9@0@a@. b@c@d@e@f@g@h@i@j@b . . . . . k@l@m@. ~@{@n@o@p@,+!+q@r@s@t@Z+u@v@w@v.~+x@y@z@A@B@5@5@C@,+D@E@", +". . . . . . . . . . F@G@H@I@J@. K@L@M@N@O@P@Q@R@e@S@. . . . T@U@V@W@. X@Y@Z@#+I@D+`@ #D+c+.#+#@###c+C+s@e+b+Q.1.u@$#%#&#*#=#-#", +". . . . . . . . . ;#>#,#'#)#!#. ~#{#]#^#/#(#_#:#<#[#}#|#b 1#2#3#4#5#. 6#7#8#9#0#a#e+b#c#= d#c#,+:@e###c+f#g#'+c+K.h#,+v.i#j#k#", +". . . . . . . . . l#m#n#o#p#q#o.b@r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#. . H###I#J#,+N.`@= K#~+!+{+!+L#L#e+M#K#N#!@O#b+ @P#Q#R#S#. ", +". . . . . . . . . T#U#V#W#X#Y#Z#*.`# $.$+$@$#$$$%$&$*$=$-$;$>$,$'$. *.)$!$~${$#+]$l.K.f#= !+l.Y._._.q@K.`@^$/$($_$| :$<$. . . ", +". . . . . . . . B [$}$|$1$2$3$4$. 5$6$7$8$9$0$a$b$c$d$e$f$g$h$i$j$. k$l$p+E+m$D+D+w@n$o$L#H+}.p$Q.q$s@r$'+d.s$t$u$v$w$. . . . ", +". . . . . . . . b@x$y$z$A$B$C$D$a E$F$G$H$I$9$J$K$L$M$N$O$P$B+Q$. a R$<@S$m$T$U$@#V$f#W$m$U$x@!@B@X$1.h.}@Y$^.x Z$. . . . . . ", +". . . . . . . . `$ %.%+%@%#%;$$%%%&%*%y#=%-%;%>%,%/#'%)%!%~%{%]%. ^%/%(%_%:%<%~+u@Z+K#W$[%##L#l.E E }%|%_.1%2%. . . . . . . . ", +". . . . . . . . 3%4%5%6%7%A#8%9%0%a%b%c%d%e%f%g%h%i%g$j%k%`@l%. m%n%W+o%e+W$C+O#e+s@p%L#!+q%s$r%{+s%t%u%v%. . . . . . . . . . ", +". . . . . . . . 3%w%x%y%z%A%B%C%D%E%4.F%G%H%I%J%K%4#L%M%N%O%. P%Q%R%S%= Q.Z+e+K.f+]+T%U%V%W%y.X%Y%Z%`%. . . . . . . . . . . . ", +". . . . . . . &.&+&@&#&$&%&&&*&=&-&;&>&,&'&)&!&~&e@{&2@+ ]&^&/&(&_&:&L.q$T+e+}+H+G+<&[&}&> |&1&2&. . . . . . . . . . . . . . ", +". . . . . T@3&4&5&v#6&7&8&9&$$0&=$a&b&c&d&e&f&g&h&i&p a j&k&l&m&n&o&p&~+q&P#]+d.r&V Y$s&t&u&. . . . . . B . . . . . . . . . . ", +". . . 6 v&w&x&i%y&z&A&B&C&D&B$E&F&d$G&H&X#I&+.J&K&L&M&N&O&P&Q&R&S&G+T&U&X%}.B.V&D g&W&. . . . . . . X&Y&Z&`&. . . . . . . . . ", +". . P% *.*+*@*#*$*%*&*i%|$**=*-*;*>*,*'*R@)*!*~*{*{$]*q+^*/*(*_*:*o&m$<*z@[*}*|*. . . . . . . . 1*2*3*4*5*6*. . . . . . . . . ", +". 7*8*A#9*0*a*;$b*c*d*e*f*g*z&h*i*j*k*l*m*n*o*p*q*r*s*(%t*u*v*w*x*y*z*A*j$. . . . . . . . . B*C*D*E*b#k F*. . . . . . . . . . ", +"G*H*I*J*V#K*L*M*N*O*P*Q*I$Q*R*S*T*U*V*W*X*Y*Z*`* =.=+=r*o%@=#=$=%=. . . . . . . . . . *.&=*===1@-=;=>=,='=. . . . . . . . . . ", +"~ A$)=!=~={=]=^=/=(=_=:=<=[=}=V#|=S*1=2=3=4=5=6=7=8=9=0=a=. . . . . . . . . . . B b=c=d=e=f=X g=h=i=j=k=l=. . . . . . . . . . ", +"m=n=o=p=q=r=s=i*t=u=v=6%w=d*x=y=z=;$;$A=B=C=D=E=F=. . . . . . . . . . . . *.G=H=I=1%J=K=L=M=N=O=P=Q=R=S=. . . . . . . . . . . ", +"T=U=V=X#;$W=X=Y=Z=`= -[=d*.-+-@-#-$-%-&-. . . . . . . . . . . . . . 1**-=---;->-,-1 '-)-!-~-{-]-^-/-(-_-. . . . . . . . . . . ", +". . :-<-[-}-|-1-2-3-4-5-6-. . . . . . . . . . . . . . . . . e.7-8-9-0-a-b-c-d-. e-f-g-h-i-V.j-h-{-]-k-. . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . b 4 l-m-n-o-B@A@}+H+p-|.q-r-u+T@s-Z t-u-j-v-w-x-y-z-. . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . b A A-B-C-D-E-5@B.F-H+h.r&).G-H-I-J-K-L-X@M-N-O-P-Q-R-/-S-T-. . . . . . . . . . . . . ", +". . . . . . . . . . . . . U-V-W-X-Y-Z-`-O.3@ ;L+.;].).).| +;).)-j=@;#;g-$;u-%;6*&;*;u-N-=;P x--;;;>;. . . . . . . . . . . . . ", +". . . . . . . . . . . . . e&,;';);9+!;i#~;{;];^;/;(;_;:;<;[;};|;|;u-u-1;2;3;4;. 5;6;$;7;P 8;9;0;a;. . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . 5.b;o&c;d;j e;. . f;g;w-h;i;j;h;$;Z [;w-i-k;3;/-K+*.l;7;m;n;6;3+o;p;. . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . e&q;#.r;I-};s;. . t;u;v;w;x;v%y;x-v-};z;A;A;B;C;D;E;F;G;j-6;H;I;. . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . X&J;K;#;<;&.L;. . A M;g+/.Z O-x-N;^-G;j-O;P;e.Q;R;t-S;P T;U;. . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . V;};{-W;z;X;. . . Y;C [;Q=3+=;h-R-Z;`;u+ >.>6;7;+>@>#>. . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . x+V;E;$>%>&>*>. . . x+(.=>->;>>>a ,>'>)>j-!>~>{>. . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . ]>^>/>n;(>_>:>4.. . . . e.<>[>}>|>1>2>3>. . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . 4>5>6>7>&>8>9>0>*;&>7>%>/-/.a>. . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . B F.. . L;b>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; --- openuniverse-1.0beta3.1+dfsg.orig/debian/changelog +++ openuniverse-1.0beta3.1+dfsg/debian/changelog @@ -0,0 +1,211 @@ +openuniverse (1.0beta3.1+dfsg-1build1) karmic; urgency=low + + * No change rebuild for plib transition + + -- Scott Kitterman Sat, 29 Aug 2009 21:03:17 -0400 + +openuniverse (1.0beta3.1+dfsg-1) unstable; urgency=low + + * Acknowledge NMU + * Use patch provided by Thorsten Alteholz so that openuniverse only + creates a log file if the '-logfile' argument is used. (Closes: 386848) + * Update debian/openuniverse.1 to describe the new command line + argument (-logfile) + * Updated debian/openuniverse.1 to describe one known bug (Y2038) + * Change the maintainer email address + * Add a 'q' key to the program to quit it. + * Modify the desktop file by removing the 'Encoding' key (not standard), + adjusting some values, also add a translation to the comment (to + Spanish) + * Add a pixmap file for the menu + * Add alternative libglut3-dev to freeglut3-dev in Build-Depends to + be backport-friendly + * Code fixes: + * Add an include for in ou.cpp to fix FTBFS + * Redefine several functions and parts of the code to use a 'const + char *' as argument to prevent g++'s 'warning: deprecated conversion + from string constant to 'char*' ' + + -- Javier Fernandez-Sanguino Pen~a Sun, 18 Jan 2009 21:30:43 +0100 + +openuniverse (1.0beta3.1+dfsg-0.1) unstable; urgency=low + + * Non-maintainer upload. + * Re-encode debian/copyright from iso-8859-1 to utf-8 + * Delete texfont.cpp and texfont.h from the upstream. (Closes: #467125) + * Add comments to debian/copyright for repackaging. + * Add new texfont.cpp and texfont.h which uses plib + * Add Build-Depends on plib1.8.4-dev + * Adjust debian/rules to use plib + * Fix menu to Applications/Science/Astronomy (Closes: #402371, #410748) + * Build-Depends on freeglut3-dev instead of libglut3-dev (Closes: #394498) + * Use Homepage field instead of the pseudo field in long description + * Add debian/compat instead of using DH_COMPAT + * Fix debian-rules-ignores-make-clean-error + + -- Ying-Chun Liu (PaulLiu) Sun, 14 Apr 2008 00:12:35 +0800 + +openuniverse (1.0beta3.1-7) UNRELEASED; urgency=low + + * If log.txt exists in the current working directory OU will not overwrite + * Build-Depend on freeglut3-dev instead of libglut3-dev, but still be + backport-friendly (Closes: #394498) + + -- Javier Fernandez-Sanguino Pen~a Sat, 21 Oct 2006 21:59:32 +0200 + +openuniverse (1.0beta3.1-6) unstable; urgency=high + + * Build-Depend on libglu1-mesa-dev (Closes: #366669) + + -- Javier Fernandez-Sanguino Pen~a Sun, 21 May 2006 08:16:29 +0200 + +openuniverse (1.0beta3.1-5) unstable; urgency=low + + * Add desktop file provided by Phil Bull to Ubuntu (1.0beta3.1-2ubuntu2) + + -- Javier Fernandez-Sanguino Pen~a Tue, 9 May 2006 10:52:07 +0200 + +openuniverse (1.0beta3.1-4) unstable; urgency=low + + * Fix the debian/rules to use dh_install properly, this way autobuilders + will not build incorrect packages (Closes: #348841) + [ Lintian fixes ] + * Provide manpage in the correct package (openuniverse, not + openuniverse-common). Adjust Conflicts of openuniverse accordingly + * Fix FSF address in copyright file + * Removed debian/conffiles to prevent duplicate files + * Remove latin-1 char (in my name) from the manpage. + + -- Javier Fernandez-Sanguino Pen~a Fri, 20 Jan 2006 00:27:56 +0100 + +openuniverse (1.0beta3.1-3) unstable; urgency=low + + * Remove xlibs-dev Build-Depends and added missing Build-Depends on X + libraries (Closes: #347102) + * Use debhelper compatibility version 4 + + -- Javier Fernandez-Sanguino Pen~a Sun, 15 Jan 2006 00:51:40 +0100 + +openuniverse (1.0beta3.1-2) unstable; urgency=low + + * Applied Andreas Jochens's patch to fix a FTBFS when compiling in amd64 + with gcc4.0 (Closes: #287883) + + -- Javier Fernandez-Sanguino Pen~a Sun, 20 Mar 2005 00:59:07 +0100 + +openuniverse (1.0beta3.1-1) unstable; urgency=low + + * Repackaged openuniverse with a new stardata file. The stardata file + has been generated with a custom script from the data provided in the + kstars package, which uses the Hipparcos stardata catalogue which is + free. The new star data catalogue might not be as complete as the previous + one (based on Yale) but it is sufficient for most purposes. I might + try to have a Yale parser in order to regenerate the data if the + 'yale' package is installed and available but for the moment this will + do (Closes: #246049) + * Included a few scripts to massage data from external sources (SpaceChart, + the Yale catalogue and Kstars) to OpenUniverse's format + * Adjusted the copyright file accordingly. + + -- Javier Fernandez-Sanguino Pen~a Thu, 10 Jun 2004 23:59:22 +0200 + +openuniverse (1.0beta3-9) unstable; urgency=low + + * Move dh_movefiles call to the install target so that builds that + do not run binary-indep move common files away from debian/tmp + [hopefully now fixes this bug, cross fingers..] (Closes: #234490) + + + -- Javier Fernandez-Sanguino Pen~a Fri, 27 Feb 2004 00:47:48 +0100 + +openuniverse (1.0beta3-8) unstable; urgency=low + + * The "remind myself to fully test all scenarios before releasing" release + * Changed the order in which binaries packages get created in + order to dh_movefiles before the openuniverse package is created. + Hopefully this won't introduce any new bugs. + (Closes: #234490, 234645) + + -- Javier Fernandez-Sanguino Pen~a Wed, 25 Feb 2004 13:25:19 +0100 + +openuniverse (1.0beta3-7) unstable; urgency=low + + * Openuniverse-common replaces/conflicts previous ou versions (Closes: #234490) + + -- Javier Fernandez-Sanguino Pen~a Tue, 24 Feb 2004 08:45:03 +0100 + +openuniverse (1.0beta3-6) unstable; urgency=low + + * Moved all arch independent data to a separate package (Closes: #233425) + * Created symbolic link in /usr/share/doc/openuniverse in build instead + of binary-arch target + * Modified address of the FSF (updated to current one) + + -- Javier Fernandez-Sanguino Pen~a Wed, 18 Feb 2004 09:18:04 +0100 + +openuniverse (1.0beta3-5) unstable; urgency=low + + * Moved screenshots directory to /var/games/openuniverse/scrshots + this directory is setgid games but I'm not considering making + openuniverse setgid. An administrator who wants his users to + dump screenshots to the system must, specifically, grant them + access to that directory. An alternative solution would be + to make it rwxrwxrwt directory (such as /tmp) but I'm not doing + this in the package for obvious security reasons. Finally, another + solution would be making screenshots in the current working directory + (or the user's home directory) which might be implemented in the + future (Closes: #221607) + * Documented the above and also fixed the typos in the manual page + (Closes: #221614) + * Also added a noticed regarding screenshots to the README.Debian file + * Added a proper copyright notice + * Openuniverse will not crash if it cannot write a screenshot (the + ScreenShot function will just return instead of shutdown()) + * Openuniverse will print the SHOTS_DIR in the error message if it + cannot write to it. + + -- Javier Fernandez-Sanguino Pen~a Wed, 24 Dec 2003 12:36:26 +0100 + +openuniverse (1.0beta3-4) unstable; urgency=low + + * Moved to 'science' section. + + -- Javier Fernandez-Sanguino Pen~a Wed, 12 Nov 2003 00:20:24 +0100 + +openuniverse (1.0beta3-3) unstable; urgency=low + + * Recovered from the archive (yes, I know I asked for it to be + removed -#174453- but a package still Suggests: it and I want to + make a clean upgrade path from woody for people) + * Added README.Debian with information about the Ndivia card's issues. + * Added Homepage and notice of warning to control file + * Cleanup of debian/rules + * Updated Build-Depends, including xlibs-dev, flex, bison and libglutg3-dev + * Updated Standards version + * Ou.conf is now stored in /etc (where it should always have been) + * debian/rules now uses DESTDIR + * Added #include to src/cfgparse.y and fixed some syntactic + errors. + * Used code borrowed from the MNG Library to fix compilation error + in milkyway.cpp + * Added #define GL_GLEXT_PROTOTYPES to comet.cpp + * Removed unecessary files from documentation (AUTHORS and INSTALL) + + -- Javier Fernandez-Sanguino Pen~a Thu, 5 Jun 2003 01:40:55 +0200 + +openuniverse (1.0beta3-2) unstable; urgency=low + + * Fixed description typo. + + -- Javier Fernandez-Sanguino Pen~a Mon, 26 Nov 2001 17:41:24 +0100 + +openuniverse (1.0beta3-1) unstable; urgency=low + + * Initial Release. + * Fixed a tiny icky bug in the configure script that would not make it find glut (added -lm :) + + -- Javier Fernandez-Sanguino Pen~a Wed, 6 Jun 2001 19:56:03 +0200 + +Local variables: +mode: debian-changelog +End: --- openuniverse-1.0beta3.1+dfsg.orig/debian/TODO +++ openuniverse-1.0beta3.1+dfsg/debian/TODO @@ -0,0 +1,35 @@ + +DATA +---- + +Maybe texture maps should be separated in another package + +Sames goes for star data (currently starplot does this so maybe +OpenUniverse should use that info). Also notice that it is not +all to clear that the star data file is copyright-ok, it seems +to be derived from the Yale star data catalog based on xephem's +data, but has been hand-edit so I don't really see if this +qualifies as "modified redistribution" (not allowed for the Yale +star data) or as "derived work". + +This type of problems have lead to bugs in many other astronomy packages +including kstars (198499), celestia (#174456), stellarium +(#198495) and, recently, xephem. For more information please read +http://lists.debian.org/debian-devel/2003/debian-devel-200305/msg02004.html + +Notice that spacechart provides a number of scripts (in the data/ dir) +to extract the proper information from the Hipparcos and Gliese, and that +starplot does so too (in the src/convert) for the Gliese and Yale catalogues. + +SCREENSHOTS +----------- + +- Consider providing a (low?) debconf note to make openuniverse setgid (warning +about the security implications. So that admins do not have to change +the srcshots directory permissions. + +- Provide a cli switch to define the directory to dump screen shots to? + +--- Javier Fernández-Sanguino Peña +Wed, 24 Dec 2003 13:26:30 +0100 + --- openuniverse-1.0beta3.1+dfsg.orig/debian/substvars +++ openuniverse-1.0beta3.1+dfsg/debian/substvars @@ -0,0 +1 @@ +shlibs:Depends=freeglut3, libc6 (>= 2.3.5-1), libgcc1 (>= 1:4.0.2), libglu1-xorg | libglu1, libice6, libjpeg62, libsm6, libstdc++6 (>= 4.0.2-4), libx11-6, libxext6, libxi6, libxmu6, xlibmesa-gl | libgl1 --- openuniverse-1.0beta3.1+dfsg.orig/debian/README.Debian +++ openuniverse-1.0beta3.1+dfsg/debian/README.Debian @@ -0,0 +1,51 @@ +openuniverse for Debian +---------------------- + +Openuniverse is no longer actively being maintained. Users are +encouraged to use Celestia instead. Openuniverse might be removed +from the archive in the future (it was and has been restored) + +Notice that you might want to tweak /etc/openuniverse.conf to +adjust for your 3d video card (it's optimised for a GeForce card). +Please send new configurations to openuniverse@packages.debian.org +indicating the video card you are using. + +NDIVIA Issues +------------- + +Some users have reported issues when running with Ndivia cards +(see bu "#101498: Doesn't start" and "#107044: starts and dies", +available at http://bugs.debian.org/101498 and +http://bugs.debian.org/107044 respectively). Unfortunately, the +maintainer cannot debug these issues but it is not all too clear +if they are due to a driver issue, to a library OU uses +or to Openuniverse itself. + +There have also been reports of users with some Ndvia cards/configurations +which work ok (reported: nvidia-glx 1.0.2313-1, a TNT2, and +linux kernel 2.4.17) + +If you can help debug out this bug many users would really +appreciate it. + +SCREENSHOTS +----------- + +Screenshots are taken and stored at /var/games/openuniverse/scrshots. Notice +that the Debian package will not provide permissions for all users to +write in that directory (and will not make the openuniverse program setgid +since it has not been security audited). If you want to let all the +users in the system to make screenshots when using openuniverse (and acknowledge +the security issues related to the partition containing /var being filled up) +do the following: + +$ chmod a+rwx /var/games/openuniverse/scrshots +$ chmod +t /var/games/openuniverse/scrshots + +(i.e. set it up as a temporary directory where all users can write to) + +More information in the manpage (openuniverse(1)) in the section "FILES" + + + -- Javier Fernandez-Sanguino Pena +Wed, 24 Dec 2003 13:52:01 +0100 --- openuniverse-1.0beta3.1+dfsg.orig/debian/openuniverse.1 +++ openuniverse-1.0beta3.1+dfsg/debian/openuniverse.1 @@ -0,0 +1,137 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH OPENUNIVERSE 1 "abril 1, 2001" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +openuniverse \- 3D space simulation +.SH SYNOPSIS +.B openuniverse +.RI [ -bench ] [ -fullscreen [ mode_string ] ] [ -logfile [filename] ] +.SH DESCRIPTION +This manual page documents briefly the +.B openuniverse +command. +.PP +OpenUniverse (also called OU) is a fun, fast and free OpenGL space simulator. +It currently focusses on the Solar System and lets you visit all of its planets, most major moons and a vast +collection of smaller bodies in colorful, glorious and realtime +3D. If you've ever had a chance to visit Mercury or asteroid Geographos, +here you'll find them looking exactly the same way, following exactly +the same path as when you've left them. +.PP +This program \fBreally\fP benefits of a 3D accelerator graphic card. +It's the only way to ensure a decent framerate (speed). +OU has been tested on the following 3D chipsets: Voodoo 1/2/3, +nVidia GeForce2 MX/MX 400 (with nVidia's binary drivers). +. +.PP +When OpenUniverse starts up we suggest to simply lay back for a few seconds. +Because you have just reached Earth! OU's +main screen with it's helpful information shows up now and the blue +planet will slowly rotate in front of you, while you have a moment +to enjoy it's beauty and fragility. +.PP +To view the Help press the 'H' key, you can swith on and off the +demo mode with the 'd' key. For other commands and functions see OU's manual. +.PP +This manual page was written for the Debian GNU/Linux distribution +because the original program does not have a manual page. +Instead, it has documentation in the GNU Info format; see below. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +.SH OPTIONS +A summary of options is included below. +For a complete description, see OU's manual. +.TP +.B \-h, \-\-help +Show summary of options. +.TP +.B \-bench +Do a benchmark of your system. +.TP +.B \-fullscren mode_screen +Launch openuniverse fullscren. The value +.I mode_screen +defines the screen resolution, colordepth and refresh rate. For example the +command line +.B openuniverse -fullscreen 640x480:32@70 +will run OpenUniverse in an resolution of 640x480 +pixels, a colordeph of 32 bit (truecolor) and at a refresh rate of +70Hz. Please note that the characters 'x' and ':' are important and +can't be removed (you don't have to suppy refresh rate if you don't +want as it'll use default refresh rate for the supplied +resolution). Note as well that a lot of 3D cards are only capable +of resolutions up to 800x600 and colordepths up to 16bit. +.TP +.B \-logfile filename +Creates a logfile that describes the program operations. If no filename +is provided the logfile will default to +.I log.txt +and it will be created in the current working directory. +.SH ABOUT +.br +The programs are documented in the manual pages (not quite complete yet) +available in /usr/share/doc/openuniverse/manual. Also go away +and check the screenshots (not available in this package) that +can be seen in www.openuniverse.org +.SH FILES +.TP +.B /usr/share/openuniverse/textures +Textures used for planets. +.TP +.B /usr/share/openuniverse/fonts +Fonts used by the program. +.TP +.B /usr/share/openuniverse/3dmodels +Three dimensional models of the objects (satellites and space station). +.TP +.B /usr/share/openuniverse/data +Stellar data sets, it includes a few objects from the Messier catalog +and a basic set of bright stars derived from the yale bright star catalog +(it includes only those entries Bayer and/or Flamsteed number and +provides common names which were overlayed by closes postition match +from a hand-edited list) +.B /etc/openuniverse/ +Location of the configuration of openuniverse (\fBou.conf\fR) +.TP +.B /usr/share/openuniverse/events +.TP +.B /var/games/openuniverse/scrshots +As a Debian specific change, the Debian version of \fBopenuniverse\fR will +write its screenshots to \fB/var/games/openuniverse/srcshots\fR, instead +of \fB/usr/share/openuniverse/scrshots\fR. Notice, +however, that users are not given full permissions to this directory +(can only be written by root or the \fBgames\fR group). If you want to make +screenschots you need to add yourself to the \fBgames\fR group, or explicitly +grant write permissions to all users in that directory (preferabily adding +also the sticky bit as is usually done for shared temporary directories like +\fB/tmp\fR or \fB/var/tmp\fR). +.TP +.B /usr/share/doc/openuniverse +Additional documentation. +.SH BUGS +.\" See http://sourceforge.net/tracker/index.php?func=detail&aid=225766&group_id=910&atid=100910 +OpenUniverse is affected by the year 2038 bug if running in a 32-bit +platform. The time definition used in OpenUniverse is based on a 32-bit +variable and can only hold values up to 9th January 2038 (3:14:07 GMT). If +time in OU is accelerated past this value it will behave unexpectedly +as time goes back to the past (to January 1901). + +.SH AUTHOR +This manual page was written by Javier Fernandez-Sanguino +for the Debian GNU/Linux system (but may be used by others). --- openuniverse-1.0beta3.1+dfsg.orig/debian/openuniverse.install +++ openuniverse-1.0beta3.1+dfsg/debian/openuniverse.install @@ -0,0 +1,7 @@ +etc/ +usr/bin +usr/share/openuniverse/conf +usr/share/doc/openuniverse +var/games/openuniverse +usr/share/applications +usr/share/pixmaps --- openuniverse-1.0beta3.1+dfsg.orig/debian/compat +++ openuniverse-1.0beta3.1+dfsg/debian/compat @@ -0,0 +1 @@ +4 --- openuniverse-1.0beta3.1+dfsg.orig/debian/postinst.debhelper +++ openuniverse-1.0beta3.1+dfsg/debian/postinst.debhelper @@ -0,0 +1,5 @@ +# Automatically added by dh_installmenu +if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then + update-menus +fi +# End automatically added section --- openuniverse-1.0beta3.1+dfsg.orig/debian/copyright +++ openuniverse-1.0beta3.1+dfsg/debian/copyright @@ -0,0 +1,61 @@ +This package was debianized by +Javier Fernandez-Sanguino Peña on +Sun, 1 Apr 2001 19:58:43 +0200. + +It was downloaded from http://www.openuniverse.org + +Upstream Author: Raúl Alonso + +This program is + +Copyright: (c) 2000,2001 Raúl Alonso + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +You can find a copy of the license in your Debian system under +/usr/share/common-licenses/GPL-2 + +While OpenUniverse itself is released under the GPL, its data catalogue +are under different licenses as follows. + + Star catalogue: + + Star catalog derived from the Hipparcos and Tycho star catalogs. + These catalogs are in the public domain, and can be obtained from + http://cdsweb.u-strasbg.fr/viz-bin/Cat?I/239 + + Changes made to the raw catalog include stripping out certain data + fields, reformatting, and manual matching up common and genetive + star names. The modified catalog is (C) Jason Harris, 2003, and is + licensed under the terms of the GNU General Public License (GPL): + http://www.gnu.org/licenses/gpl.html + + Further changes have been made with a custom script to derive a + file from this raw catalogue that is written under OpenUniverse's + star format. This changes were made by Javier Fernandez-Sanguino. + + The Hipparcos data is in the public domain and may be used + by anyone. We do request however that use of the catalogue data + is acknowledged. Something similar to "This application + makes use of the Hipparcos and Tycho catalogues (ESA, 1997)" + could be appropriate, and a link to the ESA Hipparcos web pages + (http://sci.esa.int/hipparcos) would also be appreciated. + +texfont.cpp and texfont.h is licensed by: + This program is freely distributable without licensing fees and is + provided without guarantee or warrantee expressed or implied. This + program is -not- in the public domain. +This license is non-free thus it is removed from the tarball. --- openuniverse-1.0beta3.1+dfsg.orig/debian/openuniverse-common.install +++ openuniverse-1.0beta3.1+dfsg/debian/openuniverse-common.install @@ -0,0 +1,5 @@ +usr/share/openuniverse/fonts +usr/share/openuniverse/3dmodels +usr/share/openuniverse/data +usr/share/openuniverse/docs +usr/share/openuniverse/textures --- openuniverse-1.0beta3.1+dfsg.orig/fonts/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/fonts/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -82,7 +82,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -124,7 +124,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ --- openuniverse-1.0beta3.1+dfsg.orig/conf/Makefile.in +++ openuniverse-1.0beta3.1+dfsg/conf/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated automatically by automake 1.4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation @@ -82,7 +82,7 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best all: all-redirect .SUFFIXES: @@ -124,7 +124,7 @@ @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \