RoSIN Documentation

Syntax Notes Within Documentation:

  • Actual RoSIN characters are in green & bold.
  • Curly Braces {} are used to group symbols.
  • Pipe Symbols | are used to separate choices in the group.
  • A Question Mark ? is used to denote an optional item.
  • An Asterisk * is used to denote zero or more items.
  • A Plus Sign + is used to denote one or more items.
  • [0-9] means the number for any fielder between 0 and 9. The 0 code is for the tenth man in softball.

Play Description

RoSIN commands are comprised of up of two parts, separated by a period:

Play Description . Runner Advancements

The Play Description is comprised of the Play Basics, followed by optional Play Details, which are separated by forward slashes (/). This Guide organizes all possible plays into the following categories:

  Batter Reaches Base Out Runner Advances
Pitch Event: Walk
Hit by pitch
Foul error
Strikeout
Caught stealing
Pickoff
Error on pitch
Stolen base
Indifference
Ball in Play: Hit
Reach on error
General out
Fielder's choice
Interference
 

Pitch Event


Batter Reaches Base

Walk
	Intentional		I?
	Walk Code		W
				{
	Wild Pitch			  +WP
	Passed Ball			| +PB
	Stolen Base	 		| +SB{2|3|H}
	Caught Stealing	 		| +CS{2|3|H}[0-9]*
				}?

Hit by pitch
				HBP

Foul error
	Foul error code		FLE
	Fielder			[0-9]
	Trajectory		{
	Grounder			  G
	Liner				| L
	Popfly				| P
	Flyout				| F
				}
	Location		{
	Field Location			  {1|2|...|78|...}
	Generic Foul Out		| {/FL}
				}?

Out

Strikeout
	k-code                  K
	Fielder                 [0-9]*
	Error on fielder        {E[0-9]}?
				{+WP | +PB | +DI | +OA}?
	Stolen Base(s)          {+SB{2|3|H}} {;SB{2|3|H}}* }?
	PO or CS or TH          {+ {;? {PO|CS}{H|3|2|1}([E? 0-9] {/TH}?)}*}?
	  TH = extra base on throw
	DP Flag                 {/DP | /TP}?

Caught stealing
	CS                      CS{H|3|2} {;CS{H|3|2}}*
	DP/TP Flag              {/DP | /TP}?

Pickoff
	PO                      PO {3|2|1}([E? 0-9] {/TH}?)}*
	CS                      CS{H|3|2} {;CS{H|3|2}}*
	DP/TP Flag              {/DP | /TP}?

Runner Advances

Error on pitch
	Wild pitch   		{WP|PB|OA|BK}
	Passed Ball
	Other advancement
	Balk

Stolen Base         		SB{2|3|H}} {;SB{2|3|H}}*

Indifference			DI

Ball In Play


Batter Reaches Base

Hit
	hit (fielded by)        { {S|D|T|HR} [0-9]? }

	Ground-rule-duble?      {GR}?
	dp|tp_flag              { /DP | /TP }?

				/

	Trajectory              {B}?
		Bunt              {G|F|L|P}
		Grounder
		Flyout
		Liner
		Popfly
	Location                {1|2|...|78|...}?

Reach On Error
	error                   { E [0-9]? }

	XBase on Throw          {TH | SF}?
	Sacrifice Hit           ( SH )?
	Trajectory              {B}?
		Bunt              {G|F|L|P}
		Grounder
		Flyout
		Liner
		Popfly
	Generic Foul Out        {/FL}?
	Location                {1|2|...|78|...}?

Out

General Out
	fielder_list            {[0-9]}+

	safe_on_muff            {E[0-9]}?
	Forceout                {(1|2|3|B)/FO}?
	Fielder_list_dp         [0-9]*
	Dp-out                  {(1|2|3)}?
	Fielder_list_tp         [0-9]*
	tp-out                  {(1|2)}?

	Ground-rule-duble?      {GR}?

	sac_flag? Hit or Fly    {/SH | /SF}?
	dp|tp_flag              {/DP | /TP | /GDP}?

				/

	XBase on Throw          {TH}?
	Trajectory              {B}?
	      Bunt              {G|F|L|P}
	      Grounder
	      Flyout
	      Liner
	      Popfly
	Generic Foul Out        {/FL}?
	Location                {1|2|...|78|...}?

Fielder's Choice
	FieldChoice|hit|error   { FC [0-9] }
	sac_flag?               {/SH | /DP}?

	Trajectory              {B}?
	      Bunt              {G|F|L|P}
	      Grounder
	      Flyout
	      Liner
	      Popfly
	Generic Foul Out        {/FL}?
	Location                {1|2|...|78|...}?

Interference
	Int_code                C

Runner Advancements
				{
					;? {B|1|2|3} {-|X} {1|2|3|H}
					{
						E[0-9] /?
	XBase|WP|PB	    			{TH|WP|PB}?
	No RBI  	        		{NR}?
					}*
				}*

RetroSheet Pitch Descriptors

Within RetroSheet Event Files, pitch-by-pitch descriptors can be inserted in the field immediately preceding the play description. This table enumerates the values allowed there, and provides some examples.

	C  called strike
	S  swinging strike
	Q  swinging on pitchout
	K  strike (unknown type)

	F  foul
	R  foul ball on pitchout
	T  foul tip
	O  foul tip on bunt
	L  foul bunt
	M  missed bunt attempt

	B  ball
	I  intentional ball
	V  called ball because pitcher went to his mouth
	P  pitchout

	H  hit batter
	U  unknown or missed pitch

	N  no pitch (used on balks and interference calls)

	+  following pickoff throw by the catcher
	1  pickoff throw to first
	2  pickoff throw to second
	3  pickoff throw to third

	X  ball put into play by batter
	Y  ball put into play on pitchout

	*  indicates the following pitch was blocked by the catcher.
	.  marker for play not involving the batter
	>  Indicates a runner going on the pitch
	

Example: CFBB1BC

	Called strike, foul, two balls, pickoff throw to first,
	ball, called third strike. 

Open Issues and Questions

  • What is the SH sac_flag code?
  • Can you have a Strikeout with a Triple Play? Doesn�t seem so in the BNF.
  • Can a RoSIN string have more than one slash in it? The Grammar seems to say Yes.