X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/3fd1d6b2f36722c64f8db77400c6f6a2639ebae0..d49751602c47c91834f96b80aa4674b7a7925262:/data/bison.m4 diff --git a/data/bison.m4 b/data/bison.m4 index b6d9ed73..d01124bb 100644 --- a/data/bison.m4 +++ b/data/bison.m4 @@ -2,7 +2,7 @@ # Language-independent M4 Macros for Bison. -# Copyright (C) 2002, 2004-2012 Free Software Foundation, Inc. +# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc. # 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 @@ -250,30 +250,30 @@ m4_define([b4_integral_parser_tables_map], STATE-NUM.]]) $1([defact], [b4_defact], - [[YYDEFACT[S] -- default reduction number in state S. Performed when -YYTABLE does not specify something else to do. Zero means the default -is an error.]]) + [[YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. +Performed when YYTABLE does not specify something else to do. Zero +means the default is an error.]]) $1([pgoto], [b4_pgoto], [[YYPGOTO[NTERM-NUM].]]) $1([defgoto], [b4_defgoto], [[YYDEFGOTO[NTERM-NUM].]]) $1([table], [b4_table], - [[YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If -positive, shift that token. If negative, reduce the rule which + [[YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If +positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error.]]) $1([check], [b4_check]) $1([stos], [b4_stos], - [[STOS_[STATE-NUM] -- The (internal number of the) accessing + [[YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM.]]) $1([r1], [b4_r1], [[YYR1[YYN] -- Symbol number of symbol that rule YYN derives.]]) $1([r2], [b4_r2], - [[YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.]]) + [[YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.]]) ]) @@ -425,9 +425,9 @@ m4_define([b4_symbol_action], b4_symbol_if([$1], [has_type], [m4_dquote(b4_symbol([$1], [type]))]), [(*yylocationp)])dnl - b4_symbol_case_([$1])[]dnl + b4_symbol_case_([$1])[]dnl b4_syncline([b4_symbol([$1], [$2_line])], ["b4_symbol([$1], [$2_file])"]) - b4_symbol([$1], [$2]) + b4_symbol([$1], [$2]) b4_syncline([@oline@], [@ofile@]) break; @@ -446,7 +446,7 @@ m4_define([b4_symbol_printer], [b4_symbol_action([$1], [printer])]) # --------------------------- # Issue a "case NUM" for SYMBOL-NUM. m4_define([b4_symbol_case_], -[ case b4_symbol([$1], [number]): // b4_symbol([$1], [tag]) +[case b4_symbol([$1], [number]): b4_symbol_tag_comment([$1])]) ]) @@ -509,7 +509,7 @@ m4_define([b4_token_format], # TAG, TYPE). m4_define([b4_type_action_], [b4_symbol_if([$1], [has_type], -[m4_map([b4_symbol_case_], [$@])[]dnl +[m4_map([ b4_symbol_case_], [$@])[]dnl b4_dollar_dollar([b4_symbol([$1], [number])], [b4_symbol([$1], [tag])], [b4_symbol([$1], [type])]); @@ -541,11 +541,21 @@ m4_define([b4_basename], # ----------------------- m4_define([b4_syncline], [b4_flag_if([synclines], -[b4_sync_end([__line__], [b4_basename(m4_quote(__file__))]) -b4_sync_start([$1], [$2])])]) +[b4_sync_start([$1], [$2]) b4_sync_end([__line__], + [b4_basename(m4_quote(__file__))])[]dnl +])]) + +# b4_sync_start(LINE, FILE) +# ----------------------- +# Syncline for the new place. Typically a directive for the compiler. +m4_define([b4_sync_start], [b4_comment([$2:$1])]) + +# b4_sync_end(LINE, FILE) +# ----------------------- +# Syncline for the current place, which ends. Typically a comment +# left for the reader. +m4_define([b4_sync_end], [b4_comment([$2:$1])]) -m4_define([b4_sync_end], [b4_comment([Line $1 of $2])]) -m4_define([b4_sync_start], [b4_comment([Line $1 of $2])]) # b4_user_code(USER-CODE) # ----------------------- @@ -567,14 +577,14 @@ m4_define([b4_define_user_code], # b4_user_initial_action # b4_user_post_prologue # b4_user_pre_prologue -# b4_user_stype +# b4_user_union_members # ---------------------- # Macros that issue user code, ending with synclines. b4_define_user_code([actions]) b4_define_user_code([initial_action]) b4_define_user_code([post_prologue]) b4_define_user_code([pre_prologue]) -b4_define_user_code([stype]) +b4_define_user_code([union_members]) # b4_check_user_names(WHAT, USER-LIST, BISON-NAMESPACE)