Lecture 11 Notes

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ion Expression § ¤ ¥¢ ¤ ¦ ¢ ¡ ¡ ¡ Statement :: :: :: Expression :: :: A non-terminal can produce a string by applying a production, eg:  ¦ ¤ ¥ ¡ %  ¦ # "©   % %  ¦ ¡¢ ¥  %  ¦ # ©   ¦ ¢ ¥ ¡ % ¦¥¦ ¦¥¦ ¡   ¦¥¦ ¥ §  ¦¥¦ ¥ §  ¦¥¦ ¥ §  ¦ ¦   ©¦© ©¦© © ¦© © ¥ § ¦©  ¡  © ¥ § ¦©  ¡    ¥  ¡ % ¡ % ¡ % ¤  ¤    ¤ % %   ¡ ¥§©© ¦¥§ ¤ ¢ £¤ ¤ ¤   ¥   ¡  % ©¦©  ¡  % ¡ © ¥ §  ¦©  ¢ ¢  ¥   ¢ ¡  %¢    ¤ ¡¢   ¤ ¡¢   ¤ ¡¢ ! ¢ ¤ ¡¢ ! ¢ ¤ ¡¢ ! ¢ ¤ ¡¢ © ¥ §  ¦©  ¡  %           We associate a name with each production; these become the variants for our AST’s; the AST documents the productions that were used to build the string. We don’t have to keep non-terminal names or punctuation in the AST, because this information is already in the production. 19  # ¥© ¡  ¤¨§$¡  ¡ ## © ¢  ¡    ¤  ©  ¡  ¥    §§  ©  ¦  ¦ 20  © ¡  §   £¤ ¡   ¥ ¡ © ¥ ¡  ¥§©©¡   %  ¤ ¥§ ¦ ¥ ¦ ¥ §  ¦©  ¡   © ¤ %  ¥¢ ¦  ¥  #    ©  ¦  ¥   §   ¥  #    ©   ¦¥ © ¥ §  ¦©  ¦ ¥  #   ¥#  ¢¡¢  ¦  ¢ This is in . ¦¦ ¥¥¦  ¦ # ©   %  ©¦©  ¡% ¢¢ © ¥ §  ¦©  ¡  % ¦  ¦ ¢ ¥ ¡ % ¦  ¡      ¥   ¢ © ¥ §  ¦©  ¡  % #    ©  ¤  © © ¥      ¡   ¥  ¢  ¥ # ¤     #    © ¦¤¤ £ ¢  ¤¤ ¡   % ¢ £  ¢  ¥  #  ¤     ¤  ©  ¥  §  "§  #    ©  ¥  £¢  ¥  #      ¦¤  #  ©   ¡ ## ¢ ¥$¡  ¦¤¤  ¢  ¢ © ¢ © ¢ ¡ © ¢ §¢  ¥    ¢ ¢ £ SLLGEN includes a sublanguage for specifying grammars. Here’s our example again: 2.5.2 Specifying grammars in SLLGEN 21 The procedure generates both a scanner and parser. It takes all the literal strings from the grammar and adds them to the regexps of the scanner, so you don’t have to worry about this. ¦   ¥  ¦ ¤ £ ¡ ¦¦ ¡ ## ¡  ¥¥¦ ¤¨¥$¦ ¦¤¤ ¢  ¤ % &...
View Full Document

Ask a homework question - tutors are online