pub struct ParolGrammar {
    pub item_stack: Vec<ParolGrammarItem>,
    pub title: Option<String>,
    pub comment: Option<String>,
    pub start_symbol: String,
    pub scanner_configurations: Vec<ScannerConfig>,
    /* private fields */
}
Expand description

Data structure used to build up a parol::GrammarConfig during parsing.

Fields

item_stack: Vec<ParolGrammarItem>

The parsed items are pushed onto the item_stack.

title: Option<String>

The optional title of the grammar

comment: Option<String>

The optional comment of the grammar

start_symbol: String

The mandatory start symbol of the grammar

scanner_configurations: Vec<ScannerConfig>

All parsed scanner configurations

Implementations

Constructs a new item

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

Information provided by parser

Semantic action for production 2:

StartDeclaration: “%start” Identifier;

Semantic action for production 4:

Declarations: ;

Semantic action for production 5:

Declaration: “%title” String;

Semantic action for production 6:

Declaration: “%comment” String;

Semantic action for production 8:

Declaration: “%line_comment” String;

Semantic action for production 9:

ScannerDirectives: “%block_comment” String String;

Semantic action for production 10:

ScannerDirectives: “%auto_newline_off”;

Semantic action for production 11:

ScannerDirectives: “%auto_ws_off”;

Semantic action for production 17:

Production: Identifier “:” Alternations “;”;

Semantic action for production 18:

Alternations: Alternation AlternationsList;

Semantic action for production 19:

AlternationsList: “|” Alternation AlternationsList;

Semantic action for production 20:

AlternationsList: ;

Semantic action for production 22:

AlternationList: Factor AlternationList;

Semantic action for production 23:

AlternationList: ;

Semantic action for production 28:

Symbol: Identifier;

Semantic action for production 33:

TokenWithStates: “<” StateList “>” String;

Semantic action for production 34:

Group: “(” Alternations “)”;

Semantic action for production 35:

Optional: “[” Alternations “]”;

Semantic action for production 36:

Repeat: “{” Alternations “}”;

Semantic action for production 37:

Identifier: “[a-zA-Z_]\w*”;

Semantic action for production 38:

String: “\u{0022}(1|\.)*?\u{0022}”;


  1.  

Semantic action for production 39:

ScannerState: “%scanner” Identifier “{” ScannerStateList “}”;

Semantic action for production 42:

StateList: Identifier StateListList;

Semantic action for production 43:

StateListRest: “,” Identifier StateListRest;

Semantic action for production 44:

StateListRest: ;

Semantic action for production 45:

ScannerSwitch: “%sc” “(” ScannerNameOpt “)”;

Semantic action for production 46:

ScannerSwitch: “%push” “(” Identifier “)”;

Semantic action for production 47:

ScannerSwitch: “%pop” “(” “)”;

Semantic action for production 49:

ScannerNameOpt: ;

Semantic action for production 0: Read more

Semantic action for production 1: Read more

Semantic action for production 3: Read more

Semantic action for production 7: Read more

Semantic action for production 12: Read more

Semantic action for production 13: Read more

Semantic action for production 14: Read more

Semantic action for production 15: Read more

Semantic action for production 16: Read more

Semantic action for production 21: Read more

Semantic action for production 24: Read more

Semantic action for production 25: Read more

Semantic action for production 26: Read more

Semantic action for production 27: Read more

Semantic action for production 29: Read more

Semantic action for production 30: Read more

Semantic action for production 31: Read more

Semantic action for production 32: Read more

Semantic action for production 40: Read more

Semantic action for production 41: Read more

Semantic action for production 48: Read more

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

Initialize the user with additional information. This function is called by the parser before parsing starts. It is used to transport necessary data from parser to user.

This function is implemented automatically for the user’s item ParolGrammar.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Set the foreground color generically Read more

Set the background color generically. Read more

Change the foreground color to black

Change the background color to black

Change the foreground color to red

Change the background color to red

Change the foreground color to green

Change the background color to green

Change the foreground color to yellow

Change the background color to yellow

Change the foreground color to blue

Change the background color to blue

Change the foreground color to magenta

Change the background color to magenta

Change the foreground color to purple

Change the background color to purple

Change the foreground color to cyan

Change the background color to cyan

Change the foreground color to white

Change the background color to white

Change the foreground color to the terminal default

Change the background color to the terminal default

Change the foreground color to bright black

Change the background color to bright black

Change the foreground color to bright red

Change the background color to bright red

Change the foreground color to bright green

Change the background color to bright green

Change the foreground color to bright yellow

Change the background color to bright yellow

Change the foreground color to bright blue

Change the background color to bright blue

Change the foreground color to bright magenta

Change the background color to bright magenta

Change the foreground color to bright purple

Change the background color to bright purple

Change the foreground color to bright cyan

Change the background color to bright cyan

Change the foreground color to bright white

Change the background color to bright white

Make the text bold

Make the text dim

Make the text italicized

Make the text italicized

Make the text blink

Make the text blink (but fast!)

Swap the foreground and background colors

Hide the text

Cross out the text

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more

Set the foreground color to a specific RGB value.

Set the background color to a specific RGB value.

Sets the foreground color to an RGB value.

Sets the background color to an RGB value.

Apply a runtime-determined style

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.