Annotation of src/usr.bin/lex/tables_shared.c, Revision 1.1
1.1 ! tedu 1: /* $OpenBSD$ */
! 2:
! 3: #ifdef FLEX_SCANNER
! 4: /*
! 5: dnl tables_shared.c - tables serialization code
! 6: dnl
! 7: dnl Copyright (c) 1990 The Regents of the University of California.
! 8: dnl All rights reserved.
! 9: dnl
! 10: dnl This code is derived from software contributed to Berkeley by
! 11: dnl Vern Paxson.
! 12: dnl
! 13: dnl The United States Government has rights in this work pursuant
! 14: dnl to contract no. DE-AC03-76SF00098 between the United States
! 15: dnl Department of Energy and the University of California.
! 16: dnl
! 17: dnl This file is part of flex.
! 18: dnl
! 19: dnl Redistribution and use in source and binary forms, with or without
! 20: dnl modification, are permitted provided that the following conditions
! 21: dnl are met:
! 22: dnl
! 23: dnl 1. Redistributions of source code must retain the above copyright
! 24: dnl notice, this list of conditions and the following disclaimer.
! 25: dnl 2. Redistributions in binary form must reproduce the above copyright
! 26: dnl notice, this list of conditions and the following disclaimer in the
! 27: dnl documentation and/or other materials provided with the distribution.
! 28: dnl
! 29: dnl Neither the name of the University nor the names of its contributors
! 30: dnl may be used to endorse or promote products derived from this software
! 31: dnl without specific prior written permission.
! 32: dnl
! 33: dnl THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
! 34: dnl IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
! 35: dnl WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
! 36: dnl PURPOSE.
! 37: dnl
! 38: */
! 39:
! 40: /* This file is meant to be included in both the skeleton and the actual
! 41: * flex code (hence the name "_shared").
! 42: */
! 43: #ifndef yyskel_static
! 44: #define yyskel_static static
! 45: #endif
! 46: #else
! 47: #include "flexdef.h"
! 48: #include "tables.h"
! 49: #ifndef yyskel_static
! 50: #define yyskel_static
! 51: #endif
! 52: #endif
! 53:
! 54:
! 55: /** Get the number of integers in this table. This is NOT the
! 56: * same thing as the number of elements.
! 57: * @param td the table
! 58: * @return the number of integers in the table
! 59: */
! 60: yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl)
! 61: {
! 62: flex_int32_t n;
! 63:
! 64: /* total number of ints */
! 65: n = tbl->td_lolen;
! 66: if (tbl->td_hilen > 0)
! 67: n *= tbl->td_hilen;
! 68:
! 69: if (tbl->td_id == YYTD_ID_TRANSITION)
! 70: n *= 2;
! 71: return n;
! 72: }