a2ps
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Help trying to write new sheet...


From: Edward Arthur
Subject: Help trying to write new sheet...
Date: Wed, 29 Aug 2001 09:52:07 -0400

% a2ps --version
GNU a2ps 4.13
Written by Akim Demaille, Miguel Santana.

Copyright (c) 1988-1993 Miguel Santana
Copyright (c) 1995-2000 Akim Demaille, Miguel Santana
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

% a2ps -P void -v --pretty-print=e Rp_dma1_33_32.e
a2ps:/home/earthur/.a2ps/e.ssh:59: parse error, expecting `tSTRING' or `tREGEX' 
or
`'(''

(Line 59 begins with: "C, add, etc..."

% cat .a2ps/e.ssh
# Style sheet for e
# Copyright (c) 2001 Edward Arthur, Akim Demaille, Miguel Santana
#

#
# This file is part of a2ps.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING.  If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#

style e is
requires a2ps 4.13

written by "Edward Arthur <address@hidden>"
version is 1.0
documentation is
"This style is for the 'e' language for the Specman tool from Verisity Design."
"The Specman Elite(R) verification is the Verisity(R) testbench automation 
tool."
end documentation

alphabets are
   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_`\'"

case sensitive

#ancestors are
#  cpp
#end ancestors

keywords in Keyword are
   FALSE, MAX_INT, MAX_UINT, MIN_INT, NULL, TRUE, UNDEF, bit,
   bits, body, bool, byte, bytes, byte_array, continue,
   copy, default, external_pointer, files, file, form,
   global, index, init, int, it, list, load, long,
   me, method, module, ntv, of, pat, print, result,
   source_ref, string, symtab, sys, test, uint,
   untyped, vec, define, `define
end keywords

keywords in Keyword_strong are
   run, init, pre_generate, dut_error, pack, unpack, post_generate,
   pre_generate, set_config, hex, stop_run, append,
   size, delete, is_empty, deep_compare, deep_compare_physical,
   clear, pop0, setup, crc_32, extend, event, ECHO, DOECHO, import,
   initialize, non_terminal, struct, script, testgroup, type,
   C, add, also, and, as, as_a, break, case,
   code, compute, computed, delay, delayed, detach, do, else,
   each, emit, empty, end, exec, exit, fail, fill, finish, for,
   force, from, if, ifdef, ifndef, in, inline, intersects, is, like, line, log,
   new, no, not, only, or, out, read, repeat, return,
   reverse, routine, step, then, to,
   traceable, undefined, untraceable, var, when, while,
   with, write, xor, before, by, choose, gen, keep, keeping, key,
   matches, matching, nand, next, select, sequence, soft, using,
   always, all, basic, call, cycles, cycle,
   clock, change, check, expect, fall, first,
   forever, idle, initial, negedge, others,
   on, posedge, rise, start, that, then, time, timescale,
   task, until, verilog, vhdl, wait, within,
   address, code, cover, driver, error, events, event, function,
   length, kind, ranges, range, release, report, sample, text,
   value, variable, item, trace, transition, illegal,
   packing, pass, low, high, network, a, mode, nor, normal, nxor, por,
   state, machine, task, true, try,
   all_values, assert, assume, async, sync, attribute, export,
   consume, cross, cvl, call, callback, method, down, edges
end keywords

optional operators are
  (/(case)([    ]+)(.+)([       ]*:)/
   \1 Keyword_strong, \2 Plain, \3 Label, \4 Plain)
end operators

optional operators are
   consume, cross, cvl, call, callback, method, down, edges
end keywords

optional operators are
  (/(case)([    ]+)(.+)([       ]*:)/
   \1 Keyword_strong, \2 Plain, \3 Label, \4 Plain)
end operators

optional operators are
   && \wedge,
   || \vee,
   != \neq,
   == \equiv,
   <= \leq,
   >= \geq,
   ! \not
end operators

sequences are
    Comment "<'",
    "'>" Comment,
    "//" Comment,
    "--" Comment,
    C-string,
    C-char
end sequences

end style

% cat Rp_dma1_33_32.e
<'
import aqua_u;
    
extend aqua_u_memory {
   keep soft to_rp.kind == select {
      25: t_2;
      75: t_4;
   };

   keep soft from_rp.kind == select {
      25: t_2;
      75: t_4;
   };

   keep   to_rp.ring.size() in [5..13];
   keep from_rp.ring.size() in [5..13];

   keep soft num_to_rp_pkts   in [30..50];
   keep soft num_from_rp_pkts in [30..50];

   keep soft to_rp_buffer_size in [0x10..1024];
};

extend aqua_s_packet {
   keep soft length == select {
      60:   [7..257];
      40: [129..8000];      
   };
};

extend aqua_u {
   keep pclk66 == 0;
   keep byte_swap == 0;
};

extend aqua_u_pci {
   keep pci64 == 0;
};

extend aqua_u_pci_mst_bfm {
   keep use_daemon == TRUE;
};
'>
%


Also, if you look at the 'e' file above, anything enclosed in <' '> is code.
Anything outside that is a comment.  Have I correctly specified that in the
sheet description?

Thanks,
/Ed



reply via email to

[Prev in Thread] Current Thread [Next in Thread]