Changeset 5e718d9 in mainline for uspace/lib/bithenge/expression.h


Ignore:
Timestamp:
2012-08-21T10:04:16Z (12 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
67edca6
Parents:
0da6c04 (diff), 6a97f2e (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge with upstream (lp:~wtachi/helenos/bithenge)

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/bithenge/expression.h

    r0da6c04 r5e718d9  
    3838#define BITHENGE_EXPRESSION_H_
    3939
     40#include "blob.h"
    4041#include "transform.h"
    4142#include "tree.h"
     
    7374                return;
    7475        assert(self->ops);
     76        assert(self->refs > 0);
    7577        if (--self->refs == 0)
    7678                self->ops->destroy(self);
     
    9193}
    9294
     95/** The binary operators supported by @a bithenge_binary_expression(). */
    9396typedef enum {
    9497        BITHENGE_EXPRESSION_INVALID_BINARY_OP,
     98
    9599        BITHENGE_EXPRESSION_ADD,
    96100        BITHENGE_EXPRESSION_SUBTRACT,
    97101        BITHENGE_EXPRESSION_MULTIPLY,
     102        BITHENGE_EXPRESSION_INTEGER_DIVIDE,
     103        BITHENGE_EXPRESSION_MODULO,
     104
     105        BITHENGE_EXPRESSION_LESS_THAN,
     106        BITHENGE_EXPRESSION_GREATER_THAN,
     107        BITHENGE_EXPRESSION_LESS_THAN_OR_EQUAL,
     108        BITHENGE_EXPRESSION_GREATER_THAN_OR_EQUAL,
    98109        BITHENGE_EXPRESSION_EQUALS,
     110        BITHENGE_EXPRESSION_NOT_EQUALS,
     111
     112        BITHENGE_EXPRESSION_AND,
     113        BITHENGE_EXPRESSION_OR,
     114
     115        BITHENGE_EXPRESSION_MEMBER,
     116        BITHENGE_EXPRESSION_CONCAT,
    99117} bithenge_binary_op_t;
    100118
     
    107125int bithenge_param_expression(bithenge_expression_t **, int);
    108126int bithenge_const_expression(bithenge_expression_t **, bithenge_node_t *);
    109 int bithenge_member_expression(bithenge_expression_t **,
    110     bithenge_expression_t *, bithenge_node_t *);
    111127int bithenge_scope_member_expression(bithenge_expression_t **,
    112128    bithenge_node_t *);
     129int bithenge_subblob_expression(bithenge_expression_t **,
     130    bithenge_expression_t *, bithenge_expression_t *, bithenge_expression_t *,
     131    bool);
    113132int bithenge_param_wrapper(bithenge_transform_t **, bithenge_transform_t *,
    114133    bithenge_expression_t **);
     
    117136int bithenge_inputless_transform(bithenge_transform_t **,
    118137    bithenge_expression_t *);
    119 int bithenge_if_transform(bithenge_transform_t **, bithenge_expression_t *,
    120     bithenge_transform_t *, bithenge_transform_t *);
     138
     139int bithenge_concat_blob(bithenge_node_t **, bithenge_blob_t *,
     140    bithenge_blob_t *);
     141int bithenge_concat_blob_lazy(bithenge_node_t **, bithenge_blob_t *,
     142    bithenge_expression_t *, bithenge_scope_t *);
    121143
    122144#endif
Note: See TracChangeset for help on using the changeset viewer.