Key value pair parser for FDF, new design, g4 file

This commit is contained in:
Retera 2020-05-20 08:21:41 -04:00
parent 2ca02df71b
commit 521aa51d95

View File

@ -20,6 +20,12 @@ statement:
;
frame:
frame_type_qualifier OPEN_CURLY frame_element* CLOSE_CURLY # AnonymousCompDefinition
|
frame_type_qualifier INHERITS STRING_LITERAL OPEN_CURLY frame_element* CLOSE_CURLY # AnonymousCompSubTypeDefinition
|
frame_type_qualifier INHERITS WITHCHILDREN STRING_LITERAL OPEN_CURLY frame_element* CLOSE_CURLY # AnonymousCompSubTypeDefinitionWithChildren
|
frame_type_qualifier STRING_LITERAL OPEN_CURLY frame_element* CLOSE_CURLY # CompDefinition
|
frame_type_qualifier STRING_LITERAL INHERITS STRING_LITERAL OPEN_CURLY frame_element* CLOSE_CURLY # CompSubTypeDefinition
@ -36,151 +42,31 @@ frame:
frame_element:
frame # FrameFrameElement
|
HEIGHT FLOAT COMMA # HeightElement
ID FLOAT COMMA # FloatElement
|
WIDTH FLOAT COMMA # WidthElement
ID STRING_LITERAL COMMA # StringElement
|
CONTROL_STYLE STRING_LITERAL COMMA # ControlStyleElement
ID STRING_LITERAL STRING_LITERAL COMMA # StringPairElement
|
CONTROL_BACKDROP STRING_LITERAL COMMA # ControlBackdropElement
ID FLOAT FLOAT COMMA # Vector2Element
|
CONTROL_PUSHED_BACKDROP STRING_LITERAL COMMA # ControlPushedBackdropElement
ID COMMA # FlagElement
|
CONTROL_DISABLED_BACKDROP STRING_LITERAL COMMA # ControlDisabledBackdropElement
ID FLOAT FLOAT FLOAT FLOAT COMMA # Vector4Element
|
CONTROL_FOCUS_HIGHLIGHT STRING_LITERAL COMMA # ControlFocusHighlightElement
|
CONTROL_MOUSE_OVER_HIGHLIGHT STRING_LITERAL COMMA # ControlMouseOverHighlightElement
|
HIGHLIGHT_TYPE STRING_LITERAL COMMA # HighlightTypeElement
|
HIGHLIGHT_ALPHA_FILE STRING_LITERAL COMMA # HighlightAlphaFileElement
|
HIGHLIGHT_ALPHA_MODE STRING_LITERAL COMMA # HighlightAlphaModeElement
|
BUTTON_PUSHED_TEXT_OFFSET FLOAT FLOAT COMMA # ButtonPushedTextOffsetElement
|
DIALOG_BACKDROP STRING_LITERAL COMMA # DialogBackdropElement
|
BACKDROP_TILE_BACKGROUND COMMA # BackdropTileBackgroundElement
|
DECORATE_FILE_NAMES COMMA # DecorateFileNamesElement
|
SET_ALL_POINTS COMMA # SetAllPointsElement
|
USE_ACTIVE_CONTEXT COMMA # UseActiveContextElement
|
BACKDROP_HALF_SIDES COMMA # BackdropHalfSidesElement
|
BACKDROP_BACKGROUND STRING_LITERAL COMMA # BackdropBackgroundElement
|
BACKDROP_CORNER_FLAGS STRING_LITERAL COMMA # BackdropCornerFlagsElement
|
BACKDROP_CORNER_SIZE FLOAT COMMA # BackdropCornerSizeElement
|
BACKDROP_BACKGROUND_SIZE FLOAT COMMA # BackdropBackgroundSizeElement
|
BACKDROP_BACKGROUND_INSETS FLOAT FLOAT FLOAT FLOAT COMMA # BackdropBackgroundInsetsElement
|
BACKDROP_EDGE_FILE STRING_LITERAL COMMA # BackdropEdgeFileElement
|
BACKDROP_BACKGROUND STRING_LITERAL COMMA # BackdropBackgroundElement
|
BACKDROP_BLEND_ALL COMMA # BackdropBlendAllElement
|
BUTTON_TEXT STRING_LITERAL COMMA #ButtonTextElement
|
TEXT STRING_LITERAL COMMA # TextElement
ID FLOAT COMMA FLOAT COMMA FLOAT COMMA FLOAT COMMA # Vector4CommaElement
|
SETPOINT frame_point COMMA STRING_LITERAL COMMA frame_point COMMA FLOAT COMMA FLOAT COMMA # SetPointElement
|
BACKDROP_CORNER_FILE STRING_LITERAL COMMA # BackdropCornerFileElement
ANCHOR frame_point COMMA FLOAT COMMA FLOAT COMMA # AnchorElement
|
BACKDROP_LEFT_FILE STRING_LITERAL COMMA # BackdropLeftFileElement
ID STRING_LITERAL COMMA FLOAT COMMA STRING_LITERAL COMMA # FontElement
|
BACKDROP_RIGHT_FILE STRING_LITERAL COMMA # BackdropRightFileElement
ID FLOAT FLOAT FLOAT COMMA # Vector3Element
|
BACKDROP_TOP_FILE STRING_LITERAL COMMA # BackdropTopFileElement
ID text_justify COMMA # TextJustifyElement
|
BACKDROP_BOTTOM_FILE STRING_LITERAL COMMA # BackdropBottomFileElement
|
FRAME_FONT STRING_LITERAL COMMA FLOAT COMMA STRING_LITERAL COMMA # DecorateFileNamesElement
|
FONT_FLAGS STRING_LITERAL COMMA # FontFlagsElement
|
FONT_COLOR color COMMA # FontColorElement
|
FONT_HIGHLIGHT_COLOR color COMMA # FontHighlightColorElement
|
FONT_DISABLED_COLOR color COMMA # FontDisabledColorElement
|
FONT_SHADOW_COLOR color COMMA # FontShadowColorElement
|
FONT_SHADOW_OFFSET FLOAT FLOAT COMMA # FontShadowOffsetElement
|
FONT_JUSTIFICATION_H text_justify COMMA # FontJustificationHElement
|
FONT_JUSTIFICATION_V text_justify COMMA # FontJustificationVElement
|
FONT_JUSTIFICATION_OFFSET FLOAT FLOAT COMMA # FontJustificationOffsetElement
|
SLIDER_LAYOUT_HORIZONTAL COMMA # SliderLayoutHorizontalElement
|
SLIDER_LAYOUT_VERTICAL COMMA # SliderLayoutVerticalElement
|
SCROLL_BAR_INC_BUTTON_FRAME STRING_LITERAL COMMA # ScrollBarIncButtonFrameElement
|
SCROLL_BAR_DEC_BUTTON_FRAME STRING_LITERAL COMMA # ScrollBarDecButtonFrameElement
|
SLIDER_THUMB_BUTTON_FRAME STRING_LITERAL COMMA # SliderThumbButtonFrameElement
|
LIST_BOX_BORDER FLOAT COMMA # ListBoxBorderElement
|
LIST_BOX_SCROLL_BAR STRING_LITERAL COMMA # ListBoxScrollBarElement
|
EDIT_BORDER_SIZE FLOAT COMMA # EditBorderSizeElement
|
EDIT_CURSOR_COLOR color COMMA # EditCursorColorElement
|
MENU_TEXT_HIGHLIGHT_COLOR color COMMA # MenuTextHighlightColorElement
|
MENU_ITEM_HEIGHT FLOAT COMMA # MenuItemHighlightElement
|
MENU_BORDER FLOAT COMMA # MenuBorderElement
|
POPUP_BUTTON_INSET FLOAT COMMA # PopupButtonInsetElement
|
POPUP_TITLE_FRAME STRING_LITERAL COMMA # PopupTitleFrameElement
|
POPUP_ARROW_FRAME STRING_LITERAL COMMA # PopupArrowFrameElement
|
POPUP_MENU_FRAME STRING_LITERAL COMMA # PopupMenuFrameElement
|
CHECK_BOX_CHECK_HIGHLIGHT STRING_LITERAL COMMA # CheckBoxCheckHighlightElement
|
CHECK_BOX_DISABLED_CHECK_HIGHLIGHT STRING_LITERAL COMMA # CheckBoxDisabledCheckHighlightElement
|
TEXT_AREA_LINE_HEIGHT FLOAT COMMA # TextAreaLineHeightElement
|
TEXT_AREA_LINE_GAP FLOAT COMMA # TextAreaLineGapElement
|
TEXT_AREA_INSET FLOAT COMMA # TextAreaInsetElement
|
TEXT_AREA_SCROLL_BAR STRING_LITERAL COMMA # TextAreaScrollBarElement
|
CHAT_DISPLAY_LINE_HEIGHT FLOAT COMMA # ChatDisplayLineHeightElement
|
CHAT_DISPLAY_BORDER_SIZE FLOAT COMMA # ChatDisplayBorderSize
|
CHAT_DISPLAY_SCROLL_BAR STRING_LITERAL COMMA # ChatDisplayScrollBarElement
|
CHAT_DISPLAY_EDIT_BOX STRING_LITERAL COMMA # ChatDisplayEditBoxElement
|
TEXT STRING_LITERAL COMMA # TextElement
|
FILE STRING_LITERAL COMMA # FileElement
|
FONT STRING_LITERAL COMMA FLOAT COMMA # FontElement
ID STRING_LITERAL COMMA FLOAT COMMA # SimpleFontElement
;
text_justify:
@ -231,98 +117,8 @@ INHERITS : 'INHERITS' ;
WITHCHILDREN : 'WITHCHILDREN' ;
DECORATE_FILE_NAMES : 'DecorateFileNames';
SET_ALL_POINTS : 'SetAllPoints';
USE_ACTIVE_CONTEXT : 'UseActiveContext';
HEIGHT : 'Height';
WIDTH : 'Width';
HIGHLIGHT_TYPE : 'HighlightType';
HIGHLIGHT_ALPHA_FILE : 'HighlightAlphaFile';
HIGHLIGHT_ALPHA_MODE : 'HighlightAlphaMode';
CONTROL_STYLE : 'ControlStyle';
CONTROL_BACKDROP : 'ControlBackdrop';
CONTROL_PUSHED_BACKDROP : 'ControlPushedBackdrop';
CONTROL_DISABLED_BACKDROP : 'ControlDisabledBackdrop';
CONTROL_FOCUS_HIGHLIGHT : 'ControlFocusHighlight';
CONTROL_MOUSE_OVER_HIGHLIGHT : 'ControlMouseOverHighlight';
DIALOG_BACKDROP : 'DialogBackdrop';
BACKDROP_TILE_BACKGROUND : 'BackdropTileBackground';
BACKDROP_HALF_SIDES : 'BackdropHalfSides';
BACKDROP_BACKGROUND : 'BackdropBackground';
BACKDROP_BLEND_ALL : 'BackdropBlendAll';
BACKDROP_CORNER_FLAGS : 'BackdropCornerFlags';
BACKDROP_CORNER_SIZE : 'BackdropCornerSize';
BACKDROP_BACKGROUND_SIZE : 'BackdropBackgroundSize';
BACKDROP_BACKGROUND_INSETS : 'BackdropBackgroundInsets';
BACKDROP_EDGE_FILE : 'BackdropEdgeFile';
BACKDROP_CORNER_FILE : 'BackdropCornerFile';
BACKDROP_LEFT_FILE : 'BackdropLeftFile';
BACKDROP_RIGHT_FILE : 'BackdropRightFile';
BACKDROP_TOP_FILE : 'BackdropTopFile';
BACKDROP_BOTTOM_FILE : 'BackdropBottomFile';
FRAME_FONT : 'FrameFont';
FONT_FLAGS : 'FontFlags';
FONT_COLOR : 'FontColor';
FONT_HIGHLIGHT_COLOR : 'FontHighlightColor';
FONT_DISABLED_COLOR : 'FontDisabledColor';
FONT_SHADOW_COLOR : 'FontShadowColor';
FONT_SHADOW_OFFSET : 'FontShadowOffset';
FONT_JUSTIFICATION_H : 'FontJustificationH';
FONT_JUSTIFICATION_V : 'FontJustificationV';
FONT_JUSTIFICATION_OFFSET : 'FontJustificationOffset';
SLIDER_LAYOUT_HORIZONTAL : 'SliderLayoutHorizontal';
SLIDER_LAYOUT_VERTICAL : 'SliderLayoutVertical';
SLIDER_THUMB_BUTTON_FRAME : 'SliderThumbButtonFrame';
SCROLL_BAR_DEC_BUTTON_FRAME : 'ScrollBarDecButtonFrame';
SCROLL_BAR_INC_BUTTON_FRAME : 'ScrollBarIncButtonFrame';
LIST_BOX_BORDER : 'ListBoxBorder';
LIST_BOX_SCROLL_BAR : 'ListBoxScrollBar';
EDIT_BORDER_SIZE : 'EditBorderSize';
EDIT_CURSOR_COLOR : 'EditCursorColor';
MENU_TEXT_HIGHLIGHT_COLOR : 'MenuTextHighlightColor';
MENU_ITEM_HEIGHT : 'MenuItemHeight';
MENU_BORDER : 'MenuBorder';
POPUP_BUTTON_INSET : 'PopupButtonInset';
POPUP_TITLE_FRAME : 'PopupTitleFrame';
POPUP_ARROW_FRAME : 'PopupArrowFrame';
POPUP_MENU_FRAME : 'PopupMenuFrame';
CHECK_BOX_CHECK_HIGHLIGHT : 'CheckBoxCheckHighlight';
CHECK_BOX_DISABLED_CHECK_HIGHLIGHT : 'CheckBoxDisabledCheckHighlight';
TEXT_AREA_LINE_HEIGHT : 'TextAreaLineHeight';
TEXT_AREA_LINE_GAP : 'TextAreaLineGap';
TEXT_AREA_INSET : 'TextAreaInset';
TEXT_AREA_SCROLL_BAR : 'TextAreaScrollBar';
CHAT_DISPLAY_LINE_HEIGHT : 'ChatDisplayLineHeight';
CHAT_DISPLAY_BORDER_SIZE : 'ChatDisplayBorderSize';
CHAT_DISPLAY_SCROLL_BAR : 'ChatDisplayScrollBar';
CHAT_DISPLAY_EDIT_BOX : 'ChatDisplayEditBox';
BUTTON_TEXT : 'ButtonText';
BUTTON_PUSHED_TEXT_OFFSET : 'ButtonPushedTextOffset';
TEXT : 'Text';
FILE : 'File';
FONT : 'Font';
SETPOINT : 'SetPoint';
ANCHOR : 'Anchor';
JUSTIFYTOP : 'JUSTIFYTOP';
JUSTIFYMIDDLE : 'JUSTIFYMIDDLE';