Changeset 37f527b in mainline for uspace/app/sbi/src/stree_t.h


Ignore:
Timestamp:
2010-03-26T21:55:23Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4204ad9
Parents:
b535aeb
Message:

Update SBI to rev. 144.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sbi/src/stree_t.h

    rb535aeb r37f527b  
    3131
    3232#include "list_t.h"
     33#include "builtin_t.h"
    3334
    3435/*
     
    156157        list_t args; /* of stree_expr_t */
    157158} stree_index_t;
     159
     160/** @c as conversion operation */
     161typedef struct {
     162        /** Expression to convert */
     163        struct stree_expr *arg;
     164        /** Destination type of conversion. */
     165        struct stree_texpr *dtype;
     166} stree_as_t;
    158167
    159168/** Arithmetic expression class */
     
    168177        ec_call,
    169178        ec_assign,
    170         ec_index
     179        ec_index,
     180        ec_as
    171181} expr_class_t;
    172182
     
    188198                stree_index_t *index;
    189199                stree_assign_t *assign;
     200                stree_as_t *as_op;
    190201        } u;
    191202} stree_expr_t;
     
    200211typedef enum {
    201212        tlc_int,
     213        tlc_resource,
    202214        tlc_string
    203215} tliteral_class_t;
     
    388400        struct stree_symbol *outer_symbol;
    389401
    390         /** Main block */
     402        /** Main block for regular procedures */
    391403        stree_block_t *body;
     404
     405        /** Builtin handler for builtin procedures */
     406        builtin_proc_t bi_handler;
    392407} stree_proc_t;
    393408
     
    512527} stree_module_t;
    513528
     529/** Symbol attribute class */
     530typedef enum {
     531        /** Builtin symbol (interpreter hook) */
     532        sac_builtin
     533} symbol_attr_class_t;
     534
     535/** Symbol atribute */
     536typedef struct {
     537        symbol_attr_class_t sac;
     538} stree_symbol_attr_t;
     539
     540
    514541typedef enum {
    515542        sc_csi,
     
    539566        /** Containing block (for block-level symbols) */
    540567        stree_block_t *outer_block;
     568
     569        /** Symbol attributes. */
     570        list_t attr; /* of stree_symbol_attr_t */
    541571} stree_symbol_t;
    542572
     
    545575        /** The one and only module in the program */
    546576        stree_module_t *module;
     577
     578        /** Builtin symbols binding. */
     579        struct builtin *builtin;
    547580} stree_program_t;
    548581
Note: See TracChangeset for help on using the changeset viewer.