Skip to content

Commit

Permalink
unified makefiles for Ada, Eiffel and Modula extraction, some DSL sym…
Browse files Browse the repository at this point in the history
…bols renamed for clarity

git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@1079 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information
grammarware committed Jun 1, 2011
1 parent 62b4d6e commit eeee422
Show file tree
Hide file tree
Showing 33 changed files with 313 additions and 164 deletions.
@@ -1,5 +1,6 @@
tooldir = ../../../../shared/tools
sdflibdir = ../../../../../sdf-library/trunk/library/languages
hunter = ../../hunter.py

clean:
rm -f *.bgf *.bnf *.html intermediate.lll tmp.xml *prepared*
Expand Down
29 changes: 29 additions & 0 deletions topics/grammars/Makefile.language
@@ -0,0 +1,29 @@
extract:
cat ready.lst | xargs -n1 -I _ make _.extract

%.extract:
cd $* && make extract

diff:
cat ready.lst | xargs -n1 -I _ make _.diff

%.diff:
make $*.extract
gdt $*.bgf $*/grammar.bgf || exit -1

save:
cat ready.lst | xargs -n1 -I _ make _.save

%.save:
make $*.extract
cp $*/grammar.bgf $*.bgf

clean:
cat ready.lst | xargs -n1 -I _ make _.clean

%.clean:
cd $* && make clean

test:
ls -1 *.bgf */*.bgf | xargs -n1 ../../../shared/tools/validate bgf

32 changes: 1 addition & 31 deletions topics/grammars/ada/Makefile
@@ -1,31 +1 @@
extract:
cd kempe && make extract
cd kellogg && make extract
cd laemmel-verhoef && make extract
cd lncs-2219 && make extract
cd lncs-4348 && make extract

clean:
cd kempe && make clean
cd kellogg && make clean
cd laemmel-verhoef && make clean
cd lncs-2219 && make clean
cd lncs-4348 && make clean

test:
cd kempe && make test
cd kellogg && make test
cd laemmel-verhoef && make test
cd lncs-2219 && make test
cd lncs-4348 && make test

diff:
make kempe.diff
make kellogg.diff
make laemmel-verhoef.diff
make lncs-2219.diff
make lncs-4348.diff

%.diff:
cd $* && make extract
../../../shared/tools/gdts $*/ada.bgf $*.bgf || exit -1
include ../Makefile.language
13 changes: 5 additions & 8 deletions topics/grammars/ada/kellogg/Makefile
@@ -1,10 +1,7 @@
all:

extract:
../../../extraction/antlr/antlrpp.py ada.rsc.g ada.pp.g
java -cp ${CLASSPATH}:../../../../download/antlrworks-1.1.7.jar:../../../extraction/antlr slps.antlr2bgf.Tool ada.pp.g ada.ext.bgf
../../../../shared/tools/xbgf post-extract.xbgf ada.ext.bgf ada.fix.bgf
../../../../shared/tools/subgrammar ada.fix.bgf compilation_unit ada.bgf
../../../extraction/antlr/antlrpp.py ada.rsc.g ada.prepared.g
java -cp ${CLASSPATH}:../../../../download/antlrworks-1.1.7.jar:../../../extraction/antlr slps.antlr2bgf.Tool ada.prepared.g raw.bgf
${tooldir}/xbgf post-extract.xbgf raw.bgf grammar.bgf
#${tooldir}/subgrammar ext.bgf compilation_unit grammar.bgf

clean:
rm -f ada.pp.g *.bgf
include ../../Makefile.grammar
64 changes: 63 additions & 1 deletion topics/grammars/ada/kellogg/ada.rsc.g
Expand Up @@ -1138,4 +1138,66 @@ LPAREN : '(' ;
RPAREN : ')' ;
COLON : ':' ;
COMMA : ',' ;
SEMI : ';' ;
SEMI : ';' ;

TIC : '\'' ;








IDENTIFIER
: ( 'a'| 'b'| 'c'| 'd'| 'e'| 'f'| 'g'| 'h'| 'i'| 'j'| 'k'| 'l'| 'm'| 'n'| 'o'| 'p'| 'q'| 'r'| 's'| 't'| 'u'| 'v'| 'w'| 'x'| 'y'| 'z' ) ( ('_')? ( 'a'| 'b'| 'c'| 'd'| 'e'| 'f'| 'g'| 'h'| 'i'| 'j'| 'k'| 'l'| 'm'| 'n'| 'o'| 'p'| 'q'| 'r'| 's'| 't'| 'u'| 'v'| 'w'| 'x'| 'y'| 'z'|'0'| '1'| '2'| '3'| '4'| '5'| '6'| '7'| '8'| '9') )*
;

CHARACTER_LITERAL :

'\'' ANY '\''
;

CHAR_STRING : '"' (ANY)* '"'
;

NUMERIC_LIT : ( DIGIT )+
( '#' BASED_INTEGER ( '.' BASED_INTEGER )? '#'
| ( '_' ( DIGIT )+ )+
)?
(
( '.' ( DIGIT )+ ( '_' ( DIGIT )+ )* ( EXPONENT )?
| EXPONENT
)
)?
;



DIGIT : ( '0'| '1'| '2'| '3'| '4'| '5'| '6'| '7'| '8'| '9' ) ;

EXPONENT : ('e') ('+'|'-')? ( DIGIT )+ ;

EXTENDED_DIGIT : ( DIGIT | 'a'|'b'|'c'|'d'|'e'|'f' ) ;

BASED_INTEGER : ( EXTENDED_DIGIT ) ( ('_')? EXTENDED_DIGIT )* ;



WS_ : ( ' '
| '\t'
| '\f'

| ( '\r\n'
| '\r'
| '\n'
)

)

;


COMMENT : ( COMMENT_INTRO (ANY)* ('\n'|'\r'('\n')?) )

;
20 changes: 19 additions & 1 deletion topics/grammars/ada/kellogg/post-extract.xbgf
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xbgf:sequence xmlns:xbgf="http://planet-sl.org/xbgf" xmlns:bgf="http://planet-sl.org/bgf">
<!-- this is a patch -->
<!-- this is a patch -->
<xbgf:replace>
<bgf:expression>
<nonterminal>EPSILON</nonterminal>
Expand All @@ -9,4 +9,22 @@
<epsilon/>
</bgf:expression>
</xbgf:replace>
<!-- this is a patch -->
<xbgf:replace>
<bgf:expression>
<nonterminal>ANY</nonterminal>
</bgf:expression>
<bgf:expression>
<any/>
</bgf:expression>
</xbgf:replace>
<!-- this is a patch -->
<xbgf:replace>
<bgf:expression>
<terminal>\'</terminal>
</bgf:expression>
<bgf:expression>
<terminal>'</terminal>
</bgf:expression>
</xbgf:replace>
</xbgf:sequence>
8 changes: 4 additions & 4 deletions topics/grammars/ada/kempe/Makefile
@@ -1,8 +1,8 @@
extract:
cat src.syntax.summary.txt > src.prepared.txt
perl -pi -w -e 's/{\|/{TERMINALBAR/g;' src.prepared.txt
../../hunter.py src.prepared.txt config.edd ada-1.bgf
${tooldir}/xbgf post-extract.xbgf ada-1.bgf ada-2.bgf
${tooldir}/xbgf correct.xbgf ada-2.bgf ada.bgf
${hunter} src.prepared.txt config.edd raw.bgf
${tooldir}/xbgf post-extract.xbgf raw.bgf ext.bgf
${tooldir}/xbgf correct.xbgf ext.bgf grammar.bgf

include ../../Makefile.include
include ../../Makefile.grammar
4 changes: 2 additions & 2 deletions topics/grammars/ada/kempe/config.edd
Expand Up @@ -5,8 +5,8 @@
<definition-separator-symbol>|</definition-separator-symbol>
<start-option-symbol>[</start-option-symbol>
<end-option-symbol>]</end-option-symbol>
<start-star-symbol>{</start-star-symbol>
<end-star-symbol>}</end-star-symbol>
<start-repetition-star-symbol>{</start-repetition-star-symbol>
<end-repetition-star-symbol>}</end-repetition-star-symbol>
<undefined-nonterminals-are-terminals/>
<nonterminal-if-contains>_</nonterminal-if-contains>
<nonterminal-if-uppercase/>
Expand Down
11 changes: 3 additions & 8 deletions topics/grammars/ada/laemmel-verhoef/Makefile
@@ -1,10 +1,5 @@
extract:
../../hunter.py src.context.free.syntax.txt config.edd ada.raw.bgf
../../../../shared/tools/xbgf correct.xbgf ada.raw.bgf ada.bgf
${hunter} src.context.free.syntax.txt config.edd raw.bgf
${tooldir}/xbgf correct.xbgf raw.bgf grammar.bgf

test:
ls -1 *.bgf | xargs -n1 ../../../../shared/tools/validate bgf
../../../../shared/tools/checkbgf ada.bgf

clean:
rm -rf *.bgf *.bnf
include ../../Makefile.grammar
4 changes: 2 additions & 2 deletions topics/grammars/ada/laemmel-verhoef/config.edd
Expand Up @@ -8,6 +8,6 @@
<end-group-symbol>)</end-group-symbol>
<start-option-symbol>[</start-option-symbol>
<end-option-symbol>]</end-option-symbol>
<start-star-symbol>{</start-star-symbol>
<end-star-symbol>}*</end-star-symbol>
<start-repetition-star-symbol>{</start-repetition-star-symbol>
<end-repetition-star-symbol>}*</end-repetition-star-symbol>
</edd:config>
14 changes: 4 additions & 10 deletions topics/grammars/ada/lncs-2219/Makefile
Expand Up @@ -4,14 +4,8 @@ extract:
perl -pi -w -e 's/–/-/g;' src.prepared.txt
perl -pi -w -e 's/:\n/: /g;' src.prepared.txt
perl -pi -w -e 's/J\./0\./g;' src.prepared.txt
../../hunter.py src.prepared.txt config.edd ada-1.bgf
../../../../shared/tools/xbgf post-extract.xbgf ada-1.bgf ada-2.bgf
../../../../shared/tools/xbgf correct.xbgf ada-2.bgf ada.bgf
../../../../shared/tools/bgf2bnf ada.bgf ada.bnf
${hunter} src.prepared.txt config.edd raw.bgf
${tooldir}/xbgf post-extract.xbgf raw.bgf ext.bgf
${tooldir}/xbgf correct.xbgf ext.bgf grammar.bgf

test:
ls -1 *.bgf | xargs -n1 ../../../../shared/tools/validate bgf
../../../../shared/tools/checkbgf ada.bgf

clean:
rm -f *.bgf *.bnf src.prepared.txt *.html
include ../../Makefile.grammar
4 changes: 2 additions & 2 deletions topics/grammars/ada/lncs-2219/config.edd
Expand Up @@ -5,8 +5,8 @@
<definition-separator-symbol>|</definition-separator-symbol>
<start-option-symbol>[</start-option-symbol>
<end-option-symbol>]</end-option-symbol>
<start-star-symbol>{</start-star-symbol>
<end-star-symbol>}</end-star-symbol>
<start-repetition-star-symbol>{</start-repetition-star-symbol>
<end-repetition-star-symbol>}</end-repetition-star-symbol>
<undefined-nonterminals-are-terminals>
<except>underline</except>
<except>digit</except>
Expand Down
14 changes: 4 additions & 10 deletions topics/grammars/ada/lncs-4348/Makefile
Expand Up @@ -3,14 +3,8 @@ extract:
perl -pi -w -e 's/{\|/{TERMINALBAR/g;' src.prepared.txt
perl -pi -w -e 's/–/-/g;' src.prepared.txt
perl -pi -w -e 's/J\./0\./g;' src.prepared.txt
../../hunter.py src.prepared.txt config.edd ada-1.bgf
../../../../shared/tools/xbgf post-extract.xbgf ada-1.bgf ada-2.bgf
../../../../shared/tools/xbgf correct.xbgf ada-2.bgf ada.bgf
../../../../shared/tools/bgf2bnf ada.bgf ada.bnf
${hunter} src.prepared.txt config.edd raw.bgf
${tooldir}/xbgf post-extract.xbgf raw.bgf ext.bgf
${tooldir}/xbgf correct.xbgf ext.bgf grammar.bgf

test:
ls -1 *.bgf | xargs -n1 ../../../../shared/tools/validate bgf
../../../../shared/tools/checkbgf ada.bgf

clean:
rm -f *.bgf *.bnf src.prepared.txt *.html
include ../../Makefile.grammar
4 changes: 2 additions & 2 deletions topics/grammars/ada/lncs-4348/config.edd
Expand Up @@ -5,8 +5,8 @@
<definition-separator-symbol>|</definition-separator-symbol>
<start-option-symbol>[</start-option-symbol>
<end-option-symbol>]</end-option-symbol>
<start-star-symbol>{</start-star-symbol>
<end-star-symbol>}</end-star-symbol>
<start-repetition-star-symbol>{</start-repetition-star-symbol>
<end-repetition-star-symbol>}</end-repetition-star-symbol>
<undefined-nonterminals-are-terminals>
<except>underline</except>
</undefined-nonterminals-are-terminals>
Expand Down
5 changes: 5 additions & 0 deletions topics/grammars/ada/ready.lst
@@ -0,0 +1,5 @@
kellogg
kempe
laemmel-verhoef
lncs-2219
lncs-4348
3 changes: 3 additions & 0 deletions topics/grammars/cpp/iso-14882-1998/Makefile
Expand Up @@ -11,4 +11,7 @@ diff:
#../../../../shared/tools/bgf2bnf ada.bgf ada.bnf
gdts cpp-1.bgf cpp.raw.bgf

toy:
../../hunter.py toy.prepared.txt config.edd toy.bgf || exit -1

include ../../Makefile.include
13 changes: 1 addition & 12 deletions topics/grammars/eiffel/Makefile
@@ -1,12 +1 @@
extract:
cd bezault && make extract
cd iso-25436-2006 && make extract

clean:
cd bezault && make clean
cd iso-25436-2006 && make clean

test:
cd bezault && make test
cd iso-25436-2006 && make test

include ../Makefile.language
8 changes: 4 additions & 4 deletions topics/grammars/eiffel/bezault/Makefile
@@ -1,6 +1,6 @@
extract:
../../hunter.py src.the.syntax.txt config.edd eiffel.raw.bgf
${tooldir}/xbgf post-extract.xbgf eiffel.raw.bgf eiffel.ext.bgf
${tooldir}/xbgf complete.xbgf eiffel.ext.bgf eiffel.bgf
${hunter} src.the.syntax.txt config.edd raw.bgf
${tooldir}/xbgf post-extract.xbgf raw.bgf ext.bgf
${tooldir}/xbgf complete.xbgf ext.bgf grammar.bgf

include ../../Makefile.include
include ../../Makefile.grammar
8 changes: 4 additions & 4 deletions topics/grammars/eiffel/bezault/config.edd
Expand Up @@ -7,10 +7,10 @@
<definition-separator-symbol>|</definition-separator-symbol>
<start-option-symbol>[</start-option-symbol>
<end-option-symbol>]</end-option-symbol>
<start-star-symbol>{</start-star-symbol>
<end-star-symbol>...}</end-star-symbol>
<start-plus-symbol>{</start-plus-symbol>
<end-plus-symbol>...}+</end-plus-symbol>
<start-repetition-star-symbol>{</start-repetition-star-symbol>
<end-repetition-star-symbol>...}</end-repetition-star-symbol>
<start-repetition-plus-symbol>{</start-repetition-plus-symbol>
<end-repetition-plus-symbol>...}+</end-repetition-plus-symbol>
<undefined-nonterminals-are-terminals/>
<terminal-if-uppercase/>
<nonterminal-if-contains>_</nonterminal-if-contains>
Expand Down
8 changes: 4 additions & 4 deletions topics/grammars/eiffel/iso-25436-2006/Makefile
Expand Up @@ -2,8 +2,8 @@ extract:
cp src.manually.fixed.txt src.prepared.txt
perl -pi -w -e 's/–/-/g;' src.prepared.txt
perl -pi -w -e 's/C\+\+/CPP/g;' src.prepared.txt
../../hunter.py src.prepared.txt config.edd eiffel-1.bgf
${tooldir}/xbgf post-extract.xbgf eiffel-1.bgf eiffel-2.bgf
${tooldir}/xbgf correct.xbgf eiffel-2.bgf eiffel.bgf
${hunter} src.prepared.txt config.edd raw.bgf
${tooldir}/xbgf post-extract.xbgf raw.bgf ext.bgf
${tooldir}/xbgf correct.xbgf ext.bgf grammar.bgf

include ../../Makefile.include
include ../../Makefile.grammar
4 changes: 4 additions & 0 deletions topics/grammars/eiffel/iso-25436-2006/config.edd
Expand Up @@ -29,4 +29,8 @@
<token>'"'</token>
<terminal>"</terminal>
</mask>
<mask>
<token>' " '</token>
<terminal>"</terminal>
</mask>
</edd:config>
21 changes: 21 additions & 0 deletions topics/grammars/eiffel/iso-25436-2006/correct.xbgf
Expand Up @@ -56,4 +56,25 @@
<terminal>"</terminal>
</bgf:expression>
</xbgf:replace>
<!-- error on page 134: extra space -->
<xbgf:replace>
<bgf:expression>
<terminal>. </terminal>
</bgf:expression>
<bgf:expression>
<terminal>.</terminal>
</bgf:expression>
<in>
<nonterminal>Agent_qualified</nonterminal>
</in>
</xbgf:replace>
<!-- error on page 153: extra space -->
<xbgf:replace>
<bgf:expression>
<terminal>- -</terminal>
</bgf:expression>
<bgf:expression>
<terminal>--</terminal>
</bgf:expression>
</xbgf:replace>
</xbgf:sequence>

0 comments on commit eeee422

Please sign in to comment.