lestes::lang::cplus::lex::lex_floating_literal Class Reference

Floating literal. More...

#include <lex_literal.g.hh>

Inheritance diagram for lestes::lang::cplus::lex::lex_floating_literal:

lestes::lang::cplus::lex::lex_literal lestes::std::object lestes::std::mem::keystone List of all members.

Public Types

enum  suffix_type { NONE, LONG, FLOAT }
 Suffix type. More...

Public Member Functions

suffix_type suffix_get () const
 The method suffix_get returns the value of the field lex_floating_literal::suffix.
void suffix_set (suffix_type)
 The method suffix_set sets the field lex_floating_literal::suffix to the given value.
bool exponent_negative_get () const
 The method exponent_negative_get returns the value of the field lex_floating_literal::exponent_negative.
void exponent_negative_set (bool)
 The method exponent_negative_set sets the field lex_floating_literal::exponent_negative to the given value.
ulint integer_start_get () const
 The method integer_start_get returns the value of the field lex_floating_literal::integer_start.
void integer_start_set (ulint)
 The method integer_start_set sets the field lex_floating_literal::integer_start to the given value.
ulint integer_end_get () const
 The method integer_end_get returns the value of the field lex_floating_literal::integer_end.
void integer_end_set (ulint)
 The method integer_end_set sets the field lex_floating_literal::integer_end to the given value.
ulint fraction_start_get () const
 The method fraction_start_get returns the value of the field lex_floating_literal::fraction_start.
void fraction_start_set (ulint)
 The method fraction_start_set sets the field lex_floating_literal::fraction_start to the given value.
ulint fraction_end_get () const
 The method fraction_end_get returns the value of the field lex_floating_literal::fraction_end.
void fraction_end_set (ulint)
 The method fraction_end_set sets the field lex_floating_literal::fraction_end to the given value.
ulint exponent_start_get () const
 The method exponent_start_get returns the value of the field lex_floating_literal::exponent_start.
void exponent_start_set (ulint)
 The method exponent_start_set sets the field lex_floating_literal::exponent_start to the given value.
ulint exponent_end_get () const
 The method exponent_end_get returns the value of the field lex_floating_literal::exponent_end.
void exponent_end_set (ulint)
 The method exponent_end_set sets the field lex_floating_literal::exponent_end to the given value.
virtual void accept_lex_literal_visitor (ptr< lex_literal_visitor > v)
virtual ptr< reflection_listreflection_get () const
 for purposes of dumping
virtual ptr< field_list_listfield_values_get () const
 for purposes of dumping

Static Public Member Functions

static ptr< lex_floating_literalcreate (suffix_type a__lex_floating_literal__suffix, bool a__lex_floating_literal__exponent_negative, ulint a__lex_floating_literal__integer_start, ulint a__lex_floating_literal__integer_end, ulint a__lex_floating_literal__fraction_start, ulint a__lex_floating_literal__fraction_end, ulint a__lex_floating_literal__exponent_start, ulint a__lex_floating_literal__exponent_end)
 First generated factory method for class lex_floating_literal.

Protected Member Functions

 lex_floating_literal (suffix_type a__lex_floating_literal__suffix, bool a__lex_floating_literal__exponent_negative, ulint a__lex_floating_literal__integer_start, ulint a__lex_floating_literal__integer_end, ulint a__lex_floating_literal__fraction_start, ulint a__lex_floating_literal__fraction_end, ulint a__lex_floating_literal__exponent_start, ulint a__lex_floating_literal__exponent_end)
 Generated constructor for class lex_floating_literal.
virtual void gc_mark ()
 Marking routine for class lex_floating_literal.

Private Attributes

suffix_type suffix
 Suffix.
bool exponent_negative
 Flag for negative exponent.
ulint integer_start
 Start of interger value.
ulint integer_end
 End of value.
ulint fraction_start
 Start of interger value.
ulint fraction_end
 End of value.
ulint exponent_start
 Start of interger value.
ulint exponent_end
 End of value.

Static Private Attributes

static ptr< reflection_listreflection = reflection

Detailed Description

Floating literal.

Represents floating literal properties necessary to determine the data type. The associated value is the original value with suffixes.

Definition at line 182 of file lex_literal.g.hh.


Member Enumeration Documentation

enum lestes::lang::cplus::lex::lex_floating_literal::suffix_type

Suffix type.

Types of floating literal suffix.

Enumerator:
NONE 
LONG 
FLOAT 

Definition at line 188 of file lex_literal.g.hh.

00188                          {
00189                 NONE,
00190                 LONG,
00191                 FLOAT
00192         };


Constructor & Destructor Documentation

lestes::lang::cplus::lex::lex_floating_literal::lex_floating_literal ( suffix_type  a__lex_floating_literal__suffix,
bool  a__lex_floating_literal__exponent_negative,
ulint  a__lex_floating_literal__integer_start,
ulint  a__lex_floating_literal__integer_end,
ulint  a__lex_floating_literal__fraction_start,
ulint  a__lex_floating_literal__fraction_end,
ulint  a__lex_floating_literal__exponent_start,
ulint  a__lex_floating_literal__exponent_end 
) [protected]

Generated constructor for class lex_floating_literal.

Generated constructor for class lex_floating_literal.

Author:
lsg

Definition at line 391 of file lex_literal.g.cc.

Referenced by create().

00399         : lex_literal(), suffix(a__lex_floating_literal__suffix), exponent_negative(a__lex_floating_literal__exponent_negative), integer_start(a__lex_floating_literal__integer_start), integer_end(a__lex_floating_literal__integer_end), fraction_start(a__lex_floating_literal__fraction_start), fraction_end(a__lex_floating_literal__fraction_end), exponent_start(a__lex_floating_literal__exponent_start), exponent_end(a__lex_floating_literal__exponent_end)
00400 {}


Member Function Documentation

lex_floating_literal::suffix_type lestes::lang::cplus::lex::lex_floating_literal::suffix_get (  )  const

The method suffix_get returns the value of the field lex_floating_literal::suffix.

Returns:
The value of lex_floating_literal::suffix.
Author:
lsg

Definition at line 219 of file lex_literal.g.cc.

References suffix.

00220 {
00221         return suffix;
00222 }

void lestes::lang::cplus::lex::lex_floating_literal::suffix_set ( suffix_type  x  ) 

The method suffix_set sets the field lex_floating_literal::suffix to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::suffix to.
Author:
lsg

Definition at line 228 of file lex_literal.g.cc.

References suffix.

00229 {
00230         lex_floating_literal::suffix = x;
00231 }

bool lestes::lang::cplus::lex::lex_floating_literal::exponent_negative_get (  )  const

The method exponent_negative_get returns the value of the field lex_floating_literal::exponent_negative.

Returns:
The value of lex_floating_literal::exponent_negative.
Author:
lsg

Definition at line 237 of file lex_literal.g.cc.

References exponent_negative.

00238 {
00239         return exponent_negative;
00240 }

void lestes::lang::cplus::lex::lex_floating_literal::exponent_negative_set ( bool  x  ) 

The method exponent_negative_set sets the field lex_floating_literal::exponent_negative to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::exponent_negative to.
Author:
lsg

Definition at line 246 of file lex_literal.g.cc.

References exponent_negative.

00247 {
00248         lex_floating_literal::exponent_negative = x;
00249 }

ulint lestes::lang::cplus::lex::lex_floating_literal::integer_start_get (  )  const

The method integer_start_get returns the value of the field lex_floating_literal::integer_start.

Returns:
The value of lex_floating_literal::integer_start.
Author:
lsg

Definition at line 255 of file lex_literal.g.cc.

References integer_start.

00256 {
00257         return integer_start;
00258 }

void lestes::lang::cplus::lex::lex_floating_literal::integer_start_set ( ulint  x  ) 

The method integer_start_set sets the field lex_floating_literal::integer_start to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::integer_start to.
Author:
lsg

Definition at line 264 of file lex_literal.g.cc.

References integer_start.

00265 {
00266         lex_floating_literal::integer_start = x;
00267 }

ulint lestes::lang::cplus::lex::lex_floating_literal::integer_end_get (  )  const

The method integer_end_get returns the value of the field lex_floating_literal::integer_end.

Returns:
The value of lex_floating_literal::integer_end.
Author:
lsg

Definition at line 273 of file lex_literal.g.cc.

References integer_end.

00274 {
00275         return integer_end;
00276 }

void lestes::lang::cplus::lex::lex_floating_literal::integer_end_set ( ulint  x  ) 

The method integer_end_set sets the field lex_floating_literal::integer_end to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::integer_end to.
Author:
lsg

Definition at line 282 of file lex_literal.g.cc.

References integer_end.

00283 {
00284         lex_floating_literal::integer_end = x;
00285 }

ulint lestes::lang::cplus::lex::lex_floating_literal::fraction_start_get (  )  const

The method fraction_start_get returns the value of the field lex_floating_literal::fraction_start.

Returns:
The value of lex_floating_literal::fraction_start.
Author:
lsg

Definition at line 291 of file lex_literal.g.cc.

References fraction_start.

00292 {
00293         return fraction_start;
00294 }

void lestes::lang::cplus::lex::lex_floating_literal::fraction_start_set ( ulint  x  ) 

The method fraction_start_set sets the field lex_floating_literal::fraction_start to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::fraction_start to.
Author:
lsg

Definition at line 300 of file lex_literal.g.cc.

References fraction_start.

00301 {
00302         lex_floating_literal::fraction_start = x;
00303 }

ulint lestes::lang::cplus::lex::lex_floating_literal::fraction_end_get (  )  const

The method fraction_end_get returns the value of the field lex_floating_literal::fraction_end.

Returns:
The value of lex_floating_literal::fraction_end.
Author:
lsg

Definition at line 309 of file lex_literal.g.cc.

References fraction_end.

00310 {
00311         return fraction_end;
00312 }

void lestes::lang::cplus::lex::lex_floating_literal::fraction_end_set ( ulint  x  ) 

The method fraction_end_set sets the field lex_floating_literal::fraction_end to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::fraction_end to.
Author:
lsg

Definition at line 318 of file lex_literal.g.cc.

References fraction_end.

00319 {
00320         lex_floating_literal::fraction_end = x;
00321 }

ulint lestes::lang::cplus::lex::lex_floating_literal::exponent_start_get (  )  const

The method exponent_start_get returns the value of the field lex_floating_literal::exponent_start.

Returns:
The value of lex_floating_literal::exponent_start.
Author:
lsg

Definition at line 327 of file lex_literal.g.cc.

References exponent_start.

00328 {
00329         return exponent_start;
00330 }

void lestes::lang::cplus::lex::lex_floating_literal::exponent_start_set ( ulint  x  ) 

The method exponent_start_set sets the field lex_floating_literal::exponent_start to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::exponent_start to.
Author:
lsg

Definition at line 336 of file lex_literal.g.cc.

References exponent_start.

00337 {
00338         lex_floating_literal::exponent_start = x;
00339 }

ulint lestes::lang::cplus::lex::lex_floating_literal::exponent_end_get (  )  const

The method exponent_end_get returns the value of the field lex_floating_literal::exponent_end.

Returns:
The value of lex_floating_literal::exponent_end.
Author:
lsg

Definition at line 345 of file lex_literal.g.cc.

References exponent_end.

00346 {
00347         return exponent_end;
00348 }

void lestes::lang::cplus::lex::lex_floating_literal::exponent_end_set ( ulint  x  ) 

The method exponent_end_set sets the field lex_floating_literal::exponent_end to the given value.

Parameters:
[in] x The new value to set lex_floating_literal::exponent_end to.
Author:
lsg

Definition at line 354 of file lex_literal.g.cc.

References exponent_end.

00355 {
00356         lex_floating_literal::exponent_end = x;
00357 }

void lestes::lang::cplus::lex::lex_floating_literal::accept_lex_literal_visitor ( ptr< lex_literal_visitor v  )  [virtual]

Implements lestes::lang::cplus::lex::lex_literal.

Definition at line 359 of file lex_literal.g.cc.

00360 {
00361         return v->visit_lex_floating_literal( this );
00362 }

ptr< lex_floating_literal > lestes::lang::cplus::lex::lex_floating_literal::create ( suffix_type  a__lex_floating_literal__suffix,
bool  a__lex_floating_literal__exponent_negative,
ulint  a__lex_floating_literal__integer_start,
ulint  a__lex_floating_literal__integer_end,
ulint  a__lex_floating_literal__fraction_start,
ulint  a__lex_floating_literal__fraction_end,
ulint  a__lex_floating_literal__exponent_start,
ulint  a__lex_floating_literal__exponent_end 
) [static]

First generated factory method for class lex_floating_literal.

This factory method for class lex_floating_literal takes values of all fields as arguments.

Author:
lsg

Definition at line 368 of file lex_literal.g.cc.

References lex_floating_literal().

Referenced by lestes::lang::cplus::lex::preprocessor::classify_number().

00376 {
00377         return ptr< lex_floating_literal > ( new lex_floating_literal(a__lex_floating_literal__suffix,
00378                 a__lex_floating_literal__exponent_negative,
00379                 a__lex_floating_literal__integer_start,
00380                 a__lex_floating_literal__integer_end,
00381                 a__lex_floating_literal__fraction_start,
00382                 a__lex_floating_literal__fraction_end,
00383                 a__lex_floating_literal__exponent_start,
00384                 a__lex_floating_literal__exponent_end) );
00385 }

ptr< object::reflection_list > lestes::lang::cplus::lex::lex_floating_literal::reflection_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::lex::lex_literal.

Definition at line 402 of file lex_literal.g.cc.

References lestes::std::list< T >::create(), reflection, and lestes::lang::cplus::lex::lex_literal::reflection_get().

00403 {
00404         if (!reflection) {
00405                 typedef class_reflection::field_metadata md;
00406                 typedef class_reflection::field_metadata_list mdlist;
00407                 ptr<mdlist> mdl = mdlist::create();
00408                 mdl->push_back( md::create( "suffix", "suffix_type" ) );
00409                 mdl->push_back( md::create( "exponent_negative", "bool" ) );
00410                 mdl->push_back( md::create( "integer_start", "ulint" ) );
00411                 mdl->push_back( md::create( "integer_end", "ulint" ) );
00412                 mdl->push_back( md::create( "fraction_start", "ulint" ) );
00413                 mdl->push_back( md::create( "fraction_end", "ulint" ) );
00414                 mdl->push_back( md::create( "exponent_start", "ulint" ) );
00415                 mdl->push_back( md::create( "exponent_end", "ulint" ) );
00416                 reflection = reflection_list::create( lex_literal::reflection_get() );
00417                 reflection->push_back( class_reflection::create( "lex_floating_literal", mdl ) );
00418         }
00419         return reflection;
00420 }

ptr< object::field_list_list > lestes::lang::cplus::lex::lex_floating_literal::field_values_get (  )  const [virtual]

for purposes of dumping

Reimplemented from lestes::lang::cplus::lex::lex_literal.

Definition at line 422 of file lex_literal.g.cc.

References lestes::std::list< T >::create(), and lestes::lang::cplus::lex::lex_literal::field_values_get().

00423 {
00424         ptr < field_list_list > result = lex_literal::field_values_get();
00425         result->push_back( value_list::create() );
00426         result->back()->push_back( objectize< suffix_type > ::create( this->suffix ) );
00427         result->push_back( value_list::create() );
00428         result->back()->push_back( objectize< bool > ::create( this->exponent_negative ) );
00429         result->push_back( value_list::create() );
00430         result->back()->push_back( objectize< ulint > ::create( this->integer_start ) );
00431         result->push_back( value_list::create() );
00432         result->back()->push_back( objectize< ulint > ::create( this->integer_end ) );
00433         result->push_back( value_list::create() );
00434         result->back()->push_back( objectize< ulint > ::create( this->fraction_start ) );
00435         result->push_back( value_list::create() );
00436         result->back()->push_back( objectize< ulint > ::create( this->fraction_end ) );
00437         result->push_back( value_list::create() );
00438         result->back()->push_back( objectize< ulint > ::create( this->exponent_start ) );
00439         result->push_back( value_list::create() );
00440         result->back()->push_back( objectize< ulint > ::create( this->exponent_end ) );
00441         return result;
00442 }

void lestes::lang::cplus::lex::lex_floating_literal::gc_mark ( void   )  [protected, virtual]

Marking routine for class lex_floating_literal.

Marking routine is used for garbage collection.

Author:
lsg

Reimplemented from lestes::lang::cplus::lex::lex_literal.

Definition at line 449 of file lex_literal.g.cc.

References lestes::lang::cplus::lex::lex_literal::gc_mark().

00450 {
00451         lex_literal::gc_mark();
00452 }


Member Data Documentation

suffix_type lestes::lang::cplus::lex::lex_floating_literal::suffix [private]

Suffix.

Definition at line 279 of file lex_literal.g.hh.

Referenced by suffix_get(), and suffix_set().

bool lestes::lang::cplus::lex::lex_floating_literal::exponent_negative [private]

Flag for negative exponent.

Set to true for negative exponent.

Definition at line 284 of file lex_literal.g.hh.

Referenced by exponent_negative_get(), and exponent_negative_set().

ulint lestes::lang::cplus::lex::lex_floating_literal::integer_start [private]

Start of interger value.

Index pointing at the first digit of the integer value.

Definition at line 289 of file lex_literal.g.hh.

Referenced by integer_start_get(), and integer_start_set().

ulint lestes::lang::cplus::lex::lex_floating_literal::integer_end [private]

End of value.

Definition at line 291 of file lex_literal.g.hh.

Referenced by integer_end_get(), and integer_end_set().

ulint lestes::lang::cplus::lex::lex_floating_literal::fraction_start [private]

Start of interger value.

Index pointing at the first digit of the fraction value.

Definition at line 296 of file lex_literal.g.hh.

Referenced by fraction_start_get(), and fraction_start_set().

ulint lestes::lang::cplus::lex::lex_floating_literal::fraction_end [private]

End of value.

Definition at line 298 of file lex_literal.g.hh.

Referenced by fraction_end_get(), and fraction_end_set().

ulint lestes::lang::cplus::lex::lex_floating_literal::exponent_start [private]

Start of interger value.

Index pointing at the first digit of the exponent value.

Definition at line 303 of file lex_literal.g.hh.

Referenced by exponent_start_get(), and exponent_start_set().

ulint lestes::lang::cplus::lex::lex_floating_literal::exponent_end [private]

End of value.

Definition at line 305 of file lex_literal.g.hh.

Referenced by exponent_end_get(), and exponent_end_set().

ptr< object::reflection_list > lestes::lang::cplus::lex::lex_floating_literal::reflection = reflection [static, private]

Reimplemented from lestes::lang::cplus::lex::lex_literal.

Definition at line 306 of file lex_literal.g.hh.

Referenced by reflection_get().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:24:17 2007 for lestes by doxygen 1.5.1-20070107