View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000736 | 1003.1(2013)/Issue7+TC1 | Shell and Utilities | public | 2013-08-17 09:59 | 2019-06-10 08:55 |
Reporter | salikhmetov | Assigned To | |||
Priority | normal | Severity | Comment | Type | Enhancement Request |
Status | Closed | Resolution | Accepted As Marked | ||
Name | Anton Salikhmetov | ||||
Organization | EuroMake Initiative | ||||
User Reference | |||||
Section | XCU 2.10.2 | ||||
Page Number | 2350 | ||||
Line Number | 74801-74808 | ||||
Interp Status | Approved | ||||
Final Accepted Text | See 0000736:0001773. | ||||
Summary | 0000736: grammatically accept zero or more Shell commands | ||||
Description | An empty Shell program and a program consisting of two or more commands separated with NEWLINE tokens are valid Shell scripts. However, Shell Grammar Rules only accept exactly one single command. That results in a syntax error against both an empty input and two or more commands separated with NEWLINE tokens. | ||||
Desired Action | On page 2350, lines 74801-74808, change %start complete_command %% complete_command : list separator | list ; list : list separator_op and_or | and_or ; to %start script %% script : linebreak | compound_list ; | ||||
Tags | tc2-2008 |
related to | 0000718 | Closed | 1003.1(2013)/Issue7+TC1 | sh -i -c '...' should not read its input from terminal | |
related to | 0000648 | Closed | ajosey | 1003.1(2008)/Issue 7 | Special treatment of <newline> in tokenization rules is unnecessary |
related to | 0000953 | Closed | ajosey | 1003.1(2013)/Issue7+TC1 | Alias expansion is under-specified |
|
A complete_command non-terminal needs to be distinguished grammatically from a compound_list non-terminal. Indeed, compound_list is to be saved for later execution, while complete_command is executed immediately. The suggested desired action requires the following correction. Below, the separator non-terminal is replaced with separator_op in order to avoid shift/reduce conflicts due to the trailing newline_list non-terminals embedded in the definition of the separator and linebreak non-terminals: linebreak : newline_list | /* empty */ ; separator_op : '&' | ';' ; separator : separator_op linebreak | newline_list ; On page 2350, lines 74801-74808, change %start complete_command %% complete_command : list separator | list ; to %start script %% script : linebreak commands linebreak | linebreak ; commands : commands newline_list complete_command | complete_command ; complete_command : list separator_op | list ; |
|
Interpretation response ------------------------ The standard is unclear on this issue, and no conformance distinction can be made between alternative implementations based on this. This is being referred to the sponsor. Rationale: ------------- The following changes make the grammar and text reflect existing practice. Notes to the Editor (not part of this interpretation): ------------------------------------------------------- On page 2350, lines 74801-74808, change %start complete_command %% complete_command : list separator | list ; to: %start program %% program : linebreak complete_commands linebreak | linebreak ; complete_commands: complete_commands newline_list complete_command | complete_command ; complete_command : list separator_op | list ; Cross-volume change to XRAT... At page 3700 line 126612 section C.2.10 delete: The start symbol of the grammar (complete_command) represents either input from the command line or a shell script. It is repeatedly applied by the interpreter to its input and represents a single ‘‘chunk’’ of that input as seen by the interpreter. |
|
Interpretation Proposed 6 Sep 2013 |
|
Interpretation approved 14 October 2013 |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-08-17 09:59 | salikhmetov | New Issue | |
2013-08-17 09:59 | salikhmetov | Name | => Anton Salikhmetov |
2013-08-17 09:59 | salikhmetov | Organization | => EuroMake Initiative |
2013-08-17 09:59 | salikhmetov | Section | => XCU 2.10.2 |
2013-08-17 09:59 | salikhmetov | Page Number | => 2350 |
2013-08-17 09:59 | salikhmetov | Line Number | => 74801-74808 |
2013-08-18 10:15 | salikhmetov | Note Added: 0001729 | |
2013-08-22 16:08 | nick | Relationship added | related to 0000718 |
2013-08-24 06:52 | salikhmetov | Note Edited: 0001729 | |
2013-08-29 16:20 | Don Cragun | Note Added: 0001773 | |
2013-08-29 16:21 | nick | Relationship added | related to 0000648 |
2013-08-29 16:22 | Don Cragun | Interp Status | => Pending |
2013-08-29 16:22 | Don Cragun | Final Accepted Text | => See 0000736:0001773. |
2013-08-29 16:22 | Don Cragun | Status | New => Interpretation Required |
2013-08-29 16:22 | Don Cragun | Resolution | Open => Accepted As Marked |
2013-08-29 16:22 | Don Cragun | Tag Attached: tc2-2008 | |
2013-08-30 11:15 | salikhmetov | Note Edited: 0001773 | |
2013-08-30 11:29 | salikhmetov | Note Edited: 0001729 | |
2013-09-06 04:52 | ajosey | Interp Status | Pending => Proposed |
2013-09-06 04:52 | ajosey | Note Added: 0001800 | |
2013-10-14 13:09 | ajosey | Interp Status | Proposed => Approved |
2013-10-14 13:09 | ajosey | Note Added: 0001900 | |
2016-04-14 20:18 | rhansen | Relationship added | related to 0000953 |
2019-06-10 08:55 | agadmin | Status | Interpretation Required => Closed |