aboutsummaryrefslogtreecommitdiff
path: root/devel/glrparser
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2004-12-23 10:38:20 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2004-12-23 10:38:20 +0000
commit00c5c75ce39e2a5972a850248000da5c1e556d00 (patch)
tree75cf3e0a03ad60ac19cfa80000851fb49940b97f /devel/glrparser
parent286d2e1b51819ad4c2af687fd549b99c4893db44 (diff)
downloadports-00c5c75ce39e2a5972a850248000da5c1e556d00.tar.gz
ports-00c5c75ce39e2a5972a850248000da5c1e556d00.zip
Notes
Diffstat (limited to 'devel/glrparser')
-rw-r--r--devel/glrparser/Makefile11
-rw-r--r--devel/glrparser/files/patch-glr::glrParser.h49
2 files changed, 52 insertions, 8 deletions
diff --git a/devel/glrparser/Makefile b/devel/glrparser/Makefile
index 9a1e51b90d87..ce5cd0f6b2e0 100644
--- a/devel/glrparser/Makefile
+++ b/devel/glrparser/Makefile
@@ -8,18 +8,13 @@
PORTNAME= glrparser
PORTVERSION= 1.4
+PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://nlp.fi.muni.cz/projekty/glr/
MAINTAINER= ports@FreeBSD.org
-COMMENT= A parser works with the GLR(0) algorithm
+COMMENT= A parser which works with the GLR(0) algorithm
GNU_CONFIGURE= yes
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 502126
-BROKEN= "Does not compile with gcc 3.4.2"
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/devel/glrparser/files/patch-glr::glrParser.h b/devel/glrparser/files/patch-glr::glrParser.h
new file mode 100644
index 000000000000..6010623aa1dd
--- /dev/null
+++ b/devel/glrparser/files/patch-glr::glrParser.h
@@ -0,0 +1,49 @@
+--- glr/glrParser.h.orig Wed Mar 26 15:26:15 2003
++++ glr/glrParser.h Thu Dec 23 16:27:38 2004
+@@ -502,7 +502,7 @@
+ glrParser<glrNodeType,glrStateType>::printTable
+ (ostream &output){
+ output << states.size() << endl;
+- for(vector<glrStateType*>::iterator i=states.begin();i!=states.end();++i) {
++ for(typename vector<glrStateType*>::iterator i=states.begin();i!=states.end();++i) {
+ if(*i){
+ (*i)->print(symbols,output);
+ }else{
+@@ -635,7 +635,7 @@
+ }
+
+
+- for(deque<glrStateType*>::iterator state=activeStates.begin();state!=activeStates.end();++state){
++ for(typename deque<glrStateType*>::iterator state=activeStates.begin();state!=activeStates.end();++state){
+ (*state)->stack->release();
+ (*state)->stack=NULL;
+ (*state)->crossEdges.clear();
+@@ -1793,7 +1793,7 @@
+ }
+
+ for(map<glrSymbolTable::glrSymbol,glrItemSet*>::iterator tran=compState->transitions.begin();tran!=compState->transitions.end();++tran){
+- glrCompStatesMap<glrStateType>::iterator iNextState=compStatesMap.find(tran->second);
++ typename glrCompStatesMap<glrStateType>::iterator iNextState=compStatesMap.find(tran->second);
+ if(iNextState==compStatesMap.end()){
+
+ glrStateType *newState=new glrStateType(states.size(),symbols);
+@@ -1871,7 +1871,7 @@
+ template<class glrNodeType,class glrStateType> void
+ glrParser<glrNodeType,glrStateType>::clearTable
+ (){
+- for(vector<glrStateType*>::iterator iState=states.begin();iState!=states.end();++iState){
++ for(typename vector<glrStateType*>::iterator iState=states.begin();iState!=states.end();++iState){
+ delete (*iState);
+ }
+ states.clear();
+@@ -1892,8 +1892,8 @@
+ template<class glrStateType> void
+ glrCompStatesMap<glrStateType>::releaseItemSets
+ (){
+- for(glrCompStatesMap<glrStateType>::iterator i=begin();i!=end();++i)delete i->first;
+- clear();
++ for(typename glrCompStatesMap<glrStateType>::iterator i=this->begin();i!=this->end();++i)delete i->first;
++ this->clear();
+ }
+
+ #ifdef CHECK_CONSISTENCY