2 Copyright (C) 1986, 1990 Free Software Foundation, Inc.
4 This file is part of GAS, the GNU Assembler.
6 GAS 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)
11 GAS 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.
16 You should have received a copy of the GNU General Public License
17 along with GAS; see the file COPYING. If not, write to
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20 extern char *input_line_pointer; /* -> char we are parsing now. */
22 #define PERMIT_WHITESPACE /* Define to make whitespace be allowed in */
23 /* many syntactically unnecessary places. */
24 /* Normally undefined. For compatibility */
25 /* with ancient GNU cc. */
26 /* #undef PERMIT_WHITESPACE */
28 #ifdef PERMIT_WHITESPACE
29 #define SKIP_WHITESPACE() {if (* input_line_pointer == ' ') ++ input_line_pointer;}
31 #define SKIP_WHITESPACE() know(*input_line_pointer != ' ' )
35 #define LEX_NAME (1) /* may continue a name */
36 #define LEX_BEGIN_NAME (2) /* may begin a name */
38 #define is_name_beginner(c) ( lex_type[c] & LEX_BEGIN_NAME )
39 #define is_part_of_name(c) ( lex_type[c] & LEX_NAME )
42 #define CHAR_MASK (0xff)
43 #define NOT_A_CHAR (CHAR_MASK+1)
44 #define is_a_char(c) (((unsigned)(c)) <= CHAR_MASK)
45 #endif /* is_a_char() */
47 extern const char lex_type[];
48 extern char is_end_of_line[];
52 char *demand_copy_C_string(int *len_pointer);
53 char get_absolute_expression_and_terminator(long *val_pointer);
54 long get_absolute_expression(void);
55 void add_include_dir(char *path);
56 void big_cons(int nbytes);
57 void cons(unsigned int nbytes);
58 void demand_empty_rest_of_line(void);
59 void equals(char *sym_name);
60 void float_cons(int float_type);
61 void ignore_rest_of_line(void);
62 void pseudo_set(symbolS *symbolP);
63 void read_a_source_file(char *name);
64 void read_begin(void);
66 void s_align_bytes(int arg);
67 void s_align_ptwo(void);
68 void s_app_file(void);
73 void s_endif(int arg);
77 void s_ifdef(int arg);
78 void s_ifeqs(int arg);
79 void s_ignore(int arg);
80 void s_include(int arg);
81 void s_lcomm(int needs_align);
90 char *demand_copy_C_string();
91 char get_absolute_expression_and_terminator();
92 long get_absolute_expression();
93 void add_include_dir();
96 void demand_empty_rest_of_line();
99 void ignore_rest_of_line();
101 void read_a_source_file();
104 void s_align_bytes();
126 #endif /* __STDC__ */