Annotation of parser3/src/types/pa_vunknown.h, revision 1.8
1.7 paf 1: /** @file
2: Parser: unknown Parser class.
3:
1.1 paf 4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
1.7 paf 5:
1.2 paf 6: Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
1.1 paf 7:
1.8 ! paf 8: $Id: pa_vunknown.h,v 1.7 2001/03/28 14:41:33 paf Exp $
1.1 paf 9: */
10:
11: #ifndef PA_VUNKNOWN_H
12: #define PA_VUNKNOWN_H
13:
14: #include "pa_value.h"
1.3 paf 15: #include "pa_globals.h"
1.1 paf 16:
1.7 paf 17: /// value of type 'unknown'. ex: usually $sjfklsjfksjdfk has this type
1.1 paf 18: class VUnknown : public Value {
19: public: // Value
20:
21: // all: for error reporting after fail(), etc
22: const char *type() const { return "unknown"; }
23:
24: // unknown: ""
25: const String *get_string() { return empty_string; }
26: // unknown: false
1.8 ! paf 27: bool is_defined() const { return false; }
1.7 paf 28: // VUnknown: 0
29: double as_double() { return 0; }
1.4 paf 30: // unknown: this
1.6 paf 31: Value *as_expr_result(bool return_string_as_is=false) { return this; }
32:
1.1 paf 33: // unknown: false
1.6 paf 34: bool as_bool() { return false; }
1.1 paf 35:
36: public: // usage
37:
38: VUnknown(Pool& apool) : Value(apool) {
39: }
40:
41: };
42:
43: #endif
E-mail: