1cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Exercising Bison on actual grammars.                   -*- Autotest -*-
2cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
305436638acc7c010349a69c3395f1a57c642dc62Ying Wang# Copyright (C) 1989-1992, 2000-2005, 2007, 2009-2012 Free Software
405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# Foundation, Inc.
5cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# This program is free software: you can redistribute it and/or modify
7cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# it under the terms of the GNU General Public License as published by
805436638acc7c010349a69c3395f1a57c642dc62Ying Wang# the Free Software Foundation, either version 3 of the License, or
905436638acc7c010349a69c3395f1a57c642dc62Ying Wang# (at your option) any later version.
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang#
11cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# This program is distributed in the hope that it will be useful,
12cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# but WITHOUT ANY WARRANTY; without even the implied warranty of
13cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# GNU General Public License for more details.
1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#
16cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# You should have received a copy of the GNU General Public License
1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# along with this program.  If not, see <http://www.gnu.org/licenses/>.
18cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
19cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectAT_BANNER([[Existing Grammars.]])
20cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang# AT_TEST_EXISTING_GRAMMAR(DESCRIPTION,
2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang#                          DECLS, GRAMMAR, INPUT,
2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang#                          BISON-STDERR, LAST-STATE, LALR1-DIFF,
2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang#                          [OTHER-CHECKS],
2505436638acc7c010349a69c3395f1a57c642dc62Ying Wang#                          [PARSER-EXIT-VALUE],
2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang#                          [PARSER-STDOUT], [PARSER-STDERR])
2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# --------------------------------------------------------------
2805436638acc7c010349a69c3395f1a57c642dc62Ying Wangm4_define([AT_TEST_EXISTING_GRAMMAR], [_AT_TEST_EXISTING_GRAMMAR([$][1], $@)])
2905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wangm4_define([_AT_TEST_EXISTING_GRAMMAR],
3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[
3205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl See how the parser tables have changed.  As the .output format evolves, the
3305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl diff comments with line numbers might be a pain to maintain.  When that
3405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl time comes, just use sed to drop the line numbers.  For now, as LR(1)
3505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl support is rapidly evolving, let's keep that information to be careful.
3605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl However, we don't do diffs for canonical LR(1) because the diff is huge.
3705436638acc7c010349a69c3395f1a57c642dc62Ying Wangm4_pushdef([AT_LALR1_DIFF_CHECK],
3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang[dnl We need diff -u, which is not portable.
3905436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_CHECK([diff -u /dev/null /dev/null || exit 77], [0], [ignore])
4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4105436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_CHECK([[sed 's/^%define lr.type .*$//' input.y > input-lalr.y]])
4205436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_BISON_CHECK([[--report=all input-lalr.y]], [[0]], [ignore], [ignore])
4305436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_CHECK([[diff -u input-lalr.output input.output \
4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang           | sed -n '/^@@/,$p' | sed 's/^ $//']],
4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang         [[0]], [$1])])
4605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
4705436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_TEST_TABLES_AND_PARSE([$2[: LALR(1)]], [[LALR]], [[last-state]],
4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [[%define lr.type lalr
4905436638acc7c010349a69c3395f1a57c642dc62Ying Wang]$3],
5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [$4], [$5], [$6], [$7],
5105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [AT_LALR1_DIFF_CHECK([$8])$9], [$10], [$11], [$12])
5205436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_TEST_TABLES_AND_PARSE([$2[: IELR(1)]], [[IELR]], [[last-state]],
5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [[%define lr.type ielr
5405436638acc7c010349a69c3395f1a57c642dc62Ying Wang]$3],
5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [$4], [$5], [$6], [$7],
5605436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [AT_LALR1_DIFF_CHECK([$8])$9], [$10], [$11], [$12])
5705436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_TEST_TABLES_AND_PARSE([$2[: Canonical LR(1)]], [[canonical LR]],
5805436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [[last-state,no-xml]],
5905436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [[%define lr.type canonical-lr
6005436638acc7c010349a69c3395f1a57c642dc62Ying Wang]$3],
6105436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [$4], [$5], [$6], [$7],
6205436638acc7c010349a69c3395f1a57c642dc62Ying Wang                         [$9], [$10], [$11], [$12])
6305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6405436638acc7c010349a69c3395f1a57c642dc62Ying Wangm4_popdef([AT_LALR1_DIFF_CHECK])
6505436638acc7c010349a69c3395f1a57c642dc62Ying Wang])
6605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
6905436638acc7c010349a69c3395f1a57c642dc62Ying Wang## ----------------------- ##
7005436638acc7c010349a69c3395f1a57c642dc62Ying Wang## GNU AWK 3.1.0 Grammar.  ##
7105436638acc7c010349a69c3395f1a57c642dc62Ying Wang## ----------------------- ##
72cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
73cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# We have been careful to strip all the actions excepts the
7405436638acc7c010349a69c3395f1a57c642dc62Ying Wang# mid-rule actions.
75cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#
7605436638acc7c010349a69c3395f1a57c642dc62Ying Wang# There are 65 SR conflicts.  Bison was once wrong, due to an incorrect
7705436638acc7c010349a69c3395f1a57c642dc62Ying Wang# computation of nullable.  It reported 485 SR conflicts!
78cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
7905436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_TEST_EXISTING_GRAMMAR([[GNU AWK 3.1.0 Grammar]],
8005436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[%error-verbose
81cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
82cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token FUNC_CALL NAME REGEXP
83cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ERROR
84cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token YNUMBER YSTRING
85cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RELOP APPEND_OP
86cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ASSIGNOP MATCHOP NEWLINE CONCAT_OP
87cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_BEGIN LEX_END LEX_IF LEX_ELSE LEX_RETURN LEX_DELETE
88cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_WHILE LEX_DO LEX_FOR LEX_BREAK LEX_CONTINUE
89cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_PRINT LEX_PRINTF LEX_NEXT LEX_EXIT LEX_FUNCTION
90cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_GETLINE LEX_NEXTFILE
91cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_IN
92cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_AND LEX_OR INCREMENT DECREMENT
93cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEX_BUILTIN LEX_LENGTH
94cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
95cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Lowest to highest */
96cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right ASSIGNOP
97cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right '?' ':'
98cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left LEX_OR
99cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left LEX_AND
100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left LEX_GETLINE
101cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%nonassoc LEX_IN
102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left FUNC_CALL LEX_BUILTIN LEX_LENGTH
103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%nonassoc ','
104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%nonassoc MATCHOP
105cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%nonassoc RELOP '<' '>' '|' APPEND_OP TWOWAYIO
106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left CONCAT_OP
107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left YSTRING YNUMBER
108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '+' '-'
109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '*' '/' '%'
110cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right '!' UNARY
111cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right '^'
112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left INCREMENT DECREMENT
113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '$'
114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '(' ')'
11505436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
11605436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[
117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstart
118cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: opt_nls program opt_nls
119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectprogram
122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: rule
123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| program rule
124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| error
125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| program error
126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| /* empty */
127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectrule
130cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: LEX_BEGIN {} action
131cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_END {}   action
132cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_BEGIN statement_term
133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_END statement_term
134cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| pattern action
135cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| action
136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| pattern statement_term
137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| function_prologue function_body
138cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
139cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectfunc_name
141cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: NAME
142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| FUNC_CALL
143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| lex_builtin
144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
146cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectlex_builtin
147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: LEX_BUILTIN
148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_LENGTH
149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
151cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectfunction_prologue
152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: LEX_FUNCTION {} func_name '(' opt_param_list r_paren opt_nls
153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
154cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
155cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectfunction_body
156cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: l_brace statements r_brace opt_semi opt_nls
157cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| l_brace r_brace opt_semi opt_nls
158cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
159cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
160cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectpattern
161cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: exp
162cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp ',' exp
163cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectregexp
166cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/*
167cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * In this rule, want_regexp tells yylex that the next thing
168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 * is a regexp so it should read up to the closing slash.
169cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	 */
170cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: '/' {} REGEXP '/'
171cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
172cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
173cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectaction
174cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: l_brace statements r_brace opt_semi opt_nls
175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| l_brace r_brace opt_semi opt_nls
176cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
177cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
178cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatements
179cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: statement
180cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| statements statement
181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| error
182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| statements error
183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatement_term
186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: nls
187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| semi opt_nls
188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectstatement
191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: semi opt_nls
192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| l_brace r_brace
193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| l_brace statements r_brace
194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| if_statement
195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_WHILE '(' exp r_paren opt_nls statement
196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_DO opt_nls statement LEX_WHILE '(' exp r_paren opt_nls
197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_FOR '(' NAME LEX_IN NAME r_paren opt_nls statement
198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_FOR '(' opt_exp semi opt_nls exp semi opt_nls opt_exp r_paren opt_nls statement
199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_FOR '(' opt_exp semi opt_nls semi opt_nls opt_exp r_paren opt_nls statement
200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_BREAK statement_term
201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_CONTINUE statement_term
202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| print '(' expression_list r_paren output_redir statement_term
203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| print opt_rexpression_list output_redir statement_term
204cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_NEXT statement_term
205cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_NEXTFILE statement_term
206cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_EXIT opt_exp statement_term
207cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_RETURN {} opt_exp statement_term
208cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_DELETE NAME '[' expression_list ']' statement_term
209cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_DELETE NAME  statement_term
210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp statement_term
211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectprint
214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: LEX_PRINT
215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_PRINTF
216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectif_statement
219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: LEX_IF '(' exp r_paren opt_nls statement
220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_IF '(' exp r_paren opt_nls statement
221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	     LEX_ELSE opt_nls statement
222cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
223cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectnls
225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: NEWLINE
226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| nls NEWLINE
227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_nls
230cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
231cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| nls
232cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectinput_redir
235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '<' simp_exp
237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectoutput_redir
240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '>' exp
242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| APPEND_OP exp
243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '|' exp
244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| TWOWAYIO exp
245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_param_list
248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| param_list
250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
251cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
252cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectparam_list
253cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: NAME
254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| param_list comma NAME
255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| error
256cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| param_list error
257cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| param_list comma error
258cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* optional expression, as in for loop */
261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_exp
262cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
263cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp
264cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
265cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
266cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_rexpression_list
267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
268cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexpression_list
269cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
270cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
271cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectrexpression_list
272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: rexp
273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexpression_list comma rexp
274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| error
275cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexpression_list error
276cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexpression_list error rexp
277cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexpression_list comma error
278cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
279cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
280cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_expression_list
281cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
282cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expression_list
283cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
284cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
285cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexpression_list
286cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: exp
287cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expression_list comma exp
288cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| error
289cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expression_list error
290cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expression_list error exp
291cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expression_list comma error
292cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
293cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Expressions, not including the comma operator.  */
295cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexp	: variable ASSIGNOP {} exp
296cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '(' expression_list r_paren LEX_IN NAME
297cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp '|' LEX_GETLINE opt_variable
298cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp TWOWAYIO LEX_GETLINE opt_variable
299cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_GETLINE opt_variable input_redir
300cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp LEX_AND exp
301cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp LEX_OR exp
302cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp MATCHOP exp
303cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| regexp
304cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '!' regexp %prec UNARY
305cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp LEX_IN NAME
306cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp RELOP exp
307cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp '<' exp
308cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp '>' exp
309cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp '?' exp ':' exp
310cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp
311cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| exp simp_exp %prec CONCAT_OP
312cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
313cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
314cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectrexp
315cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: variable ASSIGNOP {} rexp
316cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp LEX_AND rexp
317cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp LEX_OR rexp
318cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_GETLINE opt_variable input_redir
319cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| regexp
320cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '!' regexp %prec UNARY
321cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp MATCHOP rexp
322cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp LEX_IN NAME
323cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp RELOP rexp
324cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp '?' rexp ':' rexp
325cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp
326cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| rexp simp_exp %prec CONCAT_OP
327cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
328cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
329cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectsimp_exp
330cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: non_post_simp_exp
331cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* Binary operators in order of decreasing precedence.  */
332cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp '^' simp_exp
333cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp '*' simp_exp
334cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp '/' simp_exp
335cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp '%' simp_exp
336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp '+' simp_exp
337cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simp_exp '-' simp_exp
338cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| variable INCREMENT
339cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| variable DECREMENT
340cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
341cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
342cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectnon_post_simp_exp
343cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: '!' simp_exp %prec UNARY
344cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '(' exp r_paren
345cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_BUILTIN
346cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  '(' opt_expression_list r_paren
347cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_LENGTH '(' opt_expression_list r_paren
348cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEX_LENGTH
349cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| FUNC_CALL '(' opt_expression_list r_paren
350cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| variable
351cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| INCREMENT variable
352cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DECREMENT variable
353cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| YNUMBER
354cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| YSTRING
355cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '-' simp_exp    %prec UNARY
356cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '+' simp_exp    %prec UNARY
357cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
358cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
359cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_variable
360cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
361cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| variable
362cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
363cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
364cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectvariable
365cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: NAME
366cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| NAME '[' expression_list ']'
367cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '$' non_post_simp_exp
368cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
369cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
370cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectl_brace
371cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: '{' opt_nls
372cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
373cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
374cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectr_brace
375cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: '}' opt_nls
376cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
377cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
378cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectr_paren
379cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: ')'
380cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
381cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
382cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectopt_semi
383cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: /* empty */
384cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| semi
385cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
386cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
387cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectsemi
388cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	: ';'
389cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
390cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
391cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcomma	: ',' opt_nls
392cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
39305436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
39405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
39505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl INPUT
39605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
39705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl For example, in AWK:
39805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
39905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   getline $!4*0;
40005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
40105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl The grammar below (from GNU AWK 3.1.0) using canonical LR(1) or IELR(1)
40205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl parses it as:
40305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
40405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   getline $!(4*0);
40505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
40605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl That is, they shift `*' immediately and make it part of the getline
40705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl argument.
40805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
40905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl The grammar below using LALR(1) parses it as a syntax error.  So does
41005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl GNU AWK 3.0.6, 3.1.0, and 3.1.1.  They reduce the full getline expression
41105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl before shifting `*' even though `*' is not a valid lookahead.
41205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
41305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl GNU AWK 3.1.2, 3.1.3, 3.1.4, and 3.1.5 parse it as:
41405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
41505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   (getline $!4)*0;
41605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
41705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl That is, like the other versions of GNU AWK, they reduce the full getline
41805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl expression before shifting `*'.  However, because of a different LHS on the
41905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl getline rule, `*' actually is a valid lookahead.  Solaris /usr/xpg4/bin/awk
42005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl and the Open Group awk specification seem to agree:
42105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
42205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   http://www.opengroup.org/pubs/online/7908799/xcu/awk.html
42305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
42405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl /bin/nawk and /bin/awk on Solaris 10 report it as a syntax error, but they
42505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl don't like even `print $!4;'.
42605436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[LEX_GETLINE, '$', '!', YNUMBER, '*', YNUMBER, ';']],
42705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
42805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl BISON-STDERR
42905436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[canonical LR]],
43005436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[input.y: conflicts: 265 shift/reduce]],
43105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[input.y: conflicts: 65 shift/reduce]])[
43205436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
43305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
43405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl LAST-STATE
43505436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]], [[319]], [[canonical LR]], [[2358]], [[328]])],
43605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
43705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl LALR1-DIFF not used for canonical LR(1) because the diff is huge.
43805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl Isocore map from LALR(1) state number to new state number plus descriptions
43905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl of any change in the actions resulting in a change in accepted language:
44005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 24 -> 320
44105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 16 -> 321
44205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 17 -> 322
44305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 20 -> 323
44405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 21 -> 324
44505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 54 -> 325
44605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 56 -> 326: reduce -> shift on '*', '/', and '%'
44705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 58 -> 327: reduce -> shift on '*', '/', and '%'
44805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
44905436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]], [],
45005436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[@@ -712,7 +712,7 @@
45105436638acc7c010349a69c3395f1a57c642dc62Ying Wang   156         | . '$' non_post_simp_exp
45205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
45305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME  shift, and go to state 9
45405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    '$'   shift, and go to state 24
45505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'   shift, and go to state 320
45605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
45705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME      [reduce using rule 152 (opt_variable)]
45805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '$'       [reduce using rule 152 (opt_variable)]
45905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5379,7 +5379,7 @@
46005436638acc7c010349a69c3395f1a57c642dc62Ying Wang   156         | . '$' non_post_simp_exp
46105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
46205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME  shift, and go to state 9
46305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    '$'   shift, and go to state 24
46405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'   shift, and go to state 320
46505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
46605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME      [reduce using rule 152 (opt_variable)]
46705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '$'       [reduce using rule 152 (opt_variable)]
46805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5399,7 +5399,7 @@
46905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   156         | . '$' non_post_simp_exp
47005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
47105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME  shift, and go to state 9
47205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    '$'   shift, and go to state 24
47305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'   shift, and go to state 320
47405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
47505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME      [reduce using rule 152 (opt_variable)]
47605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '$'       [reduce using rule 152 (opt_variable)]
47705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -6214,7 +6214,7 @@
47805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   156         | . '$' non_post_simp_exp
47905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
48005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME  shift, and go to state 9
48105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    '$'   shift, and go to state 24
48205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'   shift, and go to state 320
48305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
48405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     NAME      [reduce using rule 152 (opt_variable)]
48505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '$'       [reduce using rule 152 (opt_variable)]
48605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11099,3 +11099,274 @@
48705436638acc7c010349a69c3395f1a57c642dc62Ying Wang    45 statement: LEX_FOR '(' opt_exp semi opt_nls exp semi opt_nls opt_exp r_paren opt_nls statement .
48805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
48905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 45 (statement)
49005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
49105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
49205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 320
49305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
49405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139 non_post_simp_exp: . '!' simp_exp
49505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                  | . '(' exp r_paren
49605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                  | . LEX_BUILTIN '(' opt_expression_list r_paren
49705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  142                  | . LEX_LENGTH '(' opt_expression_list r_paren
49805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  143                  | . LEX_LENGTH
49905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144                  | . FUNC_CALL '(' opt_expression_list r_paren
50005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  145                  | . variable
50105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146                  | . INCREMENT variable
50205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147                  | . DECREMENT variable
50305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  148                  | . YNUMBER
50405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  149                  | . YSTRING
50505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150                  | . '-' simp_exp
50605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151                  | . '+' simp_exp
50705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 variable: . NAME
50805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155         | . NAME '[' expression_list ']'
50905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | . '$' non_post_simp_exp
51005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | '$' . non_post_simp_exp
51105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
51205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    FUNC_CALL    shift, and go to state 8
51305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NAME         shift, and go to state 9
51405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YNUMBER      shift, and go to state 10
51505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YSTRING      shift, and go to state 11
51605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    INCREMENT    shift, and go to state 321
51705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DECREMENT    shift, and go to state 322
51805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_BUILTIN  shift, and go to state 18
51905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_LENGTH   shift, and go to state 19
52005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '+'          shift, and go to state 323
52105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'          shift, and go to state 324
52205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '!'          shift, and go to state 325
52305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'          shift, and go to state 320
52405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '('          shift, and go to state 55
52505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
52605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    non_post_simp_exp  go to state 62
52705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    variable           go to state 63
52805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
52905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
53005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 321
53105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
53205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146 non_post_simp_exp: INCREMENT . variable
53305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 variable: . NAME
53405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155         | . NAME '[' expression_list ']'
53505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | . '$' non_post_simp_exp
53605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
53705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NAME  shift, and go to state 9
53805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'   shift, and go to state 320
53905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
54005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    variable  go to state 50
54105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
54205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
54305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 322
54405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
54505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147 non_post_simp_exp: DECREMENT . variable
54605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 variable: . NAME
54705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155         | . NAME '[' expression_list ']'
54805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | . '$' non_post_simp_exp
54905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
55005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NAME  shift, and go to state 9
55105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'   shift, and go to state 320
55205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
55305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    variable  go to state 51
55405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
55505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
55605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 323
55705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
55805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  130 simp_exp: . non_post_simp_exp
55905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  131         | . simp_exp '^' simp_exp
56005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  132         | . simp_exp '*' simp_exp
56105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  133         | . simp_exp '/' simp_exp
56205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134         | . simp_exp '%' simp_exp
56305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | . simp_exp '+' simp_exp
56405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136         | . simp_exp '-' simp_exp
56505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  137         | . variable INCREMENT
56605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  138         | . variable DECREMENT
56705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139 non_post_simp_exp: . '!' simp_exp
56805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                  | . '(' exp r_paren
56905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                  | . LEX_BUILTIN '(' opt_expression_list r_paren
57005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  142                  | . LEX_LENGTH '(' opt_expression_list r_paren
57105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  143                  | . LEX_LENGTH
57205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144                  | . FUNC_CALL '(' opt_expression_list r_paren
57305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  145                  | . variable
57405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146                  | . INCREMENT variable
57505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147                  | . DECREMENT variable
57605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  148                  | . YNUMBER
57705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  149                  | . YSTRING
57805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150                  | . '-' simp_exp
57905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151                  | . '+' simp_exp
58005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151                  | '+' . simp_exp
58105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 variable: . NAME
58205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155         | . NAME '[' expression_list ']'
58305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | . '$' non_post_simp_exp
58405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
58505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    FUNC_CALL    shift, and go to state 8
58605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NAME         shift, and go to state 9
58705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YNUMBER      shift, and go to state 10
58805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YSTRING      shift, and go to state 11
58905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    INCREMENT    shift, and go to state 16
59005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DECREMENT    shift, and go to state 17
59105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_BUILTIN  shift, and go to state 18
59205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_LENGTH   shift, and go to state 19
59305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '+'          shift, and go to state 20
59405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'          shift, and go to state 21
59505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '!'          shift, and go to state 54
59605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'          shift, and go to state 24
59705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '('          shift, and go to state 55
59805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
59905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    simp_exp           go to state 326
60005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    non_post_simp_exp  go to state 35
60105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    variable           go to state 57
60205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
60305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
60405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 324
60505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
60605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  130 simp_exp: . non_post_simp_exp
60705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  131         | . simp_exp '^' simp_exp
60805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  132         | . simp_exp '*' simp_exp
60905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  133         | . simp_exp '/' simp_exp
61005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134         | . simp_exp '%' simp_exp
61105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | . simp_exp '+' simp_exp
61205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136         | . simp_exp '-' simp_exp
61305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  137         | . variable INCREMENT
61405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  138         | . variable DECREMENT
61505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139 non_post_simp_exp: . '!' simp_exp
61605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                  | . '(' exp r_paren
61705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                  | . LEX_BUILTIN '(' opt_expression_list r_paren
61805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  142                  | . LEX_LENGTH '(' opt_expression_list r_paren
61905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  143                  | . LEX_LENGTH
62005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144                  | . FUNC_CALL '(' opt_expression_list r_paren
62105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  145                  | . variable
62205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146                  | . INCREMENT variable
62305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147                  | . DECREMENT variable
62405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  148                  | . YNUMBER
62505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  149                  | . YSTRING
62605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150                  | . '-' simp_exp
62705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150                  | '-' . simp_exp
62805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151                  | . '+' simp_exp
62905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 variable: . NAME
63005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155         | . NAME '[' expression_list ']'
63105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | . '$' non_post_simp_exp
63205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
63305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    FUNC_CALL    shift, and go to state 8
63405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NAME         shift, and go to state 9
63505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YNUMBER      shift, and go to state 10
63605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YSTRING      shift, and go to state 11
63705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    INCREMENT    shift, and go to state 16
63805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DECREMENT    shift, and go to state 17
63905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_BUILTIN  shift, and go to state 18
64005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_LENGTH   shift, and go to state 19
64105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '+'          shift, and go to state 20
64205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'          shift, and go to state 21
64305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '!'          shift, and go to state 54
64405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'          shift, and go to state 24
64505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '('          shift, and go to state 55
64605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
64705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    simp_exp           go to state 327
64805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    non_post_simp_exp  go to state 35
64905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    variable           go to state 57
65005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
65105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
65205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 325
65305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
65405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  130 simp_exp: . non_post_simp_exp
65505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  131         | . simp_exp '^' simp_exp
65605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  132         | . simp_exp '*' simp_exp
65705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  133         | . simp_exp '/' simp_exp
65805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134         | . simp_exp '%' simp_exp
65905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | . simp_exp '+' simp_exp
66005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136         | . simp_exp '-' simp_exp
66105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  137         | . variable INCREMENT
66205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  138         | . variable DECREMENT
66305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139 non_post_simp_exp: . '!' simp_exp
66405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139                  | '!' . simp_exp
66505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                  | . '(' exp r_paren
66605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                  | . LEX_BUILTIN '(' opt_expression_list r_paren
66705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  142                  | . LEX_LENGTH '(' opt_expression_list r_paren
66805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  143                  | . LEX_LENGTH
66905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144                  | . FUNC_CALL '(' opt_expression_list r_paren
67005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  145                  | . variable
67105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146                  | . INCREMENT variable
67205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147                  | . DECREMENT variable
67305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  148                  | . YNUMBER
67405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  149                  | . YSTRING
67505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150                  | . '-' simp_exp
67605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151                  | . '+' simp_exp
67705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 variable: . NAME
67805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155         | . NAME '[' expression_list ']'
67905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156         | . '$' non_post_simp_exp
68005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
68105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    FUNC_CALL    shift, and go to state 8
68205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NAME         shift, and go to state 9
68305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YNUMBER      shift, and go to state 10
68405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    YSTRING      shift, and go to state 11
68505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    INCREMENT    shift, and go to state 16
68605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DECREMENT    shift, and go to state 17
68705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_BUILTIN  shift, and go to state 18
68805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEX_LENGTH   shift, and go to state 19
68905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '+'          shift, and go to state 20
69005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'          shift, and go to state 21
69105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '!'          shift, and go to state 54
69205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '$'          shift, and go to state 24
69305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '('          shift, and go to state 55
69405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
69505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    simp_exp           go to state 328
69605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    non_post_simp_exp  go to state 35
69705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    variable           go to state 57
69805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
69905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
70005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 326
70105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
70205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  131 simp_exp: simp_exp . '^' simp_exp
70305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  132         | simp_exp . '*' simp_exp
70405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  133         | simp_exp . '/' simp_exp
70505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134         | simp_exp . '%' simp_exp
70605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | simp_exp . '+' simp_exp
70705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136         | simp_exp . '-' simp_exp
70805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151 non_post_simp_exp: '+' simp_exp .  [error, FUNC_CALL, NAME, YNUMBER, YSTRING, RELOP, APPEND_OP, MATCHOP, NEWLINE, LEX_IN, LEX_AND, LEX_OR, INCREMENT, DECREMENT, LEX_BUILTIN, LEX_LENGTH, '?', ':', ',', '<', '>', '|', TWOWAYIO, '+', '-', '!', '$', '(', ')', '@:>@', '{', ';']
70905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
71005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '*'  shift, and go to state 89
71105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '/'  shift, and go to state 90
71205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '%'  shift, and go to state 91
71305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '^'  shift, and go to state 92
71405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
71505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    $default  reduce using rule 151 (non_post_simp_exp)
71605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
71705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    Conflict between rule 151 and token '+' resolved as reduce ('+' < UNARY).
71805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    Conflict between rule 151 and token '-' resolved as reduce ('-' < UNARY).
71905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
72005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
72105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 327
72205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
72305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  131 simp_exp: simp_exp . '^' simp_exp
72405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  132         | simp_exp . '*' simp_exp
72505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  133         | simp_exp . '/' simp_exp
72605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134         | simp_exp . '%' simp_exp
72705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | simp_exp . '+' simp_exp
72805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136         | simp_exp . '-' simp_exp
72905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150 non_post_simp_exp: '-' simp_exp .  [error, FUNC_CALL, NAME, YNUMBER, YSTRING, RELOP, APPEND_OP, MATCHOP, NEWLINE, LEX_IN, LEX_AND, LEX_OR, INCREMENT, DECREMENT, LEX_BUILTIN, LEX_LENGTH, '?', ':', ',', '<', '>', '|', TWOWAYIO, '+', '-', '!', '$', '(', ')', '@:>@', '{', ';']
73005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
73105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '*'  shift, and go to state 89
73205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '/'  shift, and go to state 90
73305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '%'  shift, and go to state 91
73405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '^'  shift, and go to state 92
73505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
73605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    $default  reduce using rule 150 (non_post_simp_exp)
73705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
73805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    Conflict between rule 150 and token '+' resolved as reduce ('+' < UNARY).
73905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    Conflict between rule 150 and token '-' resolved as reduce ('-' < UNARY).
74005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
74105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
74205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 328
74305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
74405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  131 simp_exp: simp_exp . '^' simp_exp
74505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  132         | simp_exp . '*' simp_exp
74605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  133         | simp_exp . '/' simp_exp
74705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134         | simp_exp . '%' simp_exp
74805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | simp_exp . '+' simp_exp
74905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136         | simp_exp . '-' simp_exp
75005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139 non_post_simp_exp: '!' simp_exp .  [error, FUNC_CALL, NAME, YNUMBER, YSTRING, RELOP, APPEND_OP, MATCHOP, NEWLINE, LEX_IN, LEX_AND, LEX_OR, INCREMENT, DECREMENT, LEX_BUILTIN, LEX_LENGTH, '?', ':', ',', '<', '>', '|', TWOWAYIO, '+', '-', '!', '$', '(', ')', '@:>@', '{', ';']
75105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
75205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '*'  shift, and go to state 89
75305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '/'  shift, and go to state 90
75405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '%'  shift, and go to state 91
75505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '^'  shift, and go to state 92
75605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
75705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    $default  reduce using rule 139 (non_post_simp_exp)
75805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
75905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    Conflict between rule 139 and token '+' resolved as reduce ('+' < UNARY).
76005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    Conflict between rule 139 and token '-' resolved as reduce ('-' < UNARY).
76105436638acc7c010349a69c3395f1a57c642dc62Ying Wang]])],
76205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
76305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl OTHER-CHECKS
76405436638acc7c010349a69c3395f1a57c642dc62Ying Wang[],
76505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
76605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl PARSER-EXIT-VALUE, PARSER-STDOUT, PARSER-STDERR
76705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl In the case of the syntax error, the parser recovers, so it returns 0.
76805436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[0]],
76905436638acc7c010349a69c3395f1a57c642dc62Ying Wang[],
77005436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]],
77105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[syntax error, unexpected '*', expecting NEWLINE or '{' or ';'
77205436638acc7c010349a69c3395f1a57c642dc62Ying Wang]])])
773cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
774cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project## ----------------- ##
775cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project## GNU Cim Grammar.  ##
776cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project## ----------------- ##
777cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
778cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# GNU Cim, the GNU Simula 87 Compiler.
779cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
780cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Bison was once wrong, due to an incorrect computation of the RR conflicts.
781cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# It reported 80 SR && 99 RR conflicts instead of 78/10!!!
782cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
78305436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_TEST_EXISTING_GRAMMAR([[GNU Cim Grammar]],
78405436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[
785cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token
786cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HACTIVATE HAFTER /*HAND*/ HARRAY HAT
787cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HBEFORE HBEGIN HBOOLEAN
788cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HCHARACTER HCLASS /*HCOMMENT*/ HCONC
789cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HDELAY HDO
790cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HELSE HEND HEQ /*HEQV*/ HEXTERNAL
791cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HFOR
792cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HGE HGO HGOTO HGT
793cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HHIDDEN
794cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HIF /*HIMP*/ HIN HINNER HINSPECT HINTEGER HIS
795cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HLABEL HLE HLONG HLT
796cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HNAME HNE HNEW HNONE /*HNOT*/ HNOTEXT
797cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/*HOR*/ HOTHERWISE
798cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HPRIOR HPROCEDURE HPROTECTED
799cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HQUA
800cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HREACTIVATE HREAL HREF
801cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HSHORT HSTEP HSWITCH
802cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HTEXT HTHEN HTHIS HTO
803cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HUNTIL
804cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HVALUE HVAR HVIRTUAL
805cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HWHEN HWHILE
806cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
807cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HASSIGNVALUE HASSIGNREF
808cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/*HDOT*/ HPAREXPSEPARATOR HLABELSEPARATOR HSTATEMENTSEPARATOR
809cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HBEGPAR HENDPAR
810cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HEQR HNER
811cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HADD HSUB HMUL HDIV HINTDIV HEXP
812cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	HDOTDOTDOT
813cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
814cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token HIDENTIFIER
815cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token HBOOLEANKONST HINTEGERKONST HCHARACTERKONST
816cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token HREALKONST
817cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token HTEXTKONST
818cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
819cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
820cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right HASSIGN
821cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HORELSE
822cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HANDTHEN
823cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HEQV
824cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HIMP
825cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HOR
826cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HAND
827cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
828cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HNOT
829cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
830cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left HVALRELOPERATOR HREFRELOPERATOR HOBJRELOPERATOR
831cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
832cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left	HCONC
833cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
834cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left HTERMOPERATOR
835cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left UNEAR
836cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left HFACTOROPERATOR
837cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left         HPRIMARYOPERATOR
838cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
839cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HQUA
840cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
841cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left   HDOT
842cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
843cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%start  MAIN_MODULE
84405436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
84505436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[
846cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* GRAMATIKK FOR PROGRAM MODULES */
847cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMAIN_MODULE     :       {}
848cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MODULS
849cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	error HSTATEMENTSEPARATOR MBEE_DECLSTMS
850cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
851cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXT_DECLARATION	:	HEXTERNAL
852cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_TYPE
853cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPROCEDURE
854cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
855cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXT_LIST
856cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|
857cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEXTERNAL
858cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
859cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPROCEDURE
860cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
861cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER {}
862cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXTERNAL_KIND_ITEM
863cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HEXTERNAL
864cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HCLASS
865cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
866cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXT_LIST
867cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
868cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
869cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXTERNAL_KIND_ITEM:	EXT_IDENT
870cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HOBJRELOPERATOR
871cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
872cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_TYPE HPROCEDURE
873cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
874cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
875cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEADING EMPTY_BLOCK
876cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
877cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*		|
878cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXT_IDENT
879cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
880cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_REST_EXT_LIST
881cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
882cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_REST_EXT_LIST:	/* EMPTY
883cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HPAREXPSEPARATOR EXT_KIND_LIST
884cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
885cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXT_KIND_LIST	:	EXT_KIND_ITEM
886cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	EXT_KIND_LIST HPAREXPSEPARATOR EXT_KIND_ITEM
887cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
888cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXT_KIND_ITEM	:	HIDENTIFIER
889cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXT_IDENT
890cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}*/
891cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
892cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEMPTY_BLOCK	:	/*EMPT*/
893cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HBEGIN HEND
894cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
895cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXT_LIST	:	EXT_ITEM
896cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	EXT_LIST HPAREXPSEPARATOR EXT_ITEM
897cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
898cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXT_ITEM	:	HIDENTIFIER
899cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXT_IDENT
900cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
901cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXT_IDENT	:	/* EMPTY */
902cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HVALRELOPERATOR {}
903cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTEXTKONST
904cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
905cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* GRAMATIKK FOR TYPER */
906cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectNO_TYPE         :       /*EMPT*/
907cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
908cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_TYPE       :       NO_TYPE
909cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       TYPE
910cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
911cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectTYPE            :       HREF HBEGPAR
912cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
913cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
914cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HENDPAR
915cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HTEXT
916cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBOOLEAN
917cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HCHARACTER
918cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HSHORT HINTEGER
919cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HINTEGER
920cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HREAL
921cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HLONG HREAL
922cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
923cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* GRAMATIKK FOR DEL AV SETNINGER */
925cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_ELSE_PART  :       /*EMPT*/
926cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/*		|	HELSE
927cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIF
928cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTHEN   {}
930cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK   {}
931cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_ELSE_PART          {}*/
932cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HELSE   {}
933cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
934cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
935cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFOR_LIST        :       FOR_LIST_ELEMENT
936cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FOR_LIST_ELEMENT
937cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
938cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			FOR_LIST
939cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
940cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFOR_LIST_ELEMENT:       EXPRESSION
941cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_F_L_EL_R_PT
942cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
943cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_F_L_EL_R_PT:       /*EMPT*/
944cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HWHILE
945cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
946cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HSTEP
947cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
948cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HUNTIL
949cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
950cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
951cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectGOTO            :       HGO
952cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTO
953cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HGOTO
954cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
955cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectCONN_STATE_R_PT :       WHEN_CLAUSE_LIST
956cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HDO   {}
957cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
958cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
959cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectWHEN_CLAUSE_LIST:       HWHEN
960cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
961cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HDO    {}
962cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
963cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       WHEN_CLAUSE_LIST
964cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HWHEN
965cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
966cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HDO    {}
967cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
968cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
969cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_OTWI_CLAUS :       /*EMPT*/
970cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HOTHERWISE {}
971cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
972cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
973cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
974cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectACTIVATOR	:	HACTIVATE
975cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HREACTIVATE
976cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
977cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectSCHEDULE	:	/*EMPT*/
978cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	ATDELAY EXPRESSION	{}
979cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			PRIOR
980cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	BEFOREAFTER		{}
981cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
982cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
983cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectATDELAY		:	HAT
984cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HDELAY
985cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
986cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectBEFOREAFTER	:	HBEFORE
987cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HAFTER
988cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
989cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectPRIOR		:	/*EMPT*/
990cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HPRIOR
991cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
992cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* GRAMATIKK FOR SETNINGER OG DEKLARASJONER */
993cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMODULSTATEMENT  :       HWHILE
994cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
995cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HDO     {}
996cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
997cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIF
998cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
999cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTHEN   {}
1000cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK   {}
1001cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_ELSE_PART
1002cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HFOR
1003cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1004cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HASSIGN {}
1005cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			FOR_LIST
1006cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HDO     {}
1007cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
1008cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       GOTO
1009cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1010cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HINSPECT
1011cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION              {}
1012cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			CONN_STATE_R_PT
1013cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1014cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_OTWI_CLAUS
1015cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HINNER
1016cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIDENTIFIER
1017cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HLABELSEPARATOR
1018cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1019cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			DECLSTATEMENT
1020cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1021cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HBEGIN
1022cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1023cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IMPORT_SPEC_MODULE
1024cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1025cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_DECLSTMS
1026cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEND
1027cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	EXPRESSION_SIMP HBEGIN error HSTATEMENTSEPARATOR
1028cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_DECLSTMS HEND
1029cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	EXPRESSION_SIMP HBEGIN error HEND
1030cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1031cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	ACTIVATOR EXPRESSION SCHEDULE
1032cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBEGIN
1033cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1034cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_DECLSTMS
1035cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEND
1036cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MBEE_TYPE HPROCEDURE
1037cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1038cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1039cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEADING BLOCK
1040cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIDENTIFIER
1041cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HCLASS
1042cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			NO_TYPE
1043cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1044cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IMPORT_SPEC_MODULE
1045cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1046cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1047cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEADING
1048cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
1049cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HCLASS
1050cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			NO_TYPE
1051cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1052cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1053cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEADING
1054cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BLOCK
1055cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXT_DECLARATION
1056cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       /*EMPT*/
1057cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1058cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectIMPORT_SPEC_MODULE:
1059cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1060cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectDECLSTATEMENT	:	MODULSTATEMENT
1061cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       TYPE
1062cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1063cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_CONSTANT
1064cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
1065cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1066cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IDENTIFIER_LISTC
1067cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       TYPE
1068cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1069cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_CONSTANT
1070cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MBEE_TYPE
1071cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HARRAY  {}
1072cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARR_SEGMENT_LIST
1073cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HSWITCH
1074cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1075cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HASSIGN {}
1076cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			SWITCH_LIST
1077cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1078cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectBLOCK           :       DECLSTATEMENT
1079cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBEGIN MBEE_DECLSTMS HEND
1080cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HBEGIN error HSTATEMENTSEPARATOR MBEE_DECLSTMS HEND
1081cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HBEGIN error HEND
1082cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1083cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_DECLSTMS   :       MBEE_DECLSTMSU
1084cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1085cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_DECLSTMSU  :       DECLSTATEMENT
1086cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MBEE_DECLSTMSU
1087cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HSTATEMENTSEPARATOR
1088cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			DECLSTATEMENT
1089cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1090cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMODULS		:	MODULSTATEMENT
1091cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	MODULS HSTATEMENTSEPARATOR MODULSTATEMENT
1092cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1093cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* GRAMATIKK FOR DEL AV DEKLARASJONER */
1094cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectARR_SEGMENT_LIST:       ARR_SEGMENT
1095cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       ARR_SEGMENT_LIST
1096cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
1097cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARR_SEGMENT
1098cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1099cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectARR_SEGMENT	:       ARRAY_SEGMENT
1100cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HBEGPAR
1101cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BAUND_PAIR_LIST HENDPAR
1102cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1103cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectARRAY_SEGMENT   :       ARRAY_SEGMENT_EL        {}
1104cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1105cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       ARRAY_SEGMENT_EL
1106cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
1107cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARRAY_SEGMENT
1108cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1109cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectARRAY_SEGMENT_EL:       HIDENTIFIER
1110cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1111cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectBAUND_PAIR_LIST :       BAUND_PAIR
1112cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       BAUND_PAIR
1113cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
1114cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			BAUND_PAIR_LIST
1115cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1116cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectBAUND_PAIR      :       EXPRESSION
1117cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HLABELSEPARATOR
1118cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1119cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1120cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectSWITCH_LIST     :       EXPRESSION
1121cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION
1122cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
1123cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			SWITCH_LIST
1124cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1125cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectHEADING         :       MBEE_FMAL_PAR_P HSTATEMENTSEPARATOR {}
1126cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_MODE_PART  {}
1127cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_SPEC_PART  {}
1128cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_PROT_PART  {}
1129cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_VIRT_PART
1130cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1131cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_FMAL_PAR_P :       /*EMPT*/
1132cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FMAL_PAR_PART
1133cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1134cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFMAL_PAR_PART   :       HBEGPAR NO_TYPE
1135cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_LISTV HENDPAR
1136cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1137cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_LISTV      :       /*EMPT*/
1138cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       LISTV
1139cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1140cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectLISTV           :       HIDENTIFIER
1141cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	FPP_CATEG HDOTDOTDOT
1142cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIDENTIFIER     {}
1143cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR LISTV
1144cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FPP_SPEC
1145cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FPP_SPEC
1146cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR LISTV
1147cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1148cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFPP_HEADING     :       HBEGPAR NO_TYPE
1149cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			FPP_MBEE_LISTV HENDPAR
1150cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1151cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFPP_MBEE_LISTV  :       /*EMPT*/
1152cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FPP_LISTV
1153cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1154cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFPP_LISTV       :	FPP_CATEG HDOTDOTDOT
1155cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FPP_SPEC
1156cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FPP_SPEC
1157cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR LISTV
1158cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1159cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFPP_SPEC        :       FPP_CATEG SPECIFIER HIDENTIFIER
1160cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	FPP_CATEG FPP_PROC_DECL_IN_SPEC
1161cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1162cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFPP_CATEG       :       HNAME HLABELSEPARATOR
1163cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HVALUE HLABELSEPARATOR
1164cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HVAR HLABELSEPARATOR
1165cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       /*EMPT*/
1166cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1167cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectFPP_PROC_DECL_IN_SPEC:	MBEE_TYPE HPROCEDURE
1168cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1169cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					{}
1170cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			FPP_HEADING {} { /* Yes, two "final" actions. */ }
1171cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1172cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectIDENTIFIER_LISTV:       HIDENTIFIER
1173cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HDOTDOTDOT
1174cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIDENTIFIER     {}
1175cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR IDENTIFIER_LISTV
1176cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1177cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_MODE_PART  :       /*EMPT*/
1178cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MODE_PART
1179cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1180cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMODE_PART       :       NAME_PART
1181cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VALUE_PART
1182cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VAR_PART
1183cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       NAME_PART VALUE_PART
1184cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VALUE_PART NAME_PART
1185cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       NAME_PART VAR_PART
1186cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VAR_PART NAME_PART
1187cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VALUE_PART VAR_PART
1188cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VAR_PART VALUE_PART
1189cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VAR_PART NAME_PART VALUE_PART
1190cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       NAME_PART VAR_PART VALUE_PART
1191cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       NAME_PART VALUE_PART VAR_PART
1192cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VAR_PART VALUE_PART NAME_PART
1193cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VALUE_PART VAR_PART NAME_PART
1194cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VALUE_PART NAME_PART VAR_PART
1195cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1196cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectNAME_PART       :       HNAME           {}
1197cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IDENTIFIER_LISTV
1198cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HSTATEMENTSEPARATOR
1199cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1200cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectVAR_PART        :       HVAR            {}
1201cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IDENTIFIER_LISTV
1202cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HSTATEMENTSEPARATOR
1203cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1204cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectVALUE_PART      :       HVALUE          {}
1205cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IDENTIFIER_LISTV HSTATEMENTSEPARATOR
1206cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1207cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_SPEC_PART  :       /*EMPT*/
1208cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       SPEC_PART
1209cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1210cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectSPEC_PART       :       ONE_SPEC
1211cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       SPEC_PART ONE_SPEC
1212cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1213cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectONE_SPEC	:	SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR
1214cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	NO_TYPE HPROCEDURE HIDENTIFIER HOBJRELOPERATOR
1215cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			  {}
1216cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
1217cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       FPP_PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
1218cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MBEE_TYPE HPROCEDURE HIDENTIFIER HSTATEMENTSEPARATOR
1219cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MBEE_TYPE HPROCEDURE HIDENTIFIER HPAREXPSEPARATOR
1220cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IDENTIFIER_LIST HSTATEMENTSEPARATOR
1221cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1222cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectSPECIFIER       :       TYPE
1223cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       MBEE_TYPE
1224cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HARRAY
1225cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HLABEL
1226cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HSWITCH
1227cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1228cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectPROC_DECL_IN_SPEC:	MBEE_TYPE HPROCEDURE
1229cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1230cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					{}
1231cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEADING
1232cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project					{}
1233cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_BEGIN_END
1234cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1235cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_BEGIN_END	:	/* EMPTY */
1236cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HBEGIN HEND
1237cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1238cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_PROT_PART  :       /*EMPT*/
1239cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       PROTECTION_PART
1240cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1241cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectPROTECTION_PART :       PROT_SPECIFIER IDENTIFIER_LIST
1242cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HSTATEMENTSEPARATOR
1243cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       PROTECTION_PART  PROT_SPECIFIER
1244cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			IDENTIFIER_LIST HSTATEMENTSEPARATOR
1245cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1246cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectPROT_SPECIFIER  :       HHIDDEN
1247cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HPROTECTED
1248cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HHIDDEN
1249cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPROTECTED
1250cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HPROTECTED
1251cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HHIDDEN
1252cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1253cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_VIRT_PART  :       /*EMPT*/
1254cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       VIRTUAL_PART
1255cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1256cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectVIRTUAL_PART    :       HVIRTUAL
1257cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HLABELSEPARATOR
1258cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_SPEC_PART
1259cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1260cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectIDENTIFIER_LIST :       HIDENTIFIER
1261cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       IDENTIFIER_LIST HPAREXPSEPARATOR
1262cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1263cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1264cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectIDENTIFIER_LISTC:       HIDENTIFIER
1265cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_CONSTANT
1266cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       IDENTIFIER_LISTC HPAREXPSEPARATOR
1267cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1268cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_CONSTANT
1269cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1270cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_CONSTANT	:	/* EMPTY */
1271cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|	HVALRELOPERATOR
1272cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1273cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1274cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1275cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1276cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* GRAMATIKK FOR UTTRYKK */
1277cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXPRESSION      :       EXPRESSION_SIMP
1278cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIF
1279cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1280cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTHEN
1281cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1282cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HELSE
1283cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1284cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1285cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectEXPRESSION_SIMP :	EXPRESSION_SIMP
1286cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HASSIGN
1287cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION
1288cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|
1289cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1290cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1291cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HCONC
1292cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1293cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP HOR
1294cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HELSE
1295cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1296cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			%prec HORELSE
1297cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP HAND
1298cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTHEN
1299cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1300cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			%prec HANDTHEN
1301cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1302cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HEQV EXPRESSION_SIMP
1303cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1304cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIMP EXPRESSION_SIMP
1305cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1306cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HOR EXPRESSION_SIMP
1307cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1308cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HAND EXPRESSION_SIMP
1309cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HNOT EXPRESSION_SIMP
1310cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1311cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HVALRELOPERATOR
1312cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1313cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1314cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HREFRELOPERATOR
1315cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1316cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1317cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HOBJRELOPERATOR
1318cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1319cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HTERMOPERATOR
1320cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP %prec UNEAR
1321cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1322cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HTERMOPERATOR
1323cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1324cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1325cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HFACTOROPERATOR
1326cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1327cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1328cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPRIMARYOPERATOR
1329cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1330cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBEGPAR
1331cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION HENDPAR
1332cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HTEXTKONST
1333cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HCHARACTERKONST
1334cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HREALKONST
1335cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HINTEGERKONST
1336cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBOOLEANKONST
1337cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HNONE
1338cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HIDENTIFIER
1339cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project				{}
1340cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			MBEE_ARG_R_PT
1341cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HTHIS HIDENTIFIER
1342cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HNEW
1343cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HIDENTIFIER
1344cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARG_R_PT
1345cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1346cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HDOT
1347cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			EXPRESSION_SIMP
1348cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION_SIMP
1349cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HQUA HIDENTIFIER
1350cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1351cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectARG_R_PT        :       /*EMPTY*/
1352cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBEGPAR
1353cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARGUMENT_LIST HENDPAR
1354cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1355cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectMBEE_ARG_R_PT   :       /*EMPTY*/
1356cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       HBEGPAR
1357cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARGUMENT_LIST HENDPAR
1358cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
1359cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectARGUMENT_LIST   :       EXPRESSION
1360cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		|       EXPRESSION
1361cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			HPAREXPSEPARATOR
1362cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project			ARGUMENT_LIST
1363cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		;
136405436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
1365cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
136605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl INPUT
136705436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[]],
1368cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
136905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl BISON-STDERR
137005436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[canonical LR]],
137105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[input.y: conflicts: 1876 shift/reduce, 144 reduce/reduce]],
137205436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[input.y: conflicts: 78 shift/reduce, 10 reduce/reduce]])[
137305436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
137405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
137505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl LAST-STATE
137605436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[canonical LR]], [[10425]], [[442]])],
137705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
137805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl LALR1-DIFF not used for canonical LR(1) because the diff is huge.
137905436638acc7c010349a69c3395f1a57c642dc62Ying Wang[],
138005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
138105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl OTHER-CHECKS
138205436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[canonical LR]], [[]],
138305436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_CHECK([[grep '^State.*conflicts:' input.output]], [[0]],
1384cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project[[State 64 conflicts: 14 shift/reduce
1385cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 164 conflicts: 1 shift/reduce
1386cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 201 conflicts: 33 shift/reduce, 4 reduce/reduce
1387cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 206 conflicts: 1 shift/reduce
1388cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 240 conflicts: 1 shift/reduce
1389cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 335 conflicts: 9 shift/reduce, 2 reduce/reduce
1390cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 356 conflicts: 1 shift/reduce
1391cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 360 conflicts: 9 shift/reduce, 2 reduce/reduce
1392cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source ProjectState 427 conflicts: 9 shift/reduce, 2 reduce/reduce
139305436638acc7c010349a69c3395f1a57c642dc62Ying Wang]])])])
1394cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
139505436638acc7c010349a69c3395f1a57c642dc62Ying Wang## -------------------------------- ##
139605436638acc7c010349a69c3395f1a57c642dc62Ying Wang## GNU pic (Groff 1.18.1) Grammar.  ##
139705436638acc7c010349a69c3395f1a57c642dc62Ying Wang## -------------------------------- ##
1398cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1399cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# GNU pic, part of groff.
1400cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1401cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project# Bison once reported shift/reduce conflicts that it shouldn't have.
1402cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
140305436638acc7c010349a69c3395f1a57c642dc62Ying WangAT_TEST_EXISTING_GRAMMAR([[GNU pic (Groff 1.18.1) Grammar]],
140405436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[%error-verbose
1405cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1406cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LABEL
1407cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token VARIABLE
1408cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token NUMBER
1409cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token TEXT
1410cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token COMMAND_LINE
1411cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DELIMITED
1412cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ORDINAL
1413cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token TH
1414cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEFT_ARROW_HEAD
1415cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RIGHT_ARROW_HEAD
1416cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOUBLE_ARROW_HEAD
1417cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LAST
1418cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token UP
1419cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOWN
1420cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEFT
1421cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RIGHT
1422cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token BOX
1423cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token CIRCLE
1424cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ELLIPSE
1425cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ARC
1426cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LINE
1427cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ARROW
1428cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token MOVE
1429cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SPLINE
1430cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token HEIGHT
1431cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RADIUS
1432cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token WIDTH
1433cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DIAMETER
1434cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token FROM
1435cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token TO
1436cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token AT
1437cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token WITH
1438cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token BY
1439cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token THEN
1440cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SOLID
1441cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOTTED
1442cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DASHED
1443cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token CHOP
1444cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SAME
1445cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token INVISIBLE
1446cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LJUST
1447cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RJUST
1448cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ABOVE
1449cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token BELOW
1450cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token OF
1451cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token THE
1452cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token WAY
1453cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token BETWEEN
1454cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token AND
1455cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token HERE
1456cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_N
1457cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_E
1458cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_W
1459cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_S
1460cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_NE
1461cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_SE
1462cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_NW
1463cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_SW
1464cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_C
1465cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_START
1466cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_END
1467cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_X
1468cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_Y
1469cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_HT
1470cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_WID
1471cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DOT_RAD
1472cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SIN
1473cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token COS
1474cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ATAN2
1475cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LOG
1476cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token EXP
1477cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SQRT
1478cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token K_MAX
1479cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token K_MIN
1480cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token INT
1481cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RAND
1482cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SRAND
1483cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token COPY
148405436638acc7c010349a69c3395f1a57c642dc62Ying Wang%token THROUGH
1485cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token TOP
1486cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token BOTTOM
1487cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token UPPER
1488cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LOWER
1489cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SH
1490cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token PRINT
1491cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token CW
1492cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token CCW
1493cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token FOR
1494cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token DO
1495cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token IF
1496cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ELSE
1497cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ANDAND
1498cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token OROR
1499cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token NOTEQUAL
1500cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token EQUALEQUAL
1501cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LESSEQUAL
1502cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token GREATEREQUAL
1503cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token LEFT_CORNER
1504cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RIGHT_CORNER
1505cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token NORTH
1506cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SOUTH
1507cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token EAST
1508cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token WEST
1509cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token CENTER
1510cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token END
1511cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token START
1512cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token RESET
1513cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token UNTIL
1514cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token PLOT
1515cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token THICKNESS
1516cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token FILL
1517cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token COLORED
1518cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token OUTLINED
1519cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SHADED
1520cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token ALIGNED
1521cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token SPRINTF
1522cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%token COMMAND
1523cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1524cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '.'
1525cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1526cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* this ensures that plot 17 "%g" parses as (plot 17 "%g") */
1527cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left PLOT
1528cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left TEXT SPRINTF
1529cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1530cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* give text adjustments higher precedence than TEXT, so that
1531cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectbox "foo" above ljust == box ("foo" above ljust)
1532cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project*/
1533cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1534cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left LJUST RJUST ABOVE BELOW
1535cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1536cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left LEFT RIGHT
1537cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* Give attributes that take an optional expression a higher
1538cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectprecedence than left and right, so that eg `line chop left'
1539cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectparses properly. */
1540cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left CHOP SOLID DASHED DOTTED UP DOWN FILL COLORED OUTLINED
1541cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left LABEL
1542cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1543cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left VARIABLE NUMBER '(' SIN COS ATAN2 LOG EXP SQRT K_MAX K_MIN INT RAND SRAND LAST
1544cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left ORDINAL HERE '`'
1545cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1546cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left BOX CIRCLE ELLIPSE ARC LINE ARROW SPLINE '[' /* ] */
1547cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1548cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* these need to be lower than '-' */
1549cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left HEIGHT RADIUS WIDTH DIAMETER FROM TO AT THICKNESS
1550cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1551cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project/* these must have higher precedence than CHOP so that `label %prec CHOP'
1552cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectworks */
1553cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left DOT_N DOT_E DOT_W DOT_S DOT_NE DOT_SE DOT_NW DOT_SW DOT_C
1554cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left DOT_START DOT_END TOP BOTTOM LEFT_CORNER RIGHT_CORNER
1555cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left UPPER LOWER NORTH SOUTH EAST WEST CENTER START END
1556cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1557cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left ','
1558cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left OROR
1559cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left ANDAND
1560cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left EQUALEQUAL NOTEQUAL
1561cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '<' '>' LESSEQUAL GREATEREQUAL
1562cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1563cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left BETWEEN OF
1564cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left AND
1565cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1566cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '+' '-'
1567cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%left '*' '/' '%'
1568cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right '!'
1569cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project%right '^'
157005436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
157105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[
1572cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttop:
1573cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	optional_separator
1574cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| element_list
1575cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1576cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1577cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectelement_list:
1578cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	optional_separator middle_element_list optional_separator
1579cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1580cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1581cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectmiddle_element_list:
1582cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	element
1583cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| middle_element_list separator element
1584cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1585cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1586cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectoptional_separator:
1587cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* empty */
1588cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| separator
1589cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1590cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1591cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectseparator:
1592cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	';'
1593cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| separator ';'
1594cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1595cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1596cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectplaceless_element:
1597cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	VARIABLE '=' any_expr
1598cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| VARIABLE ':' '=' any_expr
1599cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| UP
1600cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOWN
1601cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEFT
1602cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| RIGHT
1603cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| COMMAND_LINE
1604cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| COMMAND print_args
1605cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| PRINT print_args
1606cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SH
1607cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1608cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  DELIMITED
1609cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| COPY TEXT
161005436638acc7c010349a69c3395f1a57c642dc62Ying Wang	| COPY TEXT THROUGH
1611cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1612cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  DELIMITED
1613cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1614cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  until
161505436638acc7c010349a69c3395f1a57c642dc62Ying Wang	| COPY THROUGH
1616cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1617cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  DELIMITED
1618cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1619cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  until
1620cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| FOR VARIABLE '=' expr TO expr optional_by DO
1621cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1622cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  DELIMITED
1623cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simple_if
1624cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| simple_if ELSE
1625cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1626cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  DELIMITED
1627cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| reset_variables
1628cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| RESET
1629cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1630cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1631cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectreset_variables:
1632cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	RESET VARIABLE
1633cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| reset_variables VARIABLE
1634cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| reset_variables ',' VARIABLE
1635cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1636cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1637cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectprint_args:
1638cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	print_arg
1639cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| print_args print_arg
1640cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1641cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1642cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectprint_arg:
1643cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	expr							%prec ','
1644cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text
1645cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| position						%prec ','
1646cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1647cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1648cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectsimple_if:
1649cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	IF any_expr THEN
1650cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1651cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	DELIMITED
1652cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1653cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1654cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectuntil:
1655cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* empty */
1656cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| UNTIL TEXT
1657cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1658cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1659cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectany_expr:
1660cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	expr
1661cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text_expr
1662cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1663cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1664cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttext_expr:
1665cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	text EQUALEQUAL text
1666cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text NOTEQUAL text
1667cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text_expr ANDAND text_expr
1668cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text_expr ANDAND expr
1669cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr ANDAND text_expr
1670cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text_expr OROR text_expr
1671cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text_expr OROR expr
1672cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr OROR text_expr
1673cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '!' text_expr
1674cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1675cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1676cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectoptional_by:
1677cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* empty */
1678cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| BY expr
1679cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| BY '*' expr
1680cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1681cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1682cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectelement:
1683cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	object_spec
1684cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LABEL ':' optional_separator element
1685cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LABEL ':' optional_separator position_not_place
1686cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LABEL ':' optional_separator place
168705436638acc7c010349a69c3395f1a57c642dc62Ying Wang	| '{' {} element_list '}'
1688cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1689cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  optional_element
1690cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| placeless_element
1691cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1692cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1693cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectoptional_element:
1694cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* empty */
1695cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| element
1696cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1697cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1698cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectobject_spec:
1699cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	BOX
1700cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| CIRCLE
1701cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ELLIPSE
1702cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ARC
1703cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LINE
1704cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ARROW
1705cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| MOVE
1706cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SPLINE
1707cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| text							%prec TEXT
1708cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| PLOT expr
1709cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| PLOT expr text
1710cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '['
1711cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1712cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	  element_list ']'
1713cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec HEIGHT expr
1714cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec RADIUS expr
1715cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec WIDTH expr
1716cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DIAMETER expr
1717cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec expr					%prec HEIGHT
1718cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec UP
1719cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec UP expr
1720cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DOWN
1721cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DOWN expr
1722cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec RIGHT
1723cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec RIGHT expr
1724cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec LEFT
1725cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec LEFT expr
1726cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec FROM position
1727cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec TO position
1728cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec AT position
1729cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec WITH path
1730cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec WITH position				%prec ','
1731cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec BY expr_pair
1732cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec THEN
1733cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec SOLID
1734cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DOTTED
1735cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DOTTED expr
1736cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DASHED
1737cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DASHED expr
1738cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec FILL
1739cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec FILL expr
1740cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec SHADED text
1741cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec COLORED text
1742cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec OUTLINED text
1743cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec CHOP
1744cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec CHOP expr
1745cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec SAME
1746cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec INVISIBLE
1747cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec LEFT_ARROW_HEAD
1748cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec RIGHT_ARROW_HEAD
1749cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec DOUBLE_ARROW_HEAD
1750cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec CW
1751cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec CCW
1752cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec text					%prec TEXT
1753cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec LJUST
1754cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec RJUST
1755cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec ABOVE
1756cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec BELOW
1757cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec THICKNESS expr
1758cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| object_spec ALIGNED
1759cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1760cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1761cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projecttext:
1762cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	TEXT
1763cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SPRINTF '(' TEXT sprintf_args ')'
1764cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1765cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1766cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectsprintf_args:
1767cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* empty */
1768cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| sprintf_args ',' expr
1769cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1770cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1771cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectposition:
1772cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	position_not_place
1773cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| place
1774cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1775cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1776cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectposition_not_place:
1777cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	expr_pair
1778cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| position '+' expr_pair
1779cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| position '-' expr_pair
1780cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '(' position ',' position ')'
1781cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr between position AND position
1782cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '<' position ',' position '>'
1783cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1784cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1785cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectbetween:
1786cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	BETWEEN
1787cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| OF THE WAY BETWEEN
1788cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1789cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1790cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexpr_pair:
1791cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	expr ',' expr
1792cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '(' expr_pair ')'
1793cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1794cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1795cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectplace:
1796cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* line at A left == line (at A) left */
1797cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	label							%prec CHOP
1798cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| label corner
1799cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| corner label
1800cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| corner OF label
1801cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| HERE
1802cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1803cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1804cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectlabel:
1805cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	LABEL
1806cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| nth_primitive
1807cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| label '.' LABEL
1808cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1809cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1810cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectordinal:
1811cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	ORDINAL
1812cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '`' any_expr TH
1813cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1814cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1815cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectoptional_ordinal_last:
1816cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	LAST
1817cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ordinal LAST
1818cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1819cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1820cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectnth_primitive:
1821cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	ordinal object_type
1822cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| optional_ordinal_last object_type
1823cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1824cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1825cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectobject_type:
1826cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	BOX
1827cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| CIRCLE
1828cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ELLIPSE
1829cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ARC
1830cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LINE
1831cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ARROW
1832cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SPLINE
1833cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '[' ']'
1834cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| TEXT
1835cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1836cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1837cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectlabel_path:
1838cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	'.' LABEL
1839cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| label_path '.' LABEL
1840cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1841cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1842cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectrelative_path:
1843cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	corner							%prec CHOP
1844cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* give this a lower precedence than LEFT and RIGHT so that
1845cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	   [A: box] with .A left == [A: box] with (.A left) */
1846cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| label_path						%prec TEXT
1847cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| label_path corner
1848cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1849cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1850cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectpath:
1851cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	relative_path
1852cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '(' relative_path ',' relative_path ')'
1853cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project		{}
1854cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	/* The rest of these rules are a compatibility sop. */
1855cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ORDINAL LAST object_type relative_path
1856cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LAST object_type relative_path
1857cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ORDINAL object_type relative_path
1858cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LABEL relative_path
1859cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1860cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1861cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectcorner:
1862cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	DOT_N
1863cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_E
1864cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_W
1865cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_S
1866cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_NE
1867cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_SE
1868cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_NW
1869cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_SW
1870cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_C
1871cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_START
1872cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| DOT_END
1873cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| TOP
1874cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| BOTTOM
1875cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEFT
1876cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| RIGHT
1877cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| UPPER LEFT
1878cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LOWER LEFT
1879cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| UPPER RIGHT
1880cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LOWER RIGHT
1881cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LEFT_CORNER
1882cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| RIGHT_CORNER
1883cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| UPPER LEFT_CORNER
1884cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LOWER LEFT_CORNER
1885cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| UPPER RIGHT_CORNER
1886cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LOWER RIGHT_CORNER
1887cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| NORTH
1888cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SOUTH
1889cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| EAST
1890cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| WEST
1891cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| CENTER
1892cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| START
1893cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| END
1894cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
1895cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project
1896cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectexpr:
1897cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	VARIABLE
1898cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| NUMBER
1899cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| place DOT_X
1900cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| place DOT_Y
1901cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| place DOT_HT
1902cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| place DOT_WID
1903cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| place DOT_RAD
1904cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '+' expr
1905cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '-' expr
1906cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '*' expr
1907cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '/' expr
1908cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '%' expr
1909cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '^' expr
1910cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '-' expr						%prec '!'
1911cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '(' any_expr ')'
1912cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SIN '(' any_expr ')'
1913cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| COS '(' any_expr ')'
1914cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| ATAN2 '(' any_expr ',' any_expr ')'
1915cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| LOG '(' any_expr ')'
1916cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| EXP '(' any_expr ')'
1917cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SQRT '(' any_expr ')'
1918cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| K_MAX '(' any_expr ',' any_expr ')'
1919cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| K_MIN '(' any_expr ',' any_expr ')'
1920cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| INT '(' any_expr ')'
1921cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| RAND '(' any_expr ')'
1922cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| RAND '(' ')'
1923cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| SRAND '(' any_expr ')'
1924cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '<' expr
1925cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr LESSEQUAL expr
1926cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr '>' expr
1927cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr GREATEREQUAL expr
1928cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr EQUALEQUAL expr
1929cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr NOTEQUAL expr
1930cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr ANDAND expr
1931cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| expr OROR expr
1932cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	| '!' expr
1933cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project	;
193405436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
193505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
193605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl INPUT
193705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
193805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl For example, in pic:
193905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
194005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   .PS
194105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   A: circle "A"
194205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   B: A left
194305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   circle "B" at B
194405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   .PE
194505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl
194605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl Even using groff 1.19.2, the 3rd line above is a syntax error.  Change
194705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl "left" to "right", and it still is.  However, add "upper" or "lower" before
194805436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl "left or "right" and it's accepted to mean ".nw", ".ne", ".sw", or ".se".
194905436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl (There seem to be no aliases for "north" and "south" that can stand alone
195005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl without being followed by "of".)
195105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[VARIABLE, '=', LABEL, LEFT, DOT_X]],
195205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
195305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl BISON-STDERR
195405436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[input.y:470.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path
195505436638acc7c010349a69c3395f1a57c642dc62Ying Wang]],
195605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
195705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl LAST-STATE
195805436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]], [[422]], [[canonical LR]], [[4833]], [[427]])],
195905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
196005436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl LALR1-DIFF not used for canonical LR(1) because the diff is huge.
196105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl Isocore map from LALR(1) state number to new state number plus descriptions
196205436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl of any change in the actions resulting in a change in accepted language:
196305436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 102 -> 423: reduce -> shift on LEFT and RIGHT
196405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 237 -> 425
196505436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 266 -> 424
196605436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 339 -> 426
196705436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl   - 383 -> 427
196805436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]], [],
196905436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[@@ -1223,7 +1223,7 @@
197005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
197105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
197205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
197305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
197405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
197505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
197605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
197705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
197805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -1377,7 +1377,7 @@
197905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
198005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
198105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
198205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
198305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
198405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
198505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
198605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
198705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -1854,7 +1854,7 @@
198805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
198905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 162
199005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
199105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
199205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
199305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
199405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
199505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
199605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -2047,7 +2047,7 @@
199705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
199805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
199905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
200005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
200105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
200205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
200305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
200405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
200505436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -2571,7 +2571,7 @@
200605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 99
200705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 191
200805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 101
200905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
201005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
201105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
201205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
201305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
201405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -2732,7 +2732,7 @@
201505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
201605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
201705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
201805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
201905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
202005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
202105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
202205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
202305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -2875,7 +2875,7 @@
202405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
202505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
202605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
202705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
202805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
202905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
203005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
203105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
203205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -3018,7 +3018,7 @@
203305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
203405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
203505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
203605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
203705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
203805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
203905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
204005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
204105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -3256,7 +3256,7 @@
204205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
204305436638acc7c010349a69c3395f1a57c642dc62Ying Wang State 102
204405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
204505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-  146 place: label .  [$end, LABEL, VARIABLE, NUMBER, TEXT, ORDINAL, LEFT_ARROW_HEAD, RIGHT_ARROW_HEAD, DOUBLE_ARROW_HEAD, LAST, UP, DOWN, LEFT, RIGHT, HEIGHT, RADIUS, WIDTH, DIAMETER, FROM, TO, AT, WITH, BY, THEN, SOLID, DOTTED, DASHED, CHOP, SAME, INVISIBLE, LJUST, RJUST, ABOVE, BELOW, AND, HERE, DOT_X, DOT_Y, DOT_HT, DOT_WID, DOT_RAD, SIN, COS, ATAN2, LOG, EXP, SQRT, K_MAX, K_MIN, INT, RAND, SRAND, CW, CCW, THICKNESS, FILL, COLORED, OUTLINED, SHADED, ALIGNED, SPRINTF, '(', '`', ',', '>', '+', '-', '!', ';', '}', '@:>@', ')']
204605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146 place: label .  [$end, LABEL, VARIABLE, NUMBER, TEXT, ORDINAL, LEFT_ARROW_HEAD, RIGHT_ARROW_HEAD, DOUBLE_ARROW_HEAD, LAST, UP, DOWN, LEFT, RIGHT, HEIGHT, RADIUS, WIDTH, DIAMETER, FROM, TO, AT, WITH, BY, THEN, SOLID, DOTTED, DASHED, CHOP, SAME, INVISIBLE, LJUST, RJUST, ABOVE, BELOW, HERE, DOT_X, DOT_Y, DOT_HT, DOT_WID, DOT_RAD, SIN, COS, ATAN2, LOG, EXP, SQRT, K_MAX, K_MIN, INT, RAND, SRAND, CW, CCW, THICKNESS, FILL, COLORED, OUTLINED, SHADED, ALIGNED, SPRINTF, '(', '`', '+', '-', '!', ';', '}', '@:>@']
204705436638acc7c010349a69c3395f1a57c642dc62Ying Wang   147      | label . corner
204805436638acc7c010349a69c3395f1a57c642dc62Ying Wang   153 label: label . '.' LABEL
204905436638acc7c010349a69c3395f1a57c642dc62Ying Wang   180 corner: . DOT_N
205005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -3645,7 +3645,7 @@
205105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
205205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
205305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
205405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
205505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
205605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
205705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
205805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
205905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -3804,7 +3804,7 @@
206005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 239
206105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
206205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
206305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
206405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
206505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
206605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
206705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
206805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -4481,7 +4481,7 @@
206905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 89 (object_spec)
207005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
207105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
207205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
207305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
207405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
207505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
207605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
207705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -4673,7 +4673,7 @@
207805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 91 (object_spec)
207905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
208005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
208105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
208205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
208305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
208405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
208505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
208605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -4867,7 +4867,7 @@
208705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 95 (object_spec)
208805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
208905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
209005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
209105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
209205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
209305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
209405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
209505436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5065,7 +5065,7 @@
209605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 93 (object_spec)
209705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
209805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
209905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
210005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
210105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
210205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
210305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
210405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5260,7 +5260,7 @@
210505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
210605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
210705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
210805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
210905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
211005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
211105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
211205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
211305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5403,7 +5403,7 @@
211405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
211505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
211605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
211705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
211805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
211905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
212005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
212105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
212205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5546,7 +5546,7 @@
212305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
212405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
212505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
212605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
212705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
212805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
212905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
213005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
213105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -5689,7 +5689,7 @@
213205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
213305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
213405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
213505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
213605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
213705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
213805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
213905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
214005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -6475,7 +6475,7 @@
214105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
214205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 280
214305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
214405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
214505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
214605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
214705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
214805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
214905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -6633,7 +6633,7 @@
215005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 105 (object_spec)
215105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
215205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
215305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
215405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
215505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
215605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
215705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
215805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -6825,7 +6825,7 @@
215905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 107 (object_spec)
216005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
216105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
216205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
216305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
216405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
216505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
216605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
216705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -7017,7 +7017,7 @@
216805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 114 (object_spec)
216905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
217005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
217105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
217205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
217305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
217405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
217505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
217605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -7264,7 +7264,7 @@
217705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
217805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
217905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
218005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
218105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
218205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
218305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
218405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
218505436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -7408,7 +7408,7 @@
218605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 109 (object_spec)
218705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
218805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
218905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
219005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
219105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
219205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
219305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
219405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -7819,12 +7819,12 @@
219505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 296
219605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 100
219705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 297
219805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
219905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
220005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
220105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
220205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
220305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     corner                 go to state 106
220405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    expr                   go to state 266
220505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr                   go to state 424
220605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
220705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
220805436638acc7c010349a69c3395f1a57c642dc62Ying Wang State 165
220905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -7987,7 +7987,7 @@
221005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
221105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
221205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
221305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
221405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
221505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
221605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
221705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
221805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -8172,7 +8172,7 @@
221905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
222005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
222105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
222205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
222305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
222405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
222505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
222605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
222705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -8333,7 +8333,7 @@
222805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
222905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
223005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
223105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
223205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
223305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
223405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
223505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
223605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -8494,7 +8494,7 @@
223705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
223805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
223905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
224005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
224105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
224205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
224305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
224405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
224505436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -8655,7 +8655,7 @@
224605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
224705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
224805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
224905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
225005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
225105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
225205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
225305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
225405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -8816,7 +8816,7 @@
225505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
225605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
225705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
225805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
225905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
226005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
226105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
226205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
226305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -8977,7 +8977,7 @@
226405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
226505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
226605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
226705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
226805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
226905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
227005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
227105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
227205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -9138,7 +9138,7 @@
227305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
227405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
227505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
227605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
227705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
227805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
227905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
228005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
228105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -9299,7 +9299,7 @@
228205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
228305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
228405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
228505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
228605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
228705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
228805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
228905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
229005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -9460,7 +9460,7 @@
229105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
229205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
229305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
229405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
229505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
229605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
229705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
229805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
229905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -9623,7 +9623,7 @@
230005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
230105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
230205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
230305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
230405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
230505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
230605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
230705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
230805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -9784,7 +9784,7 @@
230905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
231005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
231105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
231205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
231305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
231405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
231505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
231605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
231705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -9921,7 +9921,7 @@
231805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
231905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 47 (any_expr)
232005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
232105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    between  go to state 237
232205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    between  go to state 425
232305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
232405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
232505436638acc7c010349a69c3395f1a57c642dc62Ying Wang State 193
232605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -10152,7 +10152,7 @@
232705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
232805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 317
232905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
233005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
233105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
233205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
233305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
233405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
233505436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -10298,7 +10298,7 @@
233605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
233705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 318
233805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
233905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
234005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
234105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
234205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
234305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
234405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -10622,7 +10622,7 @@
234505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
234605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
234705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
234805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
234905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
235005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
235105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
235205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
235305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -10765,7 +10765,7 @@
235405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
235505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
235605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
235705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
235805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
235905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
236005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
236105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
236205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -10908,7 +10908,7 @@
236305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
236405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
236505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
236605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
236705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
236805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
236905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
237005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
237105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11051,7 +11051,7 @@
237205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
237305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
237405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
237505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
237605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
237705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
237805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
237905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
238005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11194,7 +11194,7 @@
238105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
238205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
238305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
238405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
238505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
238605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
238705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
238805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
238905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11337,7 +11337,7 @@
239005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
239105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
239205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
239305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
239405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
239505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
239605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
239705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
239805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11480,7 +11480,7 @@
239905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
240005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
240105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
240205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
240305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
240405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
240505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
240605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
240705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11637,7 +11637,7 @@
240805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 99
240905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 100
241005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 101
241105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
241205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
241305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
241405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
241505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
241605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11780,7 +11780,7 @@
241705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
241805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
241905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
242005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
242105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
242205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
242305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
242405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
242505436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -11923,7 +11923,7 @@
242605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
242705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
242805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
242905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
243005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
243105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
243205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
243305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
243405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12066,7 +12066,7 @@
243505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
243605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
243705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
243805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
243905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
244005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
244105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
244205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
244305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12209,7 +12209,7 @@
244405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
244505436638acc7c010349a69c3395f1a57c642dc62Ying Wang
244605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
244705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
244805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
244905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
245005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
245105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
245205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12352,7 +12352,7 @@
245305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
245405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
245505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
245605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
245705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
245805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
245905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
246005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
246105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12495,7 +12495,7 @@
246205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
246305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
246405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
246505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
246605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
246705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
246805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
246905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
247005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12638,7 +12638,7 @@
247105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
247205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
247305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
247405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
247505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
247605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
247705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
247805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
247905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12794,12 +12794,12 @@
248005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 99
248105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 100
248205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 101
248305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
248405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
248505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
248605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
248705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
248805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     corner                 go to state 106
248905436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    expr                   go to state 266
249005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr                   go to state 424
249105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
249205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
249305436638acc7c010349a69c3395f1a57c642dc62Ying Wang State 238
249405436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -12937,7 +12937,7 @@
249505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
249605436638acc7c010349a69c3395f1a57c642dc62Ying Wang
249705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
249805436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
249905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
250005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
250105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
250205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
250305436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -13160,7 +13160,7 @@
250405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 342
250505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
250605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
250705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
250805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
250905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
251005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
251105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
251205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -13319,7 +13319,7 @@
251305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 344
251405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
251505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
251605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
251705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
251805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
251905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
252005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
252105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -13502,7 +13502,7 @@
252205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 348
252305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
252405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
252505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
252605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
252705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
252805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
252905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
253005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -13661,7 +13661,7 @@
253105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 350
253205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
253305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
253405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
253505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
253605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
253705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
253805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
253905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -13804,7 +13804,7 @@
254005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
254105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
254205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
254305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
254405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
254505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
254605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
254705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
254805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -14747,7 +14747,7 @@
254905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 99
255005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 191
255105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 101
255205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
255305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
255405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
255505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
255605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
255705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -15074,7 +15074,7 @@
255805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
255905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 365
256005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
256105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
256205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
256305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
256405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
256505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
256605436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -15693,12 +15693,12 @@
256705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 99
256805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 100
256905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 101
257005436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
257105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
257205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
257305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
257405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
257505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     corner                 go to state 106
257605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    expr                   go to state 266
257705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr                   go to state 424
257805436638acc7c010349a69c3395f1a57c642dc62Ying Wang
257905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
258005436638acc7c010349a69c3395f1a57c642dc62Ying Wang State 315
258105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -16124,7 +16124,7 @@
258205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
258305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 239 (expr)
258405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
258505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    between  go to state 237
258605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    between  go to state 425
258705436638acc7c010349a69c3395f1a57c642dc62Ying Wang
258805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     Conflict between rule 239 and token OF resolved as shift ('<' < OF).
258905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     Conflict between rule 239 and token BETWEEN resolved as shift ('<' < BETWEEN).
259005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -17234,7 +17234,7 @@
259105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
259205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
259305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
259405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
259505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
259605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
259705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
259805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
259905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -17416,7 +17416,7 @@
260005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
260105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
260205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
260305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
260405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
260505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
260605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
260705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
260805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -17577,7 +17577,7 @@
260905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text_expr              go to state 112
261005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     text                   go to state 113
261105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
261205436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
261305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
261405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
261505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
261605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
261705436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -17772,12 +17772,12 @@
261805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     position_not_place     go to state 99
261905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     expr_pair              go to state 100
262005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 101
262105436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
262205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
262305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
262405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
262505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
262605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     corner                 go to state 106
262705436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    expr                   go to state 266
262805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr                   go to state 424
262905436638acc7c010349a69c3395f1a57c642dc62Ying Wang
263005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
263105436638acc7c010349a69c3395f1a57c642dc62Ying Wang State 383
263205436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -18071,7 +18071,7 @@
263305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
263405436638acc7c010349a69c3395f1a57c642dc62Ying Wang
263505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
263605436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
263705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
263805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
263905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
264005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
264105436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -18221,7 +18221,7 @@
264205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
264305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
264405436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
264505436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
264605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
264705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
264805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
264905436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
265005436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -18830,7 +18830,7 @@
265105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
265205436638acc7c010349a69c3395f1a57c642dc62Ying Wang
265305436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
265405436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
265505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
265605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
265705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
265805436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
265905436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -18987,7 +18987,7 @@
266005436638acc7c010349a69c3395f1a57c642dc62Ying Wang     '!'           shift, and go to state 94
266105436638acc7c010349a69c3395f1a57c642dc62Ying Wang
266205436638acc7c010349a69c3395f1a57c642dc62Ying Wang     place                  go to state 114
266305436638acc7c010349a69c3395f1a57c642dc62Ying Wang-    label                  go to state 102
266405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
266505436638acc7c010349a69c3395f1a57c642dc62Ying Wang     ordinal                go to state 103
266605436638acc7c010349a69c3395f1a57c642dc62Ying Wang     optional_ordinal_last  go to state 104
266705436638acc7c010349a69c3395f1a57c642dc62Ying Wang     nth_primitive          go to state 105
266805436638acc7c010349a69c3395f1a57c642dc62Ying Wang@@ -19089,3 +19089,440 @@
266905436638acc7c010349a69c3395f1a57c642dc62Ying Wang    29 placeless_element: FOR VARIABLE '=' expr TO expr optional_by DO $@6 DELIMITED .
267005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
267105436638acc7c010349a69c3395f1a57c642dc62Ying Wang     $default  reduce using rule 29 (placeless_element)
267205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
267305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
267405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 423
267505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
267605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146 place: label .  [$end, AND, DOT_X, DOT_Y, DOT_HT, DOT_WID, DOT_RAD, ',', '>', '+', '-', ';', '}', '@:>@', ')']
267705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147      | label . corner
267805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  153 label: label . '.' LABEL
267905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  180 corner: . DOT_N
268005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  181       | . DOT_E
268105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  182       | . DOT_W
268205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  183       | . DOT_S
268305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  184       | . DOT_NE
268405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  185       | . DOT_SE
268505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  186       | . DOT_NW
268605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  187       | . DOT_SW
268705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  188       | . DOT_C
268805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  189       | . DOT_START
268905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  190       | . DOT_END
269005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  191       | . TOP
269105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  192       | . BOTTOM
269205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  193       | . LEFT
269305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  194       | . RIGHT
269405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  195       | . UPPER LEFT
269505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  196       | . LOWER LEFT
269605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  197       | . UPPER RIGHT
269705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  198       | . LOWER RIGHT
269805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  199       | . LEFT_CORNER
269905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  200       | . RIGHT_CORNER
270005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  201       | . UPPER LEFT_CORNER
270105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  202       | . LOWER LEFT_CORNER
270205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  203       | . UPPER RIGHT_CORNER
270305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  204       | . LOWER RIGHT_CORNER
270405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  205       | . NORTH
270505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  206       | . SOUTH
270605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  207       | . EAST
270705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  208       | . WEST
270805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  209       | . CENTER
270905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  210       | . START
271005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  211       | . END
271105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
271205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEFT          shift, and go to state 53
271305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RIGHT         shift, and go to state 54
271405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_N         shift, and go to state 56
271505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_E         shift, and go to state 57
271605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_W         shift, and go to state 58
271705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_S         shift, and go to state 59
271805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_NE        shift, and go to state 60
271905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_SE        shift, and go to state 61
272005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_NW        shift, and go to state 62
272105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_SW        shift, and go to state 63
272205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_C         shift, and go to state 64
272305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_START     shift, and go to state 65
272405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_END       shift, and go to state 66
272505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    TOP           shift, and go to state 78
272605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    BOTTOM        shift, and go to state 79
272705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    UPPER         shift, and go to state 80
272805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LOWER         shift, and go to state 81
272905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEFT_CORNER   shift, and go to state 82
273005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RIGHT_CORNER  shift, and go to state 83
273105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NORTH         shift, and go to state 84
273205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SOUTH         shift, and go to state 85
273305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    EAST          shift, and go to state 86
273405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    WEST          shift, and go to state 87
273505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    CENTER        shift, and go to state 88
273605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    END           shift, and go to state 89
273705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    START         shift, and go to state 90
273805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '.'           shift, and go to state 204
273905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
274005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    $default  reduce using rule 146 (place)
274105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
274205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    corner  go to state 205
274305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
274405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
274505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 424
274605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
274705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140 position_not_place: expr . between position AND position
274805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                   | expr . '<' position ',' position '>'
274905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  142 between: . BETWEEN
275005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  143        | . OF THE WAY BETWEEN
275105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144 expr_pair: expr . ',' expr
275205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  219 expr: expr . '+' expr
275305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  220     | expr . '-' expr
275405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  221     | expr . '*' expr
275505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  222     | expr . '/' expr
275605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  223     | expr . '%' expr
275705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  224     | expr . '^' expr
275805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  239     | expr . '<' expr
275905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  240     | expr . LESSEQUAL expr
276005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  241     | expr . '>' expr
276105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  242     | expr . GREATEREQUAL expr
276205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  243     | expr . EQUALEQUAL expr
276305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  244     | expr . NOTEQUAL expr
276405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  245     | expr . ANDAND expr
276505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  246     | expr . OROR expr
276605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
276705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    OF            shift, and go to state 220
276805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    BETWEEN       shift, and go to state 221
276905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ANDAND        shift, and go to state 222
277005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    OROR          shift, and go to state 223
277105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NOTEQUAL      shift, and go to state 224
277205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    EQUALEQUAL    shift, and go to state 225
277305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LESSEQUAL     shift, and go to state 226
277405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    GREATEREQUAL  shift, and go to state 227
277505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ','           shift, and go to state 228
277605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '<'           shift, and go to state 229
277705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '>'           shift, and go to state 230
277805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '+'           shift, and go to state 231
277905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'           shift, and go to state 232
278005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '*'           shift, and go to state 233
278105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '/'           shift, and go to state 234
278205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '%'           shift, and go to state 235
278305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '^'           shift, and go to state 236
278405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
278505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    between  go to state 425
278605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
278705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
278805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 425
278905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
279005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134 position: . position_not_place
279105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | . place
279205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136 position_not_place: . expr_pair
279305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  137                   | . position '+' expr_pair
279405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  138                   | . position '-' expr_pair
279505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139                   | . '(' position ',' position ')'
279605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                   | . expr between position AND position
279705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                   | expr between . position AND position
279805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                   | . expr '<' position ',' position '>'
279905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144 expr_pair: . expr ',' expr
280005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  145          | . '(' expr_pair ')'
280105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146 place: . label
280205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147      | . label corner
280305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  148      | . corner label
280405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  149      | . corner OF label
280505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150      | . HERE
280605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151 label: . LABEL
280705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  152      | . nth_primitive
280805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  153      | . label '.' LABEL
280905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 ordinal: . ORDINAL
281005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155        | . '`' any_expr TH
281105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156 optional_ordinal_last: . LAST
281205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  157                      | . ordinal LAST
281305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  158 nth_primitive: . ordinal object_type
281405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  159              | . optional_ordinal_last object_type
281505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  180 corner: . DOT_N
281605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  181       | . DOT_E
281705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  182       | . DOT_W
281805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  183       | . DOT_S
281905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  184       | . DOT_NE
282005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  185       | . DOT_SE
282105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  186       | . DOT_NW
282205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  187       | . DOT_SW
282305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  188       | . DOT_C
282405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  189       | . DOT_START
282505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  190       | . DOT_END
282605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  191       | . TOP
282705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  192       | . BOTTOM
282805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  193       | . LEFT
282905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  194       | . RIGHT
283005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  195       | . UPPER LEFT
283105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  196       | . LOWER LEFT
283205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  197       | . UPPER RIGHT
283305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  198       | . LOWER RIGHT
283405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  199       | . LEFT_CORNER
283505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  200       | . RIGHT_CORNER
283605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  201       | . UPPER LEFT_CORNER
283705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  202       | . LOWER LEFT_CORNER
283805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  203       | . UPPER RIGHT_CORNER
283905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  204       | . LOWER RIGHT_CORNER
284005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  205       | . NORTH
284105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  206       | . SOUTH
284205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  207       | . EAST
284305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  208       | . WEST
284405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  209       | . CENTER
284505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  210       | . START
284605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  211       | . END
284705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  212 expr: . VARIABLE
284805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  213     | . NUMBER
284905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  214     | . place DOT_X
285005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  215     | . place DOT_Y
285105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  216     | . place DOT_HT
285205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  217     | . place DOT_WID
285305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  218     | . place DOT_RAD
285405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  219     | . expr '+' expr
285505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  220     | . expr '-' expr
285605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  221     | . expr '*' expr
285705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  222     | . expr '/' expr
285805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  223     | . expr '%' expr
285905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  224     | . expr '^' expr
286005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  225     | . '-' expr
286105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  226     | . '(' any_expr ')'
286205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  227     | . SIN '(' any_expr ')'
286305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  228     | . COS '(' any_expr ')'
286405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  229     | . ATAN2 '(' any_expr ',' any_expr ')'
286505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  230     | . LOG '(' any_expr ')'
286605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  231     | . EXP '(' any_expr ')'
286705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  232     | . SQRT '(' any_expr ')'
286805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  233     | . K_MAX '(' any_expr ',' any_expr ')'
286905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  234     | . K_MIN '(' any_expr ',' any_expr ')'
287005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  235     | . INT '(' any_expr ')'
287105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  236     | . RAND '(' any_expr ')'
287205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  237     | . RAND '(' ')'
287305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  238     | . SRAND '(' any_expr ')'
287405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  239     | . expr '<' expr
287505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  240     | . expr LESSEQUAL expr
287605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  241     | . expr '>' expr
287705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  242     | . expr GREATEREQUAL expr
287805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  243     | . expr EQUALEQUAL expr
287905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  244     | . expr NOTEQUAL expr
288005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  245     | . expr ANDAND expr
288105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  246     | . expr OROR expr
288205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  247     | . '!' expr
288305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
288405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LABEL         shift, and go to state 48
288505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    VARIABLE      shift, and go to state 49
288605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NUMBER        shift, and go to state 50
288705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ORDINAL       shift, and go to state 51
288805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LAST          shift, and go to state 52
288905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEFT          shift, and go to state 53
289005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RIGHT         shift, and go to state 54
289105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    HERE          shift, and go to state 55
289205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_N         shift, and go to state 56
289305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_E         shift, and go to state 57
289405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_W         shift, and go to state 58
289505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_S         shift, and go to state 59
289605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_NE        shift, and go to state 60
289705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_SE        shift, and go to state 61
289805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_NW        shift, and go to state 62
289905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_SW        shift, and go to state 63
290005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_C         shift, and go to state 64
290105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_START     shift, and go to state 65
290205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_END       shift, and go to state 66
290305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SIN           shift, and go to state 67
290405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    COS           shift, and go to state 68
290505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ATAN2         shift, and go to state 69
290605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LOG           shift, and go to state 70
290705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    EXP           shift, and go to state 71
290805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SQRT          shift, and go to state 72
290905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    K_MAX         shift, and go to state 73
291005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    K_MIN         shift, and go to state 74
291105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    INT           shift, and go to state 75
291205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RAND          shift, and go to state 76
291305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SRAND         shift, and go to state 77
291405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    TOP           shift, and go to state 78
291505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    BOTTOM        shift, and go to state 79
291605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    UPPER         shift, and go to state 80
291705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LOWER         shift, and go to state 81
291805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEFT_CORNER   shift, and go to state 82
291905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RIGHT_CORNER  shift, and go to state 83
292005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NORTH         shift, and go to state 84
292105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SOUTH         shift, and go to state 85
292205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    EAST          shift, and go to state 86
292305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    WEST          shift, and go to state 87
292405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    CENTER        shift, and go to state 88
292505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    END           shift, and go to state 89
292605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    START         shift, and go to state 90
292705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '('           shift, and go to state 91
292805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '`'           shift, and go to state 92
292905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'           shift, and go to state 93
293005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '!'           shift, and go to state 94
293105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
293205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    position               go to state 426
293305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    position_not_place     go to state 99
293405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr_pair              go to state 100
293505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    place                  go to state 101
293605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
293705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ordinal                go to state 103
293805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    optional_ordinal_last  go to state 104
293905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    nth_primitive          go to state 105
294005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    corner                 go to state 106
294105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr                   go to state 424
294205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
294305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
294405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 426
294505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
294605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  137 position_not_place: position . '+' expr_pair
294705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  138                   | position . '-' expr_pair
294805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                   | expr between position . AND position
294905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
295005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    AND  shift, and go to state 427
295105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '+'  shift, and go to state 197
295205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'  shift, and go to state 198
295305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
295405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
295505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+State 427
295605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
295705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  134 position: . position_not_place
295805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  135         | . place
295905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  136 position_not_place: . expr_pair
296005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  137                   | . position '+' expr_pair
296105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  138                   | . position '-' expr_pair
296205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  139                   | . '(' position ',' position ')'
296305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                   | . expr between position AND position
296405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  140                   | expr between position AND . position
296505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  141                   | . expr '<' position ',' position '>'
296605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  144 expr_pair: . expr ',' expr
296705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  145          | . '(' expr_pair ')'
296805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  146 place: . label
296905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  147      | . label corner
297005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  148      | . corner label
297105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  149      | . corner OF label
297205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  150      | . HERE
297305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  151 label: . LABEL
297405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  152      | . nth_primitive
297505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  153      | . label '.' LABEL
297605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  154 ordinal: . ORDINAL
297705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  155        | . '`' any_expr TH
297805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  156 optional_ordinal_last: . LAST
297905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  157                      | . ordinal LAST
298005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  158 nth_primitive: . ordinal object_type
298105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  159              | . optional_ordinal_last object_type
298205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  180 corner: . DOT_N
298305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  181       | . DOT_E
298405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  182       | . DOT_W
298505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  183       | . DOT_S
298605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  184       | . DOT_NE
298705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  185       | . DOT_SE
298805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  186       | . DOT_NW
298905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  187       | . DOT_SW
299005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  188       | . DOT_C
299105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  189       | . DOT_START
299205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  190       | . DOT_END
299305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  191       | . TOP
299405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  192       | . BOTTOM
299505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  193       | . LEFT
299605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  194       | . RIGHT
299705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  195       | . UPPER LEFT
299805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  196       | . LOWER LEFT
299905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  197       | . UPPER RIGHT
300005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  198       | . LOWER RIGHT
300105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  199       | . LEFT_CORNER
300205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  200       | . RIGHT_CORNER
300305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  201       | . UPPER LEFT_CORNER
300405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  202       | . LOWER LEFT_CORNER
300505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  203       | . UPPER RIGHT_CORNER
300605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  204       | . LOWER RIGHT_CORNER
300705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  205       | . NORTH
300805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  206       | . SOUTH
300905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  207       | . EAST
301005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  208       | . WEST
301105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  209       | . CENTER
301205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  210       | . START
301305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  211       | . END
301405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  212 expr: . VARIABLE
301505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  213     | . NUMBER
301605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  214     | . place DOT_X
301705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  215     | . place DOT_Y
301805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  216     | . place DOT_HT
301905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  217     | . place DOT_WID
302005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  218     | . place DOT_RAD
302105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  219     | . expr '+' expr
302205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  220     | . expr '-' expr
302305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  221     | . expr '*' expr
302405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  222     | . expr '/' expr
302505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  223     | . expr '%' expr
302605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  224     | . expr '^' expr
302705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  225     | . '-' expr
302805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  226     | . '(' any_expr ')'
302905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  227     | . SIN '(' any_expr ')'
303005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  228     | . COS '(' any_expr ')'
303105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  229     | . ATAN2 '(' any_expr ',' any_expr ')'
303205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  230     | . LOG '(' any_expr ')'
303305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  231     | . EXP '(' any_expr ')'
303405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  232     | . SQRT '(' any_expr ')'
303505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  233     | . K_MAX '(' any_expr ',' any_expr ')'
303605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  234     | . K_MIN '(' any_expr ',' any_expr ')'
303705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  235     | . INT '(' any_expr ')'
303805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  236     | . RAND '(' any_expr ')'
303905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  237     | . RAND '(' ')'
304005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  238     | . SRAND '(' any_expr ')'
304105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  239     | . expr '<' expr
304205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  240     | . expr LESSEQUAL expr
304305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  241     | . expr '>' expr
304405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  242     | . expr GREATEREQUAL expr
304505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  243     | . expr EQUALEQUAL expr
304605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  244     | . expr NOTEQUAL expr
304705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  245     | . expr ANDAND expr
304805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  246     | . expr OROR expr
304905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+  247     | . '!' expr
305005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
305105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LABEL         shift, and go to state 48
305205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    VARIABLE      shift, and go to state 49
305305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NUMBER        shift, and go to state 50
305405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ORDINAL       shift, and go to state 51
305505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LAST          shift, and go to state 52
305605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEFT          shift, and go to state 53
305705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RIGHT         shift, and go to state 54
305805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    HERE          shift, and go to state 55
305905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_N         shift, and go to state 56
306005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_E         shift, and go to state 57
306105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_W         shift, and go to state 58
306205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_S         shift, and go to state 59
306305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_NE        shift, and go to state 60
306405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_SE        shift, and go to state 61
306505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_NW        shift, and go to state 62
306605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_SW        shift, and go to state 63
306705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_C         shift, and go to state 64
306805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_START     shift, and go to state 65
306905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    DOT_END       shift, and go to state 66
307005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SIN           shift, and go to state 67
307105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    COS           shift, and go to state 68
307205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ATAN2         shift, and go to state 69
307305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LOG           shift, and go to state 70
307405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    EXP           shift, and go to state 71
307505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SQRT          shift, and go to state 72
307605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    K_MAX         shift, and go to state 73
307705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    K_MIN         shift, and go to state 74
307805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    INT           shift, and go to state 75
307905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RAND          shift, and go to state 76
308005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SRAND         shift, and go to state 77
308105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    TOP           shift, and go to state 78
308205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    BOTTOM        shift, and go to state 79
308305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    UPPER         shift, and go to state 80
308405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LOWER         shift, and go to state 81
308505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    LEFT_CORNER   shift, and go to state 82
308605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    RIGHT_CORNER  shift, and go to state 83
308705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    NORTH         shift, and go to state 84
308805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    SOUTH         shift, and go to state 85
308905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    EAST          shift, and go to state 86
309005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    WEST          shift, and go to state 87
309105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    CENTER        shift, and go to state 88
309205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    END           shift, and go to state 89
309305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    START         shift, and go to state 90
309405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '('           shift, and go to state 91
309505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '`'           shift, and go to state 92
309605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '-'           shift, and go to state 93
309705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    '!'           shift, and go to state 94
309805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+
309905436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    position               go to state 402
310005436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    position_not_place     go to state 99
310105436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr_pair              go to state 100
310205436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    place                  go to state 101
310305436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    label                  go to state 423
310405436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    ordinal                go to state 103
310505436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    optional_ordinal_last  go to state 104
310605436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    nth_primitive          go to state 105
310705436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    corner                 go to state 106
310805436638acc7c010349a69c3395f1a57c642dc62Ying Wang+    expr                   go to state 424
310905436638acc7c010349a69c3395f1a57c642dc62Ying Wang]])],
311005436638acc7c010349a69c3395f1a57c642dc62Ying Wang
311105436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl OTHER-CHECKS
311205436638acc7c010349a69c3395f1a57c642dc62Ying Wang[],
311305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
311405436638acc7c010349a69c3395f1a57c642dc62Ying Wangdnl PARSER-EXIT-VALUE, PARSER-STDOUT, PARSER-STDERR
311505436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]], [[1]], [[0]])],
311605436638acc7c010349a69c3395f1a57c642dc62Ying Wang[],
311705436638acc7c010349a69c3395f1a57c642dc62Ying Wang[AT_COND_CASE([[LALR]],
311805436638acc7c010349a69c3395f1a57c642dc62Ying Wang[[syntax error, unexpected LEFT
311905436638acc7c010349a69c3395f1a57c642dc62Ying Wang]])])
3120