My Project  0.0.16
QUCS Mapping
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
check_spice.h
Go to the documentation of this file.
1 /*
2  * check_spice.h - checker definitions for a Spice netlist
3  *
4  * Copyright (C) 2004, 2005 Stefan Jahn <stefan@lkcc.org>
5  *
6  * This is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * This software is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this package; see the file COPYING. If not, write to
18  * the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
19  * Boston, MA 02110-1301, USA.
20  *
21  * $Id: check_spice.h 1825 2011-03-11 20:42:14Z ela $
22  *
23  */
24 
25 #ifndef __CHECK_SPICE_H__
26 #define __CHECK_SPICE_H__
27 
28 #include "netdefs.h"
29 
30 #define HINT_NODE 1
31 #define HINT_NUMBER 2
32 #define HINT_NAME 4
33 #define HINT_PAIR 8
34 #define HINT_DONE 16
35 #define HINT_MSTART 32
36 #define HINT_MSTOP 64
37 
38 /* Externalize variables used by the scanner and parser. */
39 extern int spice_lineno;
40 extern FILE * spice_in;
41 
42 __BEGIN_DECLS
43 
44 /* Externalize variables used by the scanner, parser, checker and producer. */
45 extern struct definition_t * definition_root;
46 extern struct definition_t * subcircuit_root;
47 extern char * spice_title;
48 extern struct node_t * spice_nodes;
49 extern struct definition_t * device_root;
50 
51 /* Available functions of the checker. */
52 int spice_checker (void);
53 int spice_parse (void);
54 int spice_error (char *);
55 int spice_lex (void);
56 int spice_lex_destroy (void);
57 void spice_destroy (void);
58 
59 /* Local functionality. */
60 void spice_add_last_hint (struct value_t *, int);
61 void spice_set_last_hint (struct value_t *, int);
62 struct value_t * netlist_append_values (struct value_t *, struct value_t *);
64 extern int spice_errors;
65 
66 __END_DECLS
67 
68 #endif /* __CHECK_SPICE_H__ */