Goose  Diff

Differences From Artifact [64eb063298]:

  • File bs/eir/tostring.h — part of check-in [7d2def7b75] at 2020-12-27 14:40:24 on branch trunk — Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. (user: achavasse size: 850)

To Artifact [04cb82343a]:

  • File bs/eir/tostring.h — part of check-in [6675f81702] at 2021-02-01 19:26:43 on branch trunk — Added a rule based system to pretty print EIR expressions in a less horrific way. (user: achavasse size: 912)

1
2
3
4
5
6
7


8
9
10
11
12
13
14
#ifndef GOOSE_EIR_TOSTRING_H
#define GOOSE_EIR_TOSTRING_H

namespace goose::eir
{
    class Vector;
    enum class Delimiter;



    extern ostream& ToString( ostream& out, const uint32_t& x );
    extern ostream& ToString( ostream& out, const LocationId& x );
    extern ostream& ToString( ostream& out, const string& x );
    extern ostream& ToString( ostream& out, const StringId& x );
    extern ostream& ToString( ostream& out, const Delimiter& x );
    extern ostream& ToString( ostream& out, const Hole& x );







>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef GOOSE_EIR_TOSTRING_H
#define GOOSE_EIR_TOSTRING_H

namespace goose::eir
{
    class Vector;
    enum class Delimiter;

    extern ostream& ToString( ostream& out, const Term& t );

    extern ostream& ToString( ostream& out, const uint32_t& x );
    extern ostream& ToString( ostream& out, const LocationId& x );
    extern ostream& ToString( ostream& out, const string& x );
    extern ostream& ToString( ostream& out, const StringId& x );
    extern ostream& ToString( ostream& out, const Delimiter& x );
    extern ostream& ToString( ostream& out, const Hole& x );