Software Secret Weapons™


 
Borland Delphi DFM Grammar
by Pavel Simakov on 2006-03-24 00:10:15 under Code Linguine, view comments
Bookmark and Share
 


About  •  Contact  •  Articles  •  Projects  •  My Links  •  My Bookshelf  •  Past And Present

This grammar is a part of our LEX & YACC experience.


Product Id {032DE83F-D365-493B-89E6-CD0CB6C22111} 
Package Id {1F3702D3-EE7F-4860-8E0D-AF145447E1A3} 
Base language Borland Delphi 5 Text DFM 
Base language description "Borland Delphi 5 Text DFM" is a language
for description of forms, their components, and properties. 
Schema timestamp 1/22/2002 2:10:14 PM 

Lexical analyzer tokens

tkObject  
tkIdentifier  
tkInherited  
tkInline  
tkEnd  
tkStringLiteral  
tkAsciiChar  
tkSquareOpen  
tkSquareClose  
tkRoundOpen  
tkRoundClose  
tkBinary  
tkInteger  
tkFloat  
tkColon  
tkSemiColon  
tkEqual  
tkMinus  
tkGreater  
tkLower  
tkPoint  
tkComma  
tkCRLF  
tkSpace  
tkJunk  
tkUnknown  
Grammatical analyzer rules

parse_goal : object_decl 
  ; 
  
object_decl : object_kind identifier prop_decl tkEnd 
  | object_kind identifier tkEnd 
  | object_kind identifier tkColon identifier prop_decl tkEnd 
  | object_kind identifier tkColon identifier tkSquareOpen 
    tkInteger tkSquareClose prop_decl tkEnd 
  | object_kind identifier tkColon identifier tkEnd 
  ; 
  
object_kind : tkObject 
  | tkInline 
  | tkInherited 
  ; 
  
prop_decl : object_decl 
  | identifier tkEqual prop_value 
  | prop_decl identifier tkEqual prop_value 
  | prop_decl object_decl 
  ; 
  
prop_value : primitive_value 
  | tkLower item_decl tkGreater 
  | tkLower tkGreater 
  | tkSquareOpen set_elements tkSquareClose 
  | tkRoundOpen prop_value_list tkRoundClose 
  ; 
  
prop_value_list : primitive_list 
  | tkRoundOpen prop_value_list tkRoundClose 
  | prop_value_list tkRoundOpen prop_value_list tkRoundClose 
  ; 
  
item_decl : identifier prop_decl tkEnd 
  | identifier tkEnd 
  | item_decl identifier prop_decl tkEnd 
  | item_decl identifier tkEnd 
  ; 
  
set_elements :  
  | identifier 
  | set_elements tkComma identifier 
  ; 
  
primitive_list : primitive_value 
  | primitive_list primitive_value 
  ; 
  
primitive_value : tkBinary 
  | tkInteger 
  | tkMinus tkInteger 
  | tkPlus tkInteger 
  | tkFloat 
  | tkMinus tkFloat 
  | tkPlus tkFloat 
  | identifier 
  | string_literal 
  ; 
  
string_literal : tkStringLiteral 
  | tkAsciiChar 
  | string_literal tkPlus tkStringLiteral 
  | string_literal tkAsciiChar 
  | string_literal tkStringLiteral 
  ; 
  
identifier : tkIdentifier 
  | tkObject 
  | tkInherited 
  | tkInline 
  | tkEnd 
  | identifier tkPoint tkIdentifier 
  ; 

No comments yet


Leave a comment


 
Dog Emotional 2010 Calendar Dog Emotional Mousepad Dog Fashionable 2010 Calendar Dog Fashionable Mousepad

Copyright © 2004-2010 by Pavel Simakov
any conclusions, recommendations, ideas, thoughts or the source code presented on this site are my own and do not reflect a official opinion of my current or past employers, partners or clients
SourceForge.net Logo