Index: Makefile =================================================================== --- Makefile (revision 539501) +++ Makefile (working copy) @@ -4,7 +4,7 @@ PORTNAME= aegis PORTVERSION= 4.25 DISTVERSIONSUFFIX= .D510 -PORTREVISION= 11 +PORTREVISION= 12 CATEGORIES= devel MASTER_SITES= SF Index: files/patch-aefind_cmdline_y =================================================================== --- files/patch-aefind_cmdline_y (nonexistent) +++ files/patch-aefind_cmdline_y (working copy) @@ -0,0 +1,18 @@ +--- aefind/cmdline.y.orig 2020-06-17 17:53:49.450461000 -0400 ++++ aefind/cmdline.y 2020-06-17 17:54:14.484267000 -0400 +@@ -2,6 +2,7 @@ + * aegis - project change supervisor + * Copyright (C) 1997-1999, 2001-2008, 2011, 2012 Peter Miller + * Copyright (C) 2007 Walter Franzini ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,6 +18,7 @@ + * along with this program. If not, see . + */ + ++%define api.prefix {cmdline_} + %{ + + #include Property changes on: files/patch-aefind_cmdline_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-aeimport_format_rcs_gram_y =================================================================== --- files/patch-aeimport_format_rcs_gram_y (nonexistent) +++ files/patch-aeimport_format_rcs_gram_y (working copy) @@ -0,0 +1,18 @@ +--- aeimport/format/rcs/gram.y.orig 2020-06-17 17:55:08.321101000 -0400 ++++ aeimport/format/rcs/gram.y 2020-06-17 17:55:44.146287000 -0400 +@@ -1,6 +1,7 @@ + /* + * aegis - project change supervisor + * Copyright (C) 2001-2006, 2008, 2012 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,6 +18,7 @@ + * . + */ + ++%define api.prefix {format_rcs_gram_} + %{ + + #include Property changes on: files/patch-aeimport_format_rcs_gram_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-aeimport_format_sccs_gram_y =================================================================== --- files/patch-aeimport_format_sccs_gram_y (nonexistent) +++ files/patch-aeimport_format_sccs_gram_y (working copy) @@ -0,0 +1,18 @@ +--- aeimport/format/sccs/gram.y.orig 2020-06-17 17:56:11.007600000 -0400 ++++ aeimport/format/sccs/gram.y 2020-06-17 17:56:29.944250000 -0400 +@@ -1,6 +1,7 @@ + /* + * aegis - project change supervisor + * Copyright (C) 2001-2008, 2012 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -16,6 +17,7 @@ + * along with this program. If not, see . + */ + ++%define api.prefix {format_sccs_gram_} + %{ + + #include Property changes on: files/patch-aeimport_format_sccs_gram_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-common_gettime_y =================================================================== --- files/patch-common_gettime_y (nonexistent) +++ files/patch-common_gettime_y (working copy) @@ -0,0 +1,18 @@ +--- common/gettime.y.orig 2020-06-17 17:45:06.095616000 -0400 ++++ common/gettime.y 2020-06-17 17:45:33.928740000 -0400 +@@ -1,6 +1,7 @@ + /* + * aegis - project change supervisor + * Copyright (C) 1991-1995, 1997-1999, 2002-2008, 2012 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -21,6 +22,7 @@ + * Steven Bellovin + */ + ++%define api.prefix {gettime_} + %token AGO + %token COLON + %token COMMA Property changes on: files/patch-common_gettime_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-fmtgen_lex_cc =================================================================== --- files/patch-fmtgen_lex_cc (nonexistent) +++ files/patch-fmtgen_lex_cc (working copy) @@ -0,0 +1,19 @@ +--- fmtgen/lex.cc.orig 2020-06-17 17:44:00.521184000 -0400 ++++ fmtgen/lex.cc 2020-06-17 17:44:09.243453000 -0400 +@@ -1,6 +1,7 @@ + // + // aegis - project change supervisor + // Copyright (C) 1991-1995, 1997, 1999, 2002-2008, 2012 Peter Miller ++// Copyright (C) 2020 Aryeh M. Friedman + // + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by +@@ -48,7 +49,7 @@ + + static file_ty *file; + static int error_count; +-extern parse_STYPE parse_lval; ++extern PARSE_STYPE parse_lval; + static nstring_list ifiles; + static nstring_list include_path; + static symtab keyword; Property changes on: files/patch-fmtgen_lex_cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-fmtgen_parse_y =================================================================== --- files/patch-fmtgen_parse_y (nonexistent) +++ files/patch-fmtgen_parse_y (working copy) @@ -0,0 +1,35 @@ +--- fmtgen/parse.y.orig 2020-06-17 17:42:24.867502000 -0400 ++++ fmtgen/parse.y 2020-06-17 17:43:25.898841000 -0400 +@@ -2,6 +2,7 @@ + * aegis - project change supervisor + * Copyright (C) 1991-1994, 1997-1999, 2001-2008, 2012 Peter Miller + * Copyright (C) 2007 Walter Franzini ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,8 +18,8 @@ + * along with this program. If not, see . + */ + ++%define api.prefix {parse_} + %{ +- + #include + #include + #include +@@ -208,12 +209,12 @@ + trace(("}\n")); + } + ++int yyparse(void); ++extern int yylex(void); + + void + parse(const generator::pointer &g, const nstring &definition_file) + { +- extern int yyparse(void); +- + /* + * initial name is the basename of the definition file + */ Property changes on: files/patch-fmtgen_parse_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-libaegis_aer_lex_cc =================================================================== --- files/patch-libaegis_aer_lex_cc (nonexistent) +++ files/patch-libaegis_aer_lex_cc (working copy) @@ -0,0 +1,19 @@ +--- libaegis/aer/lex.cc.orig 2020-06-17 18:13:58.645709000 -0400 ++++ libaegis/aer/lex.cc 2020-06-17 18:14:15.245886000 -0400 +@@ -1,6 +1,7 @@ + // + // aegis - project change supervisor + // Copyright (C) 1991-1996, 1998, 1999, 2001-2008, 2012 Peter Miller ++// Copyright (C) 2020 Aryeh M. Friedman + // + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by +@@ -40,7 +41,7 @@ + + static input ip; + static int error_count; +-extern aer_report_STYPE aer_report_lval; ++extern AER_REPORT_STYPE aer_report_lval; + static nstring_accumulator buffer; + static symtab_ty *stp; + Property changes on: files/patch-libaegis_aer_lex_cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-libaegis_aer_report_y =================================================================== --- files/patch-libaegis_aer_report_y (nonexistent) +++ files/patch-libaegis_aer_report_y (working copy) @@ -0,0 +1,18 @@ +--- libaegis/aer/report.y.orig 2020-06-17 17:46:55.348947000 -0400 ++++ libaegis/aer/report.y 2020-06-17 17:47:40.813660000 -0400 +@@ -1,6 +1,7 @@ + /* + * aegis - project change supervisor + * Copyright (C) 1994-1996, 1999, 2002, 2005-2008, 2012 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,6 +18,7 @@ + * . + */ + ++%define api.prefix {aer_report_} + %{ + + #include Property changes on: files/patch-libaegis_aer_report_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-libaegis_gram_y =================================================================== --- files/patch-libaegis_gram_y (nonexistent) +++ files/patch-libaegis_gram_y (working copy) @@ -0,0 +1,18 @@ +--- libaegis/gram.y.orig 2020-06-17 17:49:20.265476000 -0400 ++++ libaegis/gram.y 2020-06-17 17:49:37.193953000 -0400 +@@ -1,6 +1,7 @@ + /* + * aegis - project change supervisor + * Copyright (C) 1991-1994, 1999, 2002, 2004-2006, 2008, 2012 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -17,6 +18,7 @@ + * . + */ + ++%define api.prefix {gram_} + %{ + + #include Property changes on: files/patch-libaegis_gram_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-libaegis_meta_lex_cc =================================================================== --- files/patch-libaegis_meta_lex_cc (nonexistent) +++ files/patch-libaegis_meta_lex_cc (working copy) @@ -0,0 +1,19 @@ +--- libaegis/meta_lex.cc.orig 2020-06-17 18:16:18.858528000 -0400 ++++ libaegis/meta_lex.cc 2020-06-17 18:16:45.666339000 -0400 +@@ -1,6 +1,7 @@ + // + // aegis - project change supervisor + // Copyright (C) 1991-1996, 1998, 1999, 2001-2008, 2010, 2012 Peter Miller ++// Copyright (C) 2020 Aryeh M. Friedman + // + // This program is free software; you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by +@@ -46,7 +47,7 @@ + static input source; + + static int error_count; +-extern gram_STYPE gram_lval; ++extern GRAM_STYPE gram_lval; + static nstring_accumulator buffer; + + Property changes on: files/patch-libaegis_meta_lex_cc ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-libaegis_sub_expr_gram_y =================================================================== --- files/patch-libaegis_sub_expr_gram_y (nonexistent) +++ files/patch-libaegis_sub_expr_gram_y (working copy) @@ -0,0 +1,149 @@ +--- libaegis/sub/expr_gram.y.orig 2020-06-17 17:51:38.214116000 -0400 ++++ libaegis/sub/expr_gram.y 2020-06-17 17:52:02.149971000 -0400 +@@ -1,22 +1,24 @@ + /* +- * aegis - project change supervisor +- * Copyright (C) 1996, 1999, 2002, 2003, 2005-2008 Peter Miller ++ * aegis - project change supervisor ++ * Copyright (C) 1996, 1999, 2002, 2003, 2005-2008 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 3 of the License, or +- * (at your option) any later version. ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 3 of the License, or ++ * (at your option) any later version. + * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. + * +- * You should have received a copy of the GNU General Public License +- * along with this program. If not, see +- * . ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see ++ * . + */ + ++%define api.prefix {sub_expr_gram_} + %{ + + #include +@@ -57,7 +59,7 @@ + + %union + { +- long lv_number; ++ long lv_number; + } + + %type NUMBER expr +@@ -94,7 +96,7 @@ + + trace(("}\n")); + if (bad) +- return ""; ++ return ""; + return nstring::format("%ld", result); + } + +@@ -112,21 +114,21 @@ + /* + * jiggery-pokery for yacc + * +- * Replace all calls to printf with a call to trace_printf. The +- * trace_where_ is needed to set the location, and is safe, because +- * yacc only invokes the printf with an if (be careful, the printf +- * is not in a compound statement). ++ * Replace all calls to printf with a call to trace_printf. The ++ * trace_where_ is needed to set the location, and is safe, because ++ * yacc only invokes the printf with an if (be careful, the printf ++ * is not in a compound statement). + */ + #define printf trace_where_, trace_printf + + /* + * jiggery-pokery for bison + * +- * Replace all calls to fprintf with a call to yydebugger. Ignore +- * the first argument, it will be "stderr". The trace_where_ is +- * needed to set the location, and is safe, because bison only +- * invokes the printf with an if (be careful, the fprintf is not in +- * a compound statement). ++ * Replace all calls to fprintf with a call to yydebugger. Ignore ++ * the first argument, it will be "stderr". The trace_where_ is ++ * needed to set the location, and is safe, because bison only ++ * invokes the printf with an if (be careful, the fprintf is not in ++ * a compound statement). + */ + #define fprintf trace_where_, yydebugger + +@@ -151,40 +153,41 @@ + + grammar: + expr +- { result = $1; } ++ { result = $1; } + ; + + expr + : LP expr RP +- { $$ = $2; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $2; trace(("$$ = %ld;\n", $$)); } + | NUMBER +- { $$ = $1; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $1; trace(("$$ = %ld;\n", $$)); } + | MINUS expr +- %prec UNARY +- { $$ = -$2; trace(("$$ = %ld;\n", $$)); } ++ %prec UNARY ++ { $$ = -$2; trace(("$$ = %ld;\n", $$)); } + | expr PLUS expr +- { $$ = $1 + $3; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $1 + $3; trace(("$$ = %ld;\n", $$)); } + | expr MINUS expr +- { $$ = $1 - $3; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $1 - $3; trace(("$$ = %ld;\n", $$)); } + | expr MUL expr +- { $$ = $1 * $3; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $1 * $3; trace(("$$ = %ld;\n", $$)); } + | expr DIV expr +- { $$ = $3 ? $1 / $3 : 0; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $3 ? $1 / $3 : 0; trace(("$$ = %ld;\n", $$)); } + | expr MOD expr +- { $$ = $3 ? $1 % $3 : 0; trace(("$$ = %ld;\n", $$)); } ++ { $$ = $3 ? $1 % $3 : 0; trace(("$$ = %ld;\n", $$)); } + | expr EQ expr +- { $$ = ($1 == $3); trace(("$$ = %ld;\n", $$)); } ++ { $$ = ($1 == $3); trace(("$$ = %ld;\n", $$)); } + | expr NE expr +- { $$ = ($1 != $3); trace(("$$ = %ld;\n", $$)); } ++ { $$ = ($1 != $3); trace(("$$ = %ld;\n", $$)); } + | expr LT expr +- { $$ = ($1 < $3); trace(("$$ = %ld;\n", $$)); } ++ { $$ = ($1 < $3); trace(("$$ = %ld;\n", $$)); } + | expr LE expr +- { $$ = ($1 <= $3); trace(("$$ = %ld;\n", $$)); } ++ { $$ = ($1 <= $3); trace(("$$ = %ld;\n", $$)); } + | expr GT expr +- { $$ = ($1 > $3); trace(("$$ = %ld;\n", $$)); } ++ { $$ = ($1 > $3); trace(("$$ = %ld;\n", $$)); } + | expr GE expr +- { $$ = ($1 >= $3); trace(("$$ = %ld;\n", $$)); } ++ { $$ = ($1 >= $3); trace(("$$ = %ld;\n", $$)); } + | NOT expr +- %prec UNARY +- { $$ = (!$2); trace(("$$ = %ld;\n", $$)); } ++ %prec UNARY ++ { $$ = (!$2); trace(("$$ = %ld;\n", $$)); } + ; ++// vim: set ts=8 sw=4 et : Property changes on: files/patch-libaegis_sub_expr_gram_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: files/patch-libaegis_sub_plural_gram_y =================================================================== --- files/patch-libaegis_sub_plural_gram_y (nonexistent) +++ files/patch-libaegis_sub_plural_gram_y (working copy) @@ -0,0 +1,373 @@ +--- libaegis/sub/plural_gram.y.orig 2020-06-17 17:52:35.548476000 -0400 ++++ libaegis/sub/plural_gram.y 2020-06-17 17:52:46.221850000 -0400 +@@ -1,22 +1,24 @@ + /* +- * aegis - project change supervisor +- * Copyright (C) 2002-2008 Peter Miller ++ * aegis - project change supervisor ++ * Copyright (C) 2002-2008 Peter Miller ++ * Copyright (C) 2020 Aryeh M. Friedman + * +- * This program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 3 of the License, or +- * (at your option) any later version. ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 3 of the License, or ++ * (at your option) any later version. + * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. + * +- * You should have received a copy of the GNU General Public License +- * along with this program. If not, see +- * . ++ * You should have received a copy of the GNU General Public License ++ * along with this program. If not, see ++ * . + */ + ++%define api.prefix {sub_plural_gram_} + %{ + + #include +@@ -114,9 +116,9 @@ + + trace(("}\n")); + if (bad) +- return 0; ++ return 0; + if (plural >= nplurals) +- return 0; ++ return 0; + return plural; + } + +@@ -132,35 +134,35 @@ + /* + * jiggery-pokery for yacc + * +- * Replace all calls to printf with a call to trace_printf. The +- * trace_where_ is needed to set the location, and is safe, because +- * yacc only invokes the printf with an if (be careful, the printf +- * is not in a compound statement). ++ * Replace all calls to printf with a call to trace_printf. The ++ * trace_where_ is needed to set the location, and is safe, because ++ * yacc only invokes the printf with an if (be careful, the printf ++ * is not in a compound statement). + */ + #define printf trace_where_, trace_printf + + /* + * jiggery-pokery for bison + * +- * Replace all calls to fprintf with a call to yydebugger. Ignore +- * the first argument, it will be "stderr". The trace_where_ is +- * needed to set the location, and is safe, because bison only +- * invokes the printf with an if (be careful, the fprintf is not in +- * a compound statement). ++ * Replace all calls to fprintf with a call to yydebugger. Ignore ++ * the first argument, it will be "stderr". The trace_where_ is ++ * needed to set the location, and is safe, because bison only ++ * invokes the printf with an if (be careful, the fprintf is not in ++ * a compound statement). + */ + #define fprintf trace_where_, yydebugger + + static void + yydebugger(void *, const char *fmt, ...) + { +- va_list ap; +- string_ty *s; ++ va_list ap; ++ string_ty *s; + +- va_start(ap, fmt); +- s = str_vformat(fmt, ap); +- va_end(ap); +- trace_printf("%s", s->str_text); +- str_free(s); ++ va_start(ap, fmt); ++ s = str_vformat(fmt, ap); ++ va_end(ap); ++ trace_printf("%s", s->str_text); ++ str_free(s); + } + + #endif +@@ -170,138 +172,139 @@ + %% + + grammar: +- nplurals SEMI plural +- ; ++ nplurals SEMI plural ++ ; + + nplurals +- : NPLURALS EQU INTEGER +- { +- nplurals = $3; +- } +- ; ++ : NPLURALS EQU INTEGER ++ { ++ nplurals = $3; ++ } ++ ; + + plural +- : PLURAL EQU expr +- { +- plural = $3; +- } +- ; ++ : PLURAL EQU expr ++ { ++ plural = $3; ++ } ++ ; + + expr +- : LP expr RP +- { +- $$ = $2; +- trace(("$$ = %u;\n", $$)); +- } +- | NUMBER +- { +- $$ = number; +- trace(("$$ = %u;\n", $$)); +- } +- | INTEGER +- { +- $$ = $1; +- trace(("$$ = %u;\n", $$)); +- } +- | MINUS expr +- %prec UNARY +- { +- $$ = -$2; +- trace(("$$ = %u;\n", $$)); +- } +- | expr PLUS expr +- { +- $$ = $1 + $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr MINUS expr +- { +- $$ = $1 - $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr MUL expr +- { +- $$ = $1 * $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr DIV expr +- { +- $$ = $3 ? $1 / $3 : 0; +- trace(("$$ = %u;\n", $$)); +- } +- | expr MOD expr +- { +- $$ = $3 ? $1 % $3 : 0; +- trace(("$$ = %u;\n", $$)); +- } +- | expr EQ expr +- { +- $$ = ($1 == $3); +- trace(("$$ = %u;\n", $$)); +- } +- | expr NE expr +- { +- $$ = ($1 != $3); +- trace(("$$ = %u;\n", $$)); +- } +- | expr LT expr +- { +- $$ = ($1 < $3); +- trace(("$$ = %u;\n", $$)); +- } +- | expr LE expr +- { +- $$ = ($1 <= $3); +- trace(("$$ = %u;\n", $$)); +- } +- | expr GT expr +- { +- $$ = ($1 > $3); +- trace(("$$ = %u;\n", $$)); +- } +- | expr GE expr +- { +- $$ = ($1 >= $3); +- trace(("$$ = %u;\n", $$)); +- } +- | NOT expr +- { +- $$ = (!$2); +- trace(("$$ = %u;\n", $$)); +- } +- | BITNOT expr +- { +- $$ = ~$2; +- trace(("$$ = %u;\n", $$)); +- } +- | expr ANDAND expr +- { +- $$ = $1 && $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr BITAND expr +- { +- $$ = $1 & $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr OROR expr +- { +- $$ = $1 || $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr BITOR expr +- { +- $$ = $1 | $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr BITXOR expr +- { +- $$ = $1 ^ $3; +- trace(("$$ = %u;\n", $$)); +- } +- | expr QUEST expr COLON expr +- { +- $$ = $1 ? $3 : $5; +- trace(("$$ = %u;\n", $$)); +- } +- ; ++ : LP expr RP ++ { ++ $$ = $2; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | NUMBER ++ { ++ $$ = number; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | INTEGER ++ { ++ $$ = $1; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | MINUS expr ++ %prec UNARY ++ { ++ $$ = -$2; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr PLUS expr ++ { ++ $$ = $1 + $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr MINUS expr ++ { ++ $$ = $1 - $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr MUL expr ++ { ++ $$ = $1 * $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr DIV expr ++ { ++ $$ = $3 ? $1 / $3 : 0; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr MOD expr ++ { ++ $$ = $3 ? $1 % $3 : 0; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr EQ expr ++ { ++ $$ = ($1 == $3); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr NE expr ++ { ++ $$ = ($1 != $3); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr LT expr ++ { ++ $$ = ($1 < $3); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr LE expr ++ { ++ $$ = ($1 <= $3); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr GT expr ++ { ++ $$ = ($1 > $3); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr GE expr ++ { ++ $$ = ($1 >= $3); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | NOT expr ++ { ++ $$ = (!$2); ++ trace(("$$ = %u;\n", $$)); ++ } ++ | BITNOT expr ++ { ++ $$ = ~$2; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr ANDAND expr ++ { ++ $$ = $1 && $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr BITAND expr ++ { ++ $$ = $1 & $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr OROR expr ++ { ++ $$ = $1 || $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr BITOR expr ++ { ++ $$ = $1 | $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr BITXOR expr ++ { ++ $$ = $1 ^ $3; ++ trace(("$$ = %u;\n", $$)); ++ } ++ | expr QUEST expr COLON expr ++ { ++ $$ = $1 ? $3 : $5; ++ trace(("$$ = %u;\n", $$)); ++ } ++ ; ++// vim: set ts=8 sw=4 et : Property changes on: files/patch-libaegis_sub_plural_gram_y ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property