~ubuntu-branches/ubuntu/trusty/ruby1.9/trusty

« back to all changes in this revision

Viewing changes to include/ruby/node.h

  • Committer: Bazaar Package Importer
  • Author(s): Stephan Hermann
  • Date: 2008-01-24 11:42:29 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20080124114229-jw2f87rdxlq6gp11
Tags: 1.9.0.0-2ubuntu1
* Merge from debian unstable, remaining changes:
  - Robustify check for target_os, fixing build failure on lpia.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
  node.h -
4
4
 
5
5
  $Author: matz $
6
 
  $Date: 2007-08-25 12:29:39 +0900 (土, 25  8月 2007) $
 
6
  $Date: 2007-12-10 01:39:49 +0900 (Mon, 10 Dec 2007) $
7
7
  created at: Fri May 28 15:14:02 JST 1993
8
8
 
9
9
  Copyright (C) 1993-2007 Yukihiro Matsumoto
67
67
#define NODE_AND         NODE_AND
68
68
    NODE_OR,
69
69
#define NODE_OR          NODE_OR
70
 
    NODE_NOT,
71
 
#define NODE_NOT         NODE_NOT
72
70
    NODE_MASGN,
73
71
#define NODE_MASGN       NODE_MASGN
74
72
    NODE_LASGN,
271
269
 
272
270
#define RNODE(obj)  (R_CAST(RNode)(obj))
273
271
 
274
 
 
275
272
/* 0..4:T_TYPES, 5:FL_MARK, 6:reserved, 7:NODE_NEWLINE */
276
 
enum ruby_node_flags {
277
 
    NODE_NEWLINE       = (1<<7),
278
 
#define NODE_NEWLINE NODE_NEWLINE
 
273
#define NODE_NEWLINE (((VALUE)1)<<7)
279
274
 
280
 
    NODE_TYPESHIFT     = 8,
281
 
#define NODE_TYPESHIFT NODE_TYPESHIFT
282
 
    NODE_TYPEMASK      = (0x7f<<NODE_TYPESHIFT),
283
 
#define NODE_TYPEMASK  NODE_TYPEMASK
284
 
    NODE_LSHIFT        = (NODE_TYPESHIFT+7),
285
 
#define NODE_LSHIFT    NODE_LSHIFT
286
 
    NODE_LMASK         = (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1),
287
 
#define NODE_LMASK     NODE_LMASK
288
 
};
 
275
#define NODE_TYPESHIFT 8
 
276
#define NODE_TYPEMASK  (((VALUE)0x7f)<<NODE_TYPESHIFT)
289
277
 
290
278
#define nd_type(n) ((int) (((RNODE(n))->flags & NODE_TYPEMASK)>>NODE_TYPESHIFT))
291
279
#define nd_set_type(n,t) \
292
280
    RNODE(n)->flags=((RNODE(n)->flags&~NODE_TYPEMASK)|(((t)<<NODE_TYPESHIFT)&NODE_TYPEMASK))
293
281
 
 
282
#define NODE_LSHIFT (NODE_TYPESHIFT+7)
 
283
#define NODE_LMASK  (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1)
294
284
#define nd_line(n) ((VALUE)(((RNODE(n))->flags>>NODE_LSHIFT)&NODE_LMASK))
295
285
#define nd_set_line(n,l) \
296
286
    RNODE(n)->flags=((RNODE(n)->flags&~(-1<<NODE_LSHIFT))|(((l)&NODE_LMASK)<<NODE_LSHIFT))
398
388
#define NEW_ARRAY(a) NEW_NODE(NODE_ARRAY,a,1,0)
399
389
#define NEW_ZARRAY() NEW_NODE(NODE_ZARRAY,0,0,0)
400
390
#define NEW_HASH(a)  NEW_NODE(NODE_HASH,a,0,0)
401
 
#define NEW_NOT(a)   NEW_NODE(NODE_NOT,0,a,0)
402
391
#define NEW_MASGN(l,r)   NEW_NODE(NODE_MASGN,l,0,r)
403
392
#define NEW_GASGN(v,val) NEW_NODE(NODE_GASGN,v,val,rb_global_entry(v))
404
393
#define NEW_LASGN(v,val) NEW_NODE(NODE_LASGN,v,val,0)
475
464
#define NOEX_NOSUPER   0x01
476
465
#define NOEX_PRIVATE   0x02
477
466
#define NOEX_PROTECTED 0x04
478
 
#define NOEX_LOCAL     0x08
479
 
#define NOEX_MASK      0x0E /* 1110 */
 
467
#define NOEX_MASK      0x06 /* 1110 */
480
468
 
481
469
#define NOEX_UNDEF     NOEX_NOSUPER
482
470
 
490
478
 
491
479
VALUE rb_parser_new(void);
492
480
VALUE rb_parser_end_seen_p(VALUE);
 
481
VALUE rb_parser_encoding(VALUE);
493
482
 
494
483
NODE *rb_parser_compile_cstr(volatile VALUE, const char*, const char*, int, int);
495
484
NODE *rb_parser_compile_string(volatile VALUE, const char*, VALUE, int);