123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- /*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these librararies and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
- /*
- * @OSF_COPYRIGHT@
- * COPYRIGHT NOTICE
- * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
- * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
- * the full copyright text.
- */
- /*
- * HISTORY
- */
- /* $XConsortium: UilSarDef.h /main/10 1995/07/14 09:36:55 drk $ */
- /*
- * (c) Copyright 1989, 1990, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
- /*
- **++
- ** FACILITY:
- **
- ** User Interface Language Compiler (UIL)
- **
- ** ABSTRACT:
- **
- ** This include file defines the interface to the UIL parser.
- ** UIL uses YACC as its parsing tool.
- **
- **--
- **/
- #ifndef UilSarDef_h
- #define UilSarDef_h
- /*
- ** Format of a value on YACC value stack. This is also the form of a
- ** token created by the lexical analyzer.
- */
- #define sar_k_null_frame 0 /* tag for an epsilon production */
- #define sar_k_token_frame 1 /* tag for a token frame */
- #define sar_k_value_frame 2 /* tag for a value frame */
- #define sar_k_module_frame 3 /* tag for module frame */
- #define sar_k_object_frame 4 /* tag for object frame */
- #define sar_k_root_frame 5 /* tag for root frame */
- typedef struct
- {
- src_source_record_type *az_source_record; /* actual record where token exists */
- unsigned char b_source_pos; /* the character in az_source_record
- where this token begins */
- unsigned char b_source_end; /* the character in az_source_record
- where this token ends */
- unsigned char b_tag; /* tag of stack frame */
- unsigned char b_type; /* for tokens - token number
- for value - the data type */
- unsigned short b_flags; /* used by value */
- unsigned char b_direction; /* used by value */
- unsigned char b_charset; /* used by value */
- union
- {
- /* must be capable of holding a pointer */
- long l_integer; /* integer value*/
- sym_entry_type *az_symbol_entry; /* symbol entry */
- key_keytable_entry_type
- *az_keyword_entry; /* keyword entry */
- } value;
- } yystype;
- /*
- ** Macros for moving source information to and from parse stack frames
- */
- #define _sar_move_source_info( _target, _source ) \
- { \
- yystype *__target; \
- yystype *__source; \
- \
- __target = (_target); __source = (_source); \
- __target->az_source_record = __source->az_source_record;\
- __target->b_source_pos = __source->b_source_pos; \
- __target->b_source_end = __source->b_source_end; \
- }
- #define _sar_move_source_info_2( _target, _source ) \
- { \
- sym_entry_header_type *__target; \
- sym_entry_header_type *__source; \
- \
- __target = (_target); __source = (_source); \
- \
- __target->az_src_rec = __source->az_src_rec; \
- __target->b_src_pos = __source->b_src_pos; \
- __target->b_end_pos = __source->b_end_pos; \
- }
- #define _sar_save_source_info( _target, _src_beg, _src_end ) \
- { \
- sym_entry_header_type *__target; \
- XmConst yystype *__src_end; \
- \
- __target = (_target); \
- __src_end = (_src_end); \
- \
- __target->az_src_rec = __src_end->az_source_record; \
- __target->b_src_pos = __src_end->b_source_pos; \
- __target->b_end_pos = __src_end->b_source_end; \
- }
- #define _sar_save_source_pos( _target, _src ) \
- { \
- sym_entry_header_type *__target; \
- XmConst yystype *__src; \
- \
- __target = (_target); __src = (_src); \
- \
- __target->az_src_rec = __src->az_source_record; \
- __target->b_src_pos = __src->b_source_pos; \
- __target->b_end_pos = __src->b_source_end; \
- }
- #define _sar_source_position( _source ) \
- _source->az_source_record, \
- _source->b_source_pos
- #define _sar_source_pos2( _source ) \
- _source->header.az_src_rec, \
- _source->header.b_src_pos
- #endif /* UilSarDef_h */
- /* DON'T ADD STUFF AFTER THIS #endif */
|