# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= aflex-ayacc VERSION= 041111 REVISION= 1 KEYWORDS= devel ada VARIANTS= standard SDESC[standard]= Ada95 scanner and parser generators HOMEPAGE= http://thiberlog.free.fr/ CONTACT= John_Marino[draco@marino.st] DOWNLOAD_GROUPS= main SITES[main]= http://thiberlog.free.fr/src/ DISTFILE[1]= afay_thiberlog_041111.tgz:main DF_INDEX= 1 SPKGS[standard]= complete primary docs man examples OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= bash:primary:static USES= shebangfix EXTRACT_DIRTY= 1 LICENSE= CUSTOM1:primary LICENSE_NAME= CUSTOM1:"Arcadia Project, U.C. Irvine" LICENSE_FILE= CUSTOM1:{{WRKSRC}}/afay/aflex/README LICENSE_SCHEME= solo SHEBANG_GLOB= tognat SHEBANG_OLD_BASH= /bin/sh do-build: (cd ${WRKSRC}/afay/aflex/src/gnat_unix && \ ${SETENV} ${MAKE_ENV} ${SH} ./README) (cd ${WRKSRC}/afay/ayacc/src/gnat_unix && \ ${SETENV} ${MAKE_ENV} ${SH} ./README) do-install: ${MKDIR} ${STAGEDIR}${STD_DOCDIR} \ ${STAGEDIR}${STD_EXAMPLESDIR}/ada_parser \ ${STAGEDIR}${STD_EXAMPLESDIR}/calc ${INSTALL_PROGRAM} ${WRKSRC}/afay/aflex/src/aflex \ ${WRKSRC}/afay/ayacc/src/ayacc ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} ${WRKSRC}/afay/aflex/doc/aflex.man \ ${STAGEDIR}${MANPREFIX}/man/man1/aflex.1 ${INSTALL_DATA} ${WRKSRC}/afay/ayacc/doc/old_docs/ayacc.manpage \ ${STAGEDIR}${MANPREFIX}/man/man1/ayacc.1 ${INSTALL_DATA} ${WRKSRC}/afay/aflex/doc/READ_ME \ ${STAGEDIR}${STD_DOCDIR}/READ_ME.aflex (cd ${WRKSRC}/afay/aflex/doc && ${INSTALL_DATA} aflex.html \ aflex_user_man.* ${STAGEDIR}${STD_DOCDIR}) ${INSTALL_DATA} ${WRKSRC}/afay/ayacc/doc/READ_ME \ ${STAGEDIR}${STD_DOCDIR}/READ_ME.ayacc (cd ${WRKSRC}/afay/ayacc/doc && ${INSTALL_DATA} ayacc.html \ ayacc_user_man.tex ${STAGEDIR}${STD_DOCDIR}) (cd ${WRKSRC}/afay/aflex/doc && ${INSTALL_DATA} example.l test95.l \ ${STAGEDIR}${STD_EXAMPLESDIR}) ${INSTALL_SCRIPT} ${WRKSRC}/afay/ayacc/examples/ada_parser/COMPILE \ ${STAGEDIR}${STD_EXAMPLESDIR}/ada_parser (cd ${WRKSRC}/afay/ayacc/examples/ada_parser && \ ${INSTALL_DATA} READ.ME ada.y ada_lex.l driver.a \ ${STAGEDIR}${STD_EXAMPLESDIR}/ada_parser) ${INSTALL_SCRIPT} ${WRKSRC}/afay/ayacc/examples/calc/COMPILE \ ${STAGEDIR}${STD_EXAMPLESDIR}/calc (cd ${WRKSRC}/afay/ayacc/examples/calc && ${INSTALL_DATA} \ READ.ME calc* driver.a ${STAGEDIR}${STD_EXAMPLESDIR}/calc) [FILE:271:descriptions/desc.primary] This is a modified version of Aflex/Ayacc for Ada95 parent/child feature support. A new directive "%unit A.B.C" has been added, enabling the Ada unit A.B.C to be the parent of the generated lexer/parser. Aflex/Ayacc are copyrighted by the The University of California. [FILE:104:distinfo] 05bcf5d83368f379caef43ecb2d7591f0ed2ec364e6ea431f36ad71df37ef522 700487 afay_thiberlog_041111.tgz [FILE:19:manifests/plist.primary] bin/ aflex ayacc [FILE:137:manifests/plist.docs] share/doc/aflex-ayacc/ READ_ME.aflex READ_ME.ayacc aflex.html aflex_user_man.bib aflex_user_man.tex ayacc.html ayacc_user_man.tex [FILE:40:manifests/plist.man] share/man/man1/ aflex.1.gz ayacc.1.gz [FILE:227:manifests/plist.examples] share/examples/aflex-ayacc/ example.l test95.l share/examples/aflex-ayacc/ada_parser/ COMPILE READ.ME ada.y ada_lex.l driver.a share/examples/aflex-ayacc/calc/ COMPILE READ.ME calc.input calc.y calc_lex.l driver.a [FILE:1123:patches/patch-afay_aflex_src_dfaB.a] --- afay/aflex/src/dfaB.a.orig 2004-10-16 16:41:22.000000000 +0000 +++ afay/aflex/src/dfaB.a @@ -496,7 +496,11 @@ package body DFA is NSET(NUMSTATES) := NFA.MKBRANCH(SCBOL(CNT/2), SCSET(CNT/2)); end if; - DFA.EPSCLOSURE(NSET, NUMSTATES, ACCSET, NACC, HASHVAL, NSET); + declare + NSET_COPY : INT_PTR := NSET; + begin + DFA.EPSCLOSURE(NSET_COPY, NUMSTATES, ACCSET, NACC, HASHVAL, NSET); + end; SNSTODS(NSET, NUMSTATES, ACCSET, NACC, HASHVAL, DS, SNSRESULT); if (SNSRESULT) then @@ -548,7 +552,11 @@ package body DFA is if (DUPLIST(SYM) = NIL) then -- symbol has unique out-transitions NUMSTATES := SYMFOLLOWSET(DSET, DSIZE, SYM, NSET); - DFA.EPSCLOSURE(NSET, NUMSTATES, ACCSET, NACC, HASHVAL, NSET); + declare + NSET_COPY : INT_PTR := NSET; + begin + DFA.EPSCLOSURE(NSET_COPY, NUMSTATES, ACCSET, NACC, HASHVAL, NSET); + end; SNSTODS(NSET, NUMSTATES, ACCSET, NACC, HASHVAL, NEWDS, SNSRESULT); if (SNSRESULT) then