File: Boolean.cc

package info (click to toggle)
rumur 2020.12.20-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,292 kB
  • sloc: cpp: 17,090; ansic: 2,537; objc: 1,542; python: 1,120; sh: 538; yacc: 536; lex: 229; lisp: 15; makefile: 5
file content (32 lines) | stat: -rw-r--r-- 769 bytes parent folder | download
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
#include <cstddef>
#include "location.hh"
#include <memory>
#include <rumur/Boolean.h>
#include <rumur/Decl.h>
#include <rumur/Expr.h>
#include <rumur/Number.h>
#include <rumur/Ptr.h>
#include <rumur/TypeExpr.h>
#include <string>
#include <utility>
#include <vector>

namespace rumur {

const Ptr<Enum> Boolean = Ptr<Enum>::make(
  std::vector<std::pair<std::string, location>>(
    { {"false", location()}, {"true", location()} }), location());

const Ptr<Expr> False = Ptr<ExprID>::make("false",
  Ptr<ConstDecl>::make("boolean",
    Ptr<Number>::make(0, location()),
  Boolean, location()),
location());

const Ptr<Expr> True = Ptr<ExprID>::make("true",
  Ptr<ConstDecl>::make("boolean",
    Ptr<Number>::make(1, location()),
  Boolean, location()),
location());

}