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. */
22 extern char *input_line_pointer; /* -> char we are parsing now. */
24 #define PERMIT_WHITESPACE /* Define to make whitespace be allowed in */
25 /* many syntactically unnecessary places. */
26 /* Normally undefined. For compatibility */
27 /* with ancient GNU cc. */
28 /* #undef PERMIT_WHITESPACE */
30 #ifdef PERMIT_WHITESPACE
31 #define SKIP_WHITESPACE() {if (* input_line_pointer == ' ') ++ input_line_pointer;}
33 #define SKIP_WHITESPACE() know(*input_line_pointer != ' ' )
37 #define LEX_NAME (1) /* may continue a name */
38 #define LEX_BEGIN_NAME (2) /* may begin a name */
40 #define is_name_beginner(c) ( lex_type[c] & LEX_BEGIN_NAME )
41 #define is_part_of_name(c) ( lex_type[c] & LEX_NAME )
44 #define CHAR_MASK (0xff)
45 #define NOT_A_CHAR (CHAR_MASK+1)
46 #define is_a_char(c) (((unsigned)(c)) <= CHAR_MASK)
47 #endif /* is_a_char() */
49 extern const char lex_type[];
50 extern char is_end_of_line[];
54 char *demand_copy_C_string(int *len_pointer);
55 char get_absolute_expression_and_terminator(long *val_pointer);
56 long get_absolute_expression(void);
57 void add_include_dir(char *path);
58 void big_cons(int nbytes);
59 void cons(unsigned int nbytes);
60 void demand_empty_rest_of_line(void);
61 void equals(char *sym_name);
62 void float_cons(int float_type);
63 void ignore_rest_of_line(void);
64 void pseudo_set(symbolS *symbolP);
65 void read_a_source_file(char *name);
66 void read_begin(void);
68 void s_align_bytes(int arg);
69 void s_align_ptwo(void);
70 void s_app_file(void);
75 void s_endif(int arg);
79 void s_ifdef(int arg);
80 void s_ifeqs(int arg);
81 void s_ignore(int arg);
82 void s_include(int arg);
83 void s_lcomm(int needs_align);
92 char *demand_copy_C_string();
93 char get_absolute_expression_and_terminator();
94 long get_absolute_expression();
95 void add_include_dir();
98 void demand_empty_rest_of_line();
101 void ignore_rest_of_line();
103 void read_a_source_file();
106 void s_align_bytes();
128 #endif /* __STDC__ */