[前][次][番号順一覧][スレッド一覧]

ruby-changes:66840

From: Hiroshi <ko1@a...>
Date: Mon, 19 Jul 2021 12:02:36 +0900 (JST)
Subject: [ruby-changes:66840] b5b3cd2722 (master): [ruby/racc] Move document from library directory

https://git.ruby-lang.org/ruby.git/commit/?id=b5b3cd2722

From b5b3cd27222a055500123fd59486dfedc7bbd824 Mon Sep 17 00:00:00 2001
From: Hiroshi SHIBATA <hsbt@r...>
Date: Mon, 19 Jul 2021 11:28:10 +0900
Subject: [ruby/racc] Move document from library directory

https://github.com/ruby/racc/commit/2e8d7d286d
---
 lib/racc/racc.gemspec         |   3 +-
 lib/racc/rdoc/grammar.en.rdoc | 219 ------------------------------------------
 2 files changed, 2 insertions(+), 220 deletions(-)
 delete mode 100644 lib/racc/rdoc/grammar.en.rdoc

diff --git a/lib/racc/racc.gemspec b/lib/racc/racc.gemspec
index 810f9a7..ae530df 100644
--- a/lib/racc/racc.gemspec
+++ b/lib/racc/racc.gemspec
@@ -37,7 +37,8 @@ DESC https://github.com/ruby/ruby/blob/trunk/lib/racc/racc.gemspec#L37
     "lib/racc/parser.rb", "lib/racc/parserfilegenerator.rb",
     "lib/racc/pre-setup", "lib/racc/sourcetext.rb",
     "lib/racc/state.rb", "lib/racc/statetransitiontable.rb",
-    "lib/racc/static.rb", "doc/en/NEWS.en.rdoc",
+    "lib/racc/static.rb",
+    "doc/en/NEWS.en.rdoc", "doc/en/grammar2.en.rdoc",
     "doc/en/grammar.en.rdoc", "doc/ja/NEWS.ja.rdoc",
     "doc/ja/command.ja.html", "doc/ja/debug.ja.rdoc",
     "doc/ja/grammar.ja.rdoc", "doc/ja/index.ja.html",
diff --git a/lib/racc/rdoc/grammar.en.rdoc b/lib/racc/rdoc/grammar.en.rdoc
deleted file mode 100644
index af10803..0000000
--- a/lib/racc/rdoc/grammar.en.rdoc
+++ /dev/null
@@ -1,219 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/lib/racc/racc.gemspec#L0
-= Racc Grammar File Reference
-
-== Global Structure
-
-== Class Block and User Code Block
-
-There are two blocks on the toplevel. One is the 'class' block, the other is the 'user code'
-block. The 'user code' block MUST be placed after the 'class' block.
-
-== Comments
-
-You can insert comments about all places. Two styles of comments can be used, Ruby style '#.....' and C style '/\*......*\/'.
-
-== Class Block
-
-The class block is formed like this:
-
-  class CLASS_NAME
-    [precedence table]
-    [token declarations]
-    [expected number of S/R conflicts]
-    [options]
-    [semantic value conversion]
-    [start rule]
-  rule
-    GRAMMARS
-
-CLASS_NAME is a name of the parser class. This is the name of the generating parser
-class.
-
-If CLASS_NAME includes '::', Racc outputs the module clause. For example, writing
-"class M::C" causes the code below to be created:
-
-  module M
-    class C
-      :
-      :
-    end
-  end
-
-== Grammar Block
-
-The grammar block describes grammar which is able to be understood by the parser.
-Syntax is:
-
-  (token): (token) (token) (token).... (action)
-
-  (token): (token) (token) (token).... (action)
-         | (token) (token) (token).... (action)
-         | (token) (token) (token).... (action)
-
-(action) is an action which is executed when its (token)s are found.
-(action) is a ruby code block, which is surrounded by braces:
-
-  { print val[0]
-    puts val[1] }
-
-Note that you cannot use '%' string, here document, '%r' regexp in action.
-
-Actions can be omitted. When it is omitted, '' (empty string) is used.
-
-A return value of action is a value of the left side value ($$). It is the value of the
-result, or the returned value by `return` statement.
-
-Here is an example of the whole grammar block.
-
-  rule
-    goal: definition rules source { result = val }
-
-    definition: /* none */   { result = [] }
-      | definition startdesig  { result[0] = val[1] }
-      | definition
-               precrule   # this line continues from upper line
-        {
-          result[1] = val[1]
-        }
-
-    startdesig: START TOKEN
-
-You can use the following special local variables in action:
-
-* result ($$)
-
-The value of the left-hand side (lhs). A default value is val[0].
-
-* val ($1,$2,$3...)
-
-An array of value of the right-hand side (rhs).
-
-* _values (...$-2,$-1,$0)
-
-A stack of values. DO NOT MODIFY this stack unless you know what you are doing.
-
-== Operator Precedence
-
-This function is equal to '%prec' in yacc.
-To designate this block:
-
-  prechigh
-    nonassoc '++'
-    left     '*' '/'
-    left     '+' '-'
-    right    '='
-  preclow
-
-`right` is yacc's %right, `left` is yacc's %left.
-
-`=` + (symbol) means yacc's %prec:
-
-  prechigh
-    nonassoc UMINUS
-    left '*' '/'
-    left '+' '-'
-  preclow
-
-  rule
-    exp: exp '*' exp
-       | exp '-' exp
-       | '-' exp       =UMINUS   # equals to "%prec UMINUS"
-           :
-           :
-
-== expect
-
-Racc has bison's "expect" directive.
-
-  # Example
-
-  class MyParser
-  rule
-    expect 3
-      :
-      :
-
-This directive declares "expected" number of shift/reduce conflicts. If
-"expected" number is equal to real number of conflicts, Racc does not print
-conflict warning message.
-
-== Declaring Tokens
-
-By declaring tokens, you can avoid many meaningless bugs. If declared token
-does not exist or existing token does not decleared, Racc output warnings.
-Declaration syntax is:
-
-  token TOKEN_NAME AND_IS_THIS
-        ALSO_THIS_IS AGAIN_AND_AGAIN THIS_IS_LAST
-
-== Options
-
-You can write options for Racc command in your Racc file.
-
-  options OPTION OPTION ...
-
-Options are:
-
-* omit_action_call
-
-omits empty action call or not.
-
-* result_var
-
-uses local variable "result" or not.
-
-You can use 'no_' prefix to invert their meanings.
-
-== Converting Token Symbol
-
-Token symbols are, as default,
-
-  * naked token string in Racc file (TOK, XFILE, this_is_token, ...)
-    --> symbol (:TOK, :XFILE, :this_is_token, ...)
-  * quoted string (':', '.', '(', ...)
-    --> same string (':', '.', '(', ...)
-
-You can change this default by "convert" block.
-Here is an example:
-
-  convert
-    PLUS 'PlusClass'      # We use PlusClass for symbol of `PLUS'
-    MIN  'MinusClass'     # We use MinusClass for symbol of `MIN'
-  end
-
-We can use almost all ruby value can be used by token symbol,
-except 'false' and 'nil'.  These cause unexpected parse error.
-
-If you want to use String as token symbol, special care is required.
-For example:
-
-  convert
-    class '"cls"'            # in code, "cls"
-    PLUS '"plus\n"'          # in code, "plus\n"
-    MIN  "\"minus#{val}\""   # in code, \"minus#{val}\"
-  end
-
-== Start Rule
-
-'%start' in yacc. This changes start rule.
-
-  start real_target
-
-== User Code Block
-
-"User Code Block" is a Ruby source code which is copied to output. There are
-three user code blocks, "header" "inner" and "footer".
-
-Format of user code is like this:
-
-  ---- header
-    ruby statement
-    ruby statement
-    ruby statement
-
-  ---- inner
-    ruby statement
-       :
-       :
-
-If four '-' exist on the line head, Racc treats it as the beginning of the
-user code block.  The name of the user code block must be one word.
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]