Commit 39e61dd1 authored by david_v's avatar david_v
Browse files

2004-01-22 Valentin David <valentin@lrde.epita.fr>

	* configure.ac, src/disamb/Makefile.am: Update.

	* TODO: Update.

	* src/syn/TemplateParameters.sdf: Add tag for deterministic syntax.

	* test/disambiguate/template-05.cc,
	* test/disambiguate/template-10.detcc,
	* test/disambiguate/template-09.detcc,
	* test/disambiguate/template-05.detcc: Fix.

	* test/disambiguate/test.test, test/disambiguate/Makefile.am,
	* test/expressions/Makefile.am, test/expressions/test.test,
	* test/g++/template/Makefile.am, test/g++/template/test.test,
	* test/g++/parse/Makefile.am, test/g++/parse/test.test,
	* test/g++/overload/Makefile.am, test/g++/overload/test.test,
	* test/g++/other/Makefile.am, test/g++/other/test.test,
	* test/g++/opt/Makefile.am, test/g++/opt/test.test,
	* test/g++/lookup/Makefile.am, test/g++/lookup/test.test,
	* test/g++/init/Makefile.am, test/g++/init/test.test,
	* test/g++/inherit/Makefile.am, test/g++/inherit/test.test,
	* test/g++/eh/Makefile.am, test/g++/eh/test.test,
	* test/g++/debug/Makefile.am, test/g++/debug/test.test,
	* test/g++/abi/Makefile.am, test/g++/abi/test.test: Fix and update.

	* src/disamb/disambiguate/TemplateArguments.str,
	* src/disamb/disambiguate/TemplateTraverse.str,
	* src/disamb/disambiguate/TemplateDefinition.str,
	* src/disamb/disambiguate/TemplateClassTraverse.str,
	* src/disamb/disambiguate/TemplateClassDefinition.str,
	* src/disamb/disambiguate/SimpleTypeSpecifier.str,
	* src/disamb/disambiguate/ResolveCompound.str,
	* src/disamb/disambiguate/Resolve.str,
	* src/disamb/disambiguate/PrimaryExpression.str,
	* src/disamb/disambiguate/Parameter.str,
	* src/disamb/disambiguate/Makefile.am,
	* src/disamb/disambiguate/afcxx-disambiguate.str,
	* src/disamb/disambiguate/Kinds.str,
	* src/disamb/disambiguate/Keys.str,
	* src/disamb/disambiguate/Definition.str,
	* src/disamb/disambiguate/ClassOrNamespaceTraverse.str,
	* src/disamb/disambiguate/ClassOrNamespaceAmbiguity.str,
	* src/disamb/disambiguate/BaseTraverse.str,
	* src/disamb/disambiguate/AmbiguityCandidate.str: Fix several bugs.

	* src/parser/parse-cxx.str, config/check-rules.mk: Update.

	* src/disamb/simpledeclaration/Makefile.am,
	* src/disamb/simpledeclaration/afcxx-simpledeclaration.str,
	* src/disamb/simpledeclaration/afcxx-simpledeclaration.meta: New.

	* src/disamb/classparam/Makefile.am,
	* src/disamb/classparam/afcxx-classparam.str,
	* src/disamb/classparam/afcxx-classparam.meta: New.

	* src/disamb/disambiguate/PostfixExpressionAmbiguity.str,
	* src/disamb/disambiguate/PostfixExpressionAmbiguity.meta,
	* src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.str,
	* src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.meta,
	* src/disamb/disambiguate/TemplateIdAmbiguityCut.str,
	* src/disamb/disambiguate/TemplateIdAmbiguityCandidate.str,
	* src/disamb/disambiguate/TemplateIdAmbiguity.str,
	* src/disamb/disambiguate/TemplateIdAmbiguityCut.meta,
	* src/disamb/disambiguate/TemplateIdAmbiguityCandidate.meta,
	* src/disamb/disambiguate/TemplateIdAmbiguity.meta,
	* src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.str,
	* src/disamb/disambiguate/TemplateFunctionDefinition.str,
	* src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.meta,
	* src/disamb/disambiguate/TemplateFunctionDefinition.meta,
	* src/disamb/disambiguate/TemplateFunctionTraverse.str,
	* src/disamb/disambiguate/TemplateFunctionTraverse.meta: New.

	* src/disamb/ambdown/ambdown.str, src/disamb/ambdown/Makefile.am: New.
parent b21eb4fe
2004-01-22 Valentin David <valentin@lrde.epita.fr>
* configure.ac, src/disamb/Makefile.am: Update.
* TODO: Update.
* src/syn/TemplateParameters.sdf: Add tag for deterministic syntax.
* test/disambiguate/template-05.cc,
* test/disambiguate/template-10.detcc,
* test/disambiguate/template-09.detcc,
* test/disambiguate/template-05.detcc: Fix.
* test/disambiguate/test.test, test/disambiguate/Makefile.am,
* test/expressions/Makefile.am, test/expressions/test.test,
* test/g++/template/Makefile.am, test/g++/template/test.test,
* test/g++/parse/Makefile.am, test/g++/parse/test.test,
* test/g++/overload/Makefile.am, test/g++/overload/test.test,
* test/g++/other/Makefile.am, test/g++/other/test.test,
* test/g++/opt/Makefile.am, test/g++/opt/test.test,
* test/g++/lookup/Makefile.am, test/g++/lookup/test.test,
* test/g++/init/Makefile.am, test/g++/init/test.test,
* test/g++/inherit/Makefile.am, test/g++/inherit/test.test,
* test/g++/eh/Makefile.am, test/g++/eh/test.test,
* test/g++/debug/Makefile.am, test/g++/debug/test.test,
* test/g++/abi/Makefile.am, test/g++/abi/test.test: Fix and update.
* src/disamb/disambiguate/TemplateArguments.str,
* src/disamb/disambiguate/TemplateTraverse.str,
* src/disamb/disambiguate/TemplateDefinition.str,
* src/disamb/disambiguate/TemplateClassTraverse.str,
* src/disamb/disambiguate/TemplateClassDefinition.str,
* src/disamb/disambiguate/SimpleTypeSpecifier.str,
* src/disamb/disambiguate/ResolveCompound.str,
* src/disamb/disambiguate/Resolve.str,
* src/disamb/disambiguate/PrimaryExpression.str,
* src/disamb/disambiguate/Parameter.str,
* src/disamb/disambiguate/Makefile.am,
* src/disamb/disambiguate/afcxx-disambiguate.str,
* src/disamb/disambiguate/Kinds.str,
* src/disamb/disambiguate/Keys.str,
* src/disamb/disambiguate/Definition.str,
* src/disamb/disambiguate/ClassOrNamespaceTraverse.str,
* src/disamb/disambiguate/ClassOrNamespaceAmbiguity.str,
* src/disamb/disambiguate/BaseTraverse.str,
* src/disamb/disambiguate/AmbiguityCandidate.str: Fix several bugs.
* src/parser/parse-cxx.str, config/check-rules.mk: Update.
* src/disamb/simpledeclaration/Makefile.am,
* src/disamb/simpledeclaration/afcxx-simpledeclaration.str,
* src/disamb/simpledeclaration/afcxx-simpledeclaration.meta: New.
* src/disamb/classparam/Makefile.am,
* src/disamb/classparam/afcxx-classparam.str,
* src/disamb/classparam/afcxx-classparam.meta: New.
* src/disamb/disambiguate/PostfixExpressionAmbiguity.str,
* src/disamb/disambiguate/PostfixExpressionAmbiguity.meta,
* src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.str,
* src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.meta,
* src/disamb/disambiguate/TemplateIdAmbiguityCut.str,
* src/disamb/disambiguate/TemplateIdAmbiguityCandidate.str,
* src/disamb/disambiguate/TemplateIdAmbiguity.str,
* src/disamb/disambiguate/TemplateIdAmbiguityCut.meta,
* src/disamb/disambiguate/TemplateIdAmbiguityCandidate.meta,
* src/disamb/disambiguate/TemplateIdAmbiguity.meta,
* src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.str,
* src/disamb/disambiguate/TemplateFunctionDefinition.str,
* src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.meta,
* src/disamb/disambiguate/TemplateFunctionDefinition.meta,
* src/disamb/disambiguate/TemplateFunctionTraverse.str,
* src/disamb/disambiguate/TemplateFunctionTraverse.meta: New.
* src/disamb/ambdown/ambdown.str, src/disamb/ambdown/Makefile.am: New.
2004-01-15 Valentin David <valentin@lrde.epita.fr>
* lib/prelude/Makefile.am: Fix.
......
......@@ -2,3 +2,4 @@
* debug filters (except disambiguate which will be rewritten)
* list different bugs in test/g++/ files parsing
* correct the pretty print informations
* check for all unknown ambiguities (list them is a good job)
......@@ -12,12 +12,14 @@ CXX_PP_AF=$(top_builddir)/src/syn/Cxx.pp.af
# Disambiguation
.ptcc.disambcc:
$(top_builddir)/src/disamb/namespace/afcxx-namespace -S \
-i $< | \
$(top_builddir)/src/disamb/ambdown/ambdown -i $< | \
$(top_builddir)/src/disamb/simpledeclaration/afcxx-simpledeclaration -S | \
$(top_builddir)/src/disamb/namespace/afcxx-namespace -S | \
$(top_builddir)/src/disamb/declaration/afcxx-declaration -S | \
$(top_builddir)/src/disamb/resolve/afcxx-resolve -S | \
$(top_builddir)/src/disamb/declarator/afcxx-declarator -S | \
$(top_builddir)/src/disamb/bitfield/afcxx-bitfield -S | \
$(top_builddir)/src/disamb/classparam/afcxx-classparam -S | \
$(top_builddir)/src/disamb/resolve/afcxx-resolve -S | \
$(top_builddir)/src/disamb/specifier/afcxx-specifier -S | \
$(top_builddir)/src/disamb/disambiguate/afcxx-disambiguate -S \
......
......@@ -109,6 +109,9 @@ AC_CONFIG_FILES([Makefile
src/disamb/resolve/Makefile
src/disamb/specifier/Makefile
src/disamb/bitfield/Makefile
src/disamb/classparam/Makefile
src/disamb/simpledeclaration/Makefile
src/disamb/ambdown/Makefile
test/Makefile
test/disambiguate/Makefile
test/expressions/Makefile
......
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 2)
(Project-Description "Meta/SDF Grammar for C++")
(Project-Version meta-c++-grammar 0 138)
(Parent-Version meta-c++-grammar 0 137)
(Project-Version meta-c++-grammar 0 139)
(Parent-Version meta-c++-grammar 0 138)
(New-Version-Log "")
(Version-Log "2004-01-15 Valentin David <valentin@lrde.epita.fr>
* lib/prelude/Makefile.am: Fix.
(Version-Log "2004-01-22 Valentin David <valentin@lrde.epita.fr>
* configure.ac, src/disamb/Makefile.am: Update.
* TODO: Update.
* src/syn/TemplateParameters.sdf: Add tag for deterministic syntax.
* test/disambiguate/template-05.cc,
* test/disambiguate/template-10.detcc,
* test/disambiguate/template-09.detcc,
* test/disambiguate/template-05.detcc: Fix.
* test/disambiguate/test.test, test/disambiguate/Makefile.am,
* test/expressions/Makefile.am, test/expressions/test.test,
* test/g++/template/Makefile.am, test/g++/template/test.test,
* test/g++/parse/Makefile.am, test/g++/parse/test.test,
* test/g++/overload/Makefile.am, test/g++/overload/test.test,
* test/g++/other/Makefile.am, test/g++/other/test.test,
* test/g++/opt/Makefile.am, test/g++/opt/test.test,
* test/g++/lookup/Makefile.am, test/g++/lookup/test.test,
* test/g++/init/Makefile.am, test/g++/init/test.test,
* test/g++/inherit/Makefile.am, test/g++/inherit/test.test,
* test/g++/eh/Makefile.am, test/g++/eh/test.test,
* test/g++/debug/Makefile.am, test/g++/debug/test.test,
* test/g++/abi/Makefile.am, test/g++/abi/test.test: Fix and update.
* src/disamb/disambiguate/TemplateArguments.str,
* src/disamb/disambiguate/TemplateTraverse.str,
* src/disamb/disambiguate/TemplateDefinition.str,
* src/disamb/disambiguate/TemplateClassTraverse.str,
* src/disamb/disambiguate/TemplateClassDefinition.str,
* src/disamb/disambiguate/SimpleTypeSpecifier.str,
* src/disamb/disambiguate/PrimaryExpression.str:
Remove unused debug code.
* src/disamb/disambiguate/Lookup.str: Fix.
* test/g++/other/Makefile.am, test/g++/opt/Makefile.am:
Update XFAIL tests.")
(Checkin-Time "Thu, 15 Jan 2004 19:49:57 +0100")
* src/disamb/disambiguate/ResolveCompound.str,
* src/disamb/disambiguate/Resolve.str,
* src/disamb/disambiguate/PrimaryExpression.str,
* src/disamb/disambiguate/Parameter.str,
* src/disamb/disambiguate/Makefile.am,
* src/disamb/disambiguate/afcxx-disambiguate.str,
* src/disamb/disambiguate/Kinds.str,
* src/disamb/disambiguate/Keys.str,
* src/disamb/disambiguate/Definition.str,
* src/disamb/disambiguate/ClassOrNamespaceTraverse.str,
* src/disamb/disambiguate/ClassOrNamespaceAmbiguity.str,
* src/disamb/disambiguate/BaseTraverse.str,
* src/disamb/disambiguate/AmbiguityCandidate.str: Fix several bugs.
* src/parser/parse-cxx.str, config/check-rules.mk: Update.
* src/disamb/simpledeclaration/Makefile.am,
* src/disamb/simpledeclaration/afcxx-simpledeclaration.str,
* src/disamb/simpledeclaration/afcxx-simpledeclaration.meta: New.
* src/disamb/classparam/Makefile.am,
* src/disamb/classparam/afcxx-classparam.str,
* src/disamb/classparam/afcxx-classparam.meta: New.
* src/disamb/disambiguate/PostfixExpressionAmbiguity.str,
* src/disamb/disambiguate/PostfixExpressionAmbiguity.meta,
* src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.str,
* src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.meta,
* src/disamb/disambiguate/TemplateIdAmbiguityCut.str,
* src/disamb/disambiguate/TemplateIdAmbiguityCandidate.str,
* src/disamb/disambiguate/TemplateIdAmbiguity.str,
* src/disamb/disambiguate/TemplateIdAmbiguityCut.meta,
* src/disamb/disambiguate/TemplateIdAmbiguityCandidate.meta,
* src/disamb/disambiguate/TemplateIdAmbiguity.meta,
* src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.str,
* src/disamb/disambiguate/TemplateFunctionDefinition.str,
* src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.meta,
* src/disamb/disambiguate/TemplateFunctionDefinition.meta,
* src/disamb/disambiguate/TemplateFunctionTraverse.str,
* src/disamb/disambiguate/TemplateFunctionTraverse.meta: New.
* src/disamb/ambdown/ambdown.str, src/disamb/ambdown/Makefile.am: New.")
(Checkin-Time "Thu, 22 Jan 2004 21:40:26 +0100")
(Checkin-Login david_v)
(Populate-Ignore
(
......@@ -89,11 +152,11 @@
)
(Project-Keywords)
(Files
(ChangeLog (meta-c++-grammar/0_ChangeLog 1.134 600))
(ChangeLog (meta-c++-grammar/0_ChangeLog 1.135 600))
(Makefile.am (meta-c++-grammar/f/34_Makefile.a 1.12 644))
(README (meta-c++-grammar/g/37_README 1.7 600))
(config/Makefile.am (meta-c++-grammar/f/40_Makefile.a 1.5 644))
(configure.ac (meta-c++-grammar/f/44_configure. 1.30 600))
(configure.ac (meta-c++-grammar/f/44_configure. 1.31 600))
(src/syn/Layout.sdf (meta-c++-grammar/4_Layout.sdf 1.4 644))
(prj (meta-c++-grammar.prj) :symlink)
(src/Makefile.am (meta-c++-grammar/f/46_Makefile.a 1.19 644))
......@@ -167,7 +230,7 @@
(src/syn/StringLiterals.sdf (meta-c++-grammar/b/18_StringLite 1.3 644))
(src/syn/TemplateDeclarations.sdf (meta-c++-grammar/b/19_TemplateDe 1.6 644))
(src/syn/TemplateIds.sdf (meta-c++-grammar/b/20_TemplateId 1.7 644))
(src/syn/TemplateParameters.sdf (meta-c++-grammar/b/21_TemplatePa 1.6 644))
(src/syn/TemplateParameters.sdf (meta-c++-grammar/b/21_TemplatePa 1.7 644))
(src/syn/ThrowExpressions.sdf (meta-c++-grammar/b/22_ThrowExpre 1.4 644))
(src/syn/TranslationUnits.sdf (meta-c++-grammar/b/23_Translatio 1.4 644))
(src/syn/TryBlocks.sdf (meta-c++-grammar/b/24_TryBlocks. 1.6 644))
......@@ -354,7 +417,7 @@
(test/disambiguate/template-02.cc (meta-c++-grammar/g/2_template-0 1.2 644))
(test/disambiguate/template-03.cc (meta-c++-grammar/g/3_template-0 1.2 644))
(test/disambiguate/template-04.cc (meta-c++-grammar/g/4_template-0 1.2 644))
(test/disambiguate/template-05.cc (meta-c++-grammar/g/5_template-0 1.2 644))
(test/disambiguate/template-05.cc (meta-c++-grammar/g/5_template-0 1.3 644))
(test/disambiguate/typedef-01.cc (meta-c++-grammar/f/20_typedef-01 1.1 600))
(test/disambiguate/typedef-02.cc (meta-c++-grammar/f/21_typedef-02 1.1 600))
(test/disambiguate/variable-01.cc (meta-c++-grammar/f/22_variable-0 1.1 600))
......@@ -498,35 +561,35 @@
(test/disambiguate/class-03.detcc (meta-c++-grammar/j/15_class-03.d 1.3 644))
(test/disambiguate/class-02.detcc (meta-c++-grammar/j/16_class-02.d 1.2 644))
(test/disambiguate/class-01.detcc (meta-c++-grammar/j/17_class-01.d 1.1 644))
(test/disambiguate/test.test (meta-c++-grammar/j/18_test.test 1.3 750))
(test/disambiguate/Makefile.am (meta-c++-grammar/j/19_Makefile.a 1.4 640))
(test/expressions/Makefile.am (meta-c++-grammar/j/20_Makefile.a 1.3 640))
(test/expressions/test.test (meta-c++-grammar/j/21_test.test 1.1 750))
(test/disambiguate/test.test (meta-c++-grammar/j/18_test.test 1.4 750))
(test/disambiguate/Makefile.am (meta-c++-grammar/j/19_Makefile.a 1.5 640))
(test/expressions/Makefile.am (meta-c++-grammar/j/20_Makefile.a 1.4 640))
(test/expressions/test.test (meta-c++-grammar/j/21_test.test 1.2 750))
(test/g++/Makefile.am (meta-c++-grammar/j/22_Makefile.a 1.1 644))
(test/g++/template/Makefile.am (meta-c++-grammar/j/23_Makefile.a 1.5 644))
(test/g++/template/test.test (meta-c++-grammar/j/24_test.test 1.2 750))
(test/g++/parse/Makefile.am (meta-c++-grammar/j/25_Makefile.a 1.4 644))
(test/g++/parse/test.test (meta-c++-grammar/j/26_test.test 1.2 750))
(test/g++/overload/Makefile.am (meta-c++-grammar/j/27_Makefile.a 1.4 644))
(test/g++/overload/test.test (meta-c++-grammar/j/28_test.test 1.2 750))
(test/g++/other/Makefile.am (meta-c++-grammar/j/29_Makefile.a 1.5 644))
(test/g++/other/test.test (meta-c++-grammar/j/30_test.test 1.2 750))
(test/g++/opt/Makefile.am (meta-c++-grammar/j/31_Makefile.a 1.5 644))
(test/g++/opt/test.test (meta-c++-grammar/j/32_test.test 1.2 750))
(test/g++/lookup/Makefile.am (meta-c++-grammar/j/33_Makefile.a 1.3 644))
(test/g++/lookup/test.test (meta-c++-grammar/j/34_test.test 1.2 750))
(test/g++/init/Makefile.am (meta-c++-grammar/j/35_Makefile.a 1.4 644))
(test/g++/init/test.test (meta-c++-grammar/j/36_test.test 1.2 750))
(test/g++/inherit/Makefile.am (meta-c++-grammar/j/37_Makefile.a 1.4 644))
(test/g++/inherit/test.test (meta-c++-grammar/j/38_test.test 1.2 750))
(test/g++/eh/Makefile.am (meta-c++-grammar/j/39_Makefile.a 1.4 644))
(test/g++/eh/test.test (meta-c++-grammar/j/40_test.test 1.2 750))
(test/g++/debug/Makefile.am (meta-c++-grammar/j/41_Makefile.a 1.4 644))
(test/g++/debug/test.test (meta-c++-grammar/j/42_test.test 1.2 750))
(test/g++/abi/Makefile.am (meta-c++-grammar/j/43_Makefile.a 1.4 644))
(test/g++/abi/test.test (meta-c++-grammar/j/44_test.test 1.2 750))
(src/disamb/Makefile.am (meta-c++-grammar/j/45_Makefile.a 1.2 644))
(src/disamb/disambiguate/TemplateArguments.str (meta-c++-grammar/j/46_TemplateAr 1.3 644))
(test/g++/template/Makefile.am (meta-c++-grammar/j/23_Makefile.a 1.6 644))
(test/g++/template/test.test (meta-c++-grammar/j/24_test.test 1.3 750))
(test/g++/parse/Makefile.am (meta-c++-grammar/j/25_Makefile.a 1.5 644))
(test/g++/parse/test.test (meta-c++-grammar/j/26_test.test 1.3 750))
(test/g++/overload/Makefile.am (meta-c++-grammar/j/27_Makefile.a 1.5 644))
(test/g++/overload/test.test (meta-c++-grammar/j/28_test.test 1.3 750))
(test/g++/other/Makefile.am (meta-c++-grammar/j/29_Makefile.a 1.6 644))
(test/g++/other/test.test (meta-c++-grammar/j/30_test.test 1.3 750))
(test/g++/opt/Makefile.am (meta-c++-grammar/j/31_Makefile.a 1.6 644))
(test/g++/opt/test.test (meta-c++-grammar/j/32_test.test 1.3 750))
(test/g++/lookup/Makefile.am (meta-c++-grammar/j/33_Makefile.a 1.4 644))
(test/g++/lookup/test.test (meta-c++-grammar/j/34_test.test 1.3 750))
(test/g++/init/Makefile.am (meta-c++-grammar/j/35_Makefile.a 1.5 644))
(test/g++/init/test.test (meta-c++-grammar/j/36_test.test 1.3 750))
(test/g++/inherit/Makefile.am (meta-c++-grammar/j/37_Makefile.a 1.5 644))
(test/g++/inherit/test.test (meta-c++-grammar/j/38_test.test 1.3 750))
(test/g++/eh/Makefile.am (meta-c++-grammar/j/39_Makefile.a 1.5 644))
(test/g++/eh/test.test (meta-c++-grammar/j/40_test.test 1.3 750))
(test/g++/debug/Makefile.am (meta-c++-grammar/j/41_Makefile.a 1.5 644))
(test/g++/debug/test.test (meta-c++-grammar/j/42_test.test 1.3 750))
(test/g++/abi/Makefile.am (meta-c++-grammar/j/43_Makefile.a 1.5 644))
(test/g++/abi/test.test (meta-c++-grammar/j/44_test.test 1.3 750))
(src/disamb/Makefile.am (meta-c++-grammar/j/45_Makefile.a 1.3 644))
(src/disamb/disambiguate/TemplateArguments.str (meta-c++-grammar/j/46_TemplateAr 1.4 644))
(src/disamb/disambiguate/VariableDefinitionCandidate.str (meta-c++-grammar/j/47_VariableDe 1.3 644))
(src/disamb/disambiguate/VariableDefinition.str (meta-c++-grammar/j/48_VariableDe 1.3 644))
(src/disamb/disambiguate/VariableDeclaratorCandidate.str (meta-c++-grammar/j/49_VariableDe 1.3 644))
......@@ -539,38 +602,38 @@
(src/disamb/disambiguate/TypeAmbiguityCandidate.str (meta-c++-grammar/k/4_TypeAmbigu 1.3 644))
(src/disamb/disambiguate/TypeAmbiguity.str (meta-c++-grammar/k/5_TypeAmbigu 1.3 644))
(src/disamb/disambiguate/TemplateTraverseCandidate.str (meta-c++-grammar/k/6_TemplateTr 1.3 644))
(src/disamb/disambiguate/TemplateTraverse.str (meta-c++-grammar/k/7_TemplateTr 1.3 644))
(src/disamb/disambiguate/TemplateTraverse.str (meta-c++-grammar/k/7_TemplateTr 1.4 644))
(src/disamb/disambiguate/TemplateDefinitionCandidate.str (meta-c++-grammar/k/8_TemplateDe 1.3 644))
(src/disamb/disambiguate/TemplateDefinition.str (meta-c++-grammar/k/9_TemplateDe 1.3 644))
(src/disamb/disambiguate/TemplateClassTraverse.str (meta-c++-grammar/k/10_TemplateCl 1.3 644))
(src/disamb/disambiguate/TemplateDefinition.str (meta-c++-grammar/k/9_TemplateDe 1.4 644))
(src/disamb/disambiguate/TemplateClassTraverse.str (meta-c++-grammar/k/10_TemplateCl 1.4 644))
(src/disamb/disambiguate/TemplateClassDefinitionCandidate.str (meta-c++-grammar/k/11_TemplateCl 1.3 644))
(src/disamb/disambiguate/TemplateClassDefinition.str (meta-c++-grammar/k/12_TemplateCl 1.3 644))
(src/disamb/disambiguate/TemplateClassDefinition.str (meta-c++-grammar/k/12_TemplateCl 1.4 644))
(src/disamb/disambiguate/SimpleTypeSpecifierCandidate.str (meta-c++-grammar/k/13_SimpleType 1.3 644))
(src/disamb/disambiguate/SimpleTypeSpecifier.str (meta-c++-grammar/k/14_SimpleType 1.4 644))
(src/disamb/disambiguate/ResolveCompound.str (meta-c++-grammar/k/15_ResolveCom 1.3 644))
(src/disamb/disambiguate/Resolve.str (meta-c++-grammar/k/16_Resolve.st 1.3 644))
(src/disamb/disambiguate/SimpleTypeSpecifier.str (meta-c++-grammar/k/14_SimpleType 1.5 644))
(src/disamb/disambiguate/ResolveCompound.str (meta-c++-grammar/k/15_ResolveCom 1.4 644))
(src/disamb/disambiguate/Resolve.str (meta-c++-grammar/k/16_Resolve.st 1.4 644))
(src/disamb/disambiguate/PrimaryExpressionCandidate.str (meta-c++-grammar/k/17_PrimaryExp 1.3 644))
(src/disamb/disambiguate/PrimaryExpression.str (meta-c++-grammar/k/18_PrimaryExp 1.4 644))
(src/disamb/disambiguate/Parameter.str (meta-c++-grammar/k/19_Parameter. 1.3 644))
(src/disamb/disambiguate/PrimaryExpression.str (meta-c++-grammar/k/18_PrimaryExp 1.5 644))
(src/disamb/disambiguate/Parameter.str (meta-c++-grammar/k/19_Parameter. 1.4 644))
(src/disamb/disambiguate/NestedNameSpecifier.str (meta-c++-grammar/k/20_NestedName 1.3 644))
(src/disamb/disambiguate/NamespaceTraverse.str (meta-c++-grammar/k/21_NamespaceT 1.3 644))
(src/disamb/disambiguate/NamespaceDefinitionCandidate.str (meta-c++-grammar/k/22_NamespaceD 1.3 644))
(src/disamb/disambiguate/NamespaceDefinition.str (meta-c++-grammar/k/23_NamespaceD 1.3 644))
(src/disamb/disambiguate/Makefile.am (meta-c++-grammar/k/24_Makefile.a 1.2 640))
(src/disamb/disambiguate/afcxx-disambiguate.str (meta-c++-grammar/k/25_afcxx-disa 1.3 644))
(src/disamb/disambiguate/Makefile.am (meta-c++-grammar/k/24_Makefile.a 1.3 640))
(src/disamb/disambiguate/afcxx-disambiguate.str (meta-c++-grammar/k/25_afcxx-disa 1.4 644))
(src/disamb/disambiguate/Lookup.str (meta-c++-grammar/k/26_Lookup.str 1.3 644))
(src/disamb/disambiguate/LocalOrGlobal.str (meta-c++-grammar/k/27_LocalOrGlo 1.3 644))
(src/disamb/disambiguate/Kinds.str (meta-c++-grammar/k/28_Kinds.str 1.2 644))
(src/disamb/disambiguate/Keys.str (meta-c++-grammar/k/29_Keys.str 1.2 644))
(src/disamb/disambiguate/Kinds.str (meta-c++-grammar/k/28_Kinds.str 1.3 644))
(src/disamb/disambiguate/Keys.str (meta-c++-grammar/k/29_Keys.str 1.3 644))
(src/disamb/disambiguate/IfDebug.str (meta-c++-grammar/k/30_IfDebug.st 1.3 644))
(src/disamb/disambiguate/Definition.str (meta-c++-grammar/k/31_Definition 1.3 644))
(src/disamb/disambiguate/Definition.str (meta-c++-grammar/k/31_Definition 1.4 644))
(src/disamb/disambiguate/CompoundStatementCandidate.str (meta-c++-grammar/k/32_CompoundSt 1.3 644))
(src/disamb/disambiguate/CompoundStatement.str (meta-c++-grammar/k/33_CompoundSt 1.3 644))
(src/disamb/disambiguate/ClassTraverse.str (meta-c++-grammar/k/34_ClassTrave 1.3 644))
(src/disamb/disambiguate/ClassOrNamespaceTraverse.str (meta-c++-grammar/k/35_ClassOrNam 1.3 644))
(src/disamb/disambiguate/ClassOrNamespaceTraverse.str (meta-c++-grammar/k/35_ClassOrNam 1.4 644))
(src/disamb/disambiguate/ClassOrNamespaceAmbiguityCut.str (meta-c++-grammar/k/36_ClassOrNam 1.2 644))
(src/disamb/disambiguate/ClassOrNamespaceAmbiguityCandidate.str (meta-c++-grammar/k/37_ClassOrNam 1.3 644))
(src/disamb/disambiguate/ClassOrNamespaceAmbiguity.str (meta-c++-grammar/k/38_ClassOrNam 1.2 644))
(src/disamb/disambiguate/ClassOrNamespaceAmbiguity.str (meta-c++-grammar/k/38_ClassOrNam 1.3 644))
(src/disamb/disambiguate/ClassDefinitionCandidate.str (meta-c++-grammar/k/39_ClassDefin 1.3 644))
(src/disamb/disambiguate/ClassDefinition.str (meta-c++-grammar/k/40_ClassDefin 1.3 644))
(src/disamb/disambiguate/CheckTypeName.str (meta-c++-grammar/k/41_CheckTypeN 1.3 644))
......@@ -578,8 +641,8 @@
(src/disamb/disambiguate/CheckEnumName.str (meta-c++-grammar/k/43_CheckEnumN 1.3 644))
(src/disamb/disambiguate/CheckClassName.str (meta-c++-grammar/k/44_CheckClass 1.3 644))
(src/disamb/disambiguate/BaseTraverseCandidate.str (meta-c++-grammar/k/45_BaseTraver 1.3 644))
(src/disamb/disambiguate/BaseTraverse.str (meta-c++-grammar/k/46_BaseTraver 1.3 644))
(src/disamb/disambiguate/AmbiguityCandidate.str (meta-c++-grammar/k/47_AmbiguityC 1.2 644))
(src/disamb/disambiguate/BaseTraverse.str (meta-c++-grammar/k/46_BaseTraver 1.4 644))
(src/disamb/disambiguate/AmbiguityCandidate.str (meta-c++-grammar/k/47_AmbiguityC 1.3 644))
(src/disamb/disambiguate/Ambiguity.str (meta-c++-grammar/k/48_Ambiguity. 1.3 644))
(src/disamb/specifier/Stop.str (meta-c++-grammar/k/49_Stop.str 1.4 644))
(src/disamb/specifier/Specifier.str (meta-c++-grammar/k/50_Specifier. 1.4 644))
......@@ -618,18 +681,18 @@
(src/disamb/namespace/NamespaceAliasDefinition.str (meta-c++-grammar/l/31_NamespaceA 1.5 640))
(src/disamb/namespace/Makefile.am (meta-c++-grammar/l/32_Makefile.a 1.2 640))
(src/disamb/namespace/afcxx-namespace.str (meta-c++-grammar/l/33_afcxx-name 1.2 640))
(src/parser/parse-cxx.str (meta-c++-grammar/l/34_parse-cxx. 1.3 644))
(src/parser/parse-cxx.str (meta-c++-grammar/l/34_parse-cxx. 1.4 644))
(src/parser/parse-dxx.str (meta-c++-grammar/l/35_parse-dxx. 1.5 644))
(src/parser/Makefile.am (meta-c++-grammar/l/36_Makefile.a 1.2 644))
(config/check-rules.mk (meta-c++-grammar/l/37_check-rule 1.3 640))
(config/check-rules.mk (meta-c++-grammar/l/37_check-rule 1.4 640))
(config/defs.in (meta-c++-grammar/l/38_defs.in 1.1 644))
(test/disambiguate/variable-01.detcc (meta-c++-grammar/l/39_variable-0 1.2 644))
(test/disambiguate/typedef-02.detcc (meta-c++-grammar/l/40_typedef-02 1.2 644))
(test/disambiguate/typedef-01.detcc (meta-c++-grammar/l/41_typedef-01 1.2 644))
(test/disambiguate/template-10.detcc (meta-c++-grammar/l/42_template-1 1.2 644))
(test/disambiguate/template-09.detcc (meta-c++-grammar/l/43_template-0 1.3 644))
(test/disambiguate/template-10.detcc (meta-c++-grammar/l/42_template-1 1.3 644))
(test/disambiguate/template-09.detcc (meta-c++-grammar/l/43_template-0 1.4 644))
(test/disambiguate/template-06.detcc (meta-c++-grammar/l/44_template-0 1.3 644))
(test/disambiguate/template-05.detcc (meta-c++-grammar/l/45_template-0 1.2 644))
(test/disambiguate/template-05.detcc (meta-c++-grammar/l/45_template-0 1.3 644))
(test/disambiguate/template-04.detcc (meta-c++-grammar/l/46_template-0 1.3 644))
(test/disambiguate/function-06.detcc (meta-c++-grammar/l/47_function-0 1.3 644))
(test/disambiguate/function-05.detcc (meta-c++-grammar/l/48_function-0 1.3 644))
......@@ -650,7 +713,7 @@
;; Files added by populate at Wed, 16 Jul 2003 10:20:52 +0200,
;; to version 0.125(w), by david_v:
(TODO (meta-c++-grammar/m/6_TODO 1.5 644))
(TODO (meta-c++-grammar/m/6_TODO 1.6 644))
;; Files added by populate at Thu, 17 Jul 2003 17:40:26 +0200,
;; to version 0.128(w), by david_v:
......@@ -764,6 +827,34 @@
; (lib/prelude/Overlays.str ())
; (lib/prelude/Layouts.str ())
;; Files added by populate at Thu, 22 Jan 2004 18:12:36 +0100,
;; to version 0.138(w), by david_v:
(src/disamb/simpledeclaration/Makefile.am (meta-c++-grammar/o/13_Makefile.a 1.1 640))
(src/disamb/simpledeclaration/afcxx-simpledeclaration.str (meta-c++-grammar/o/14_afcxx-simp 1.1 644))
(src/disamb/simpledeclaration/afcxx-simpledeclaration.meta (meta-c++-grammar/o/15_afcxx-simp 1.1 644))
(src/disamb/classparam/afcxx-classparam.meta (meta-c++-grammar/o/16_afcxx-clas 1.1 644))
(src/disamb/classparam/Makefile.am (meta-c++-grammar/o/17_Makefile.a 1.1 640))
(src/disamb/classparam/afcxx-classparam.str (meta-c++-grammar/o/18_afcxx-clas 1.1 644))
(src/disamb/disambiguate/PostfixExpressionAmbiguity.str (meta-c++-grammar/o/19_PostfixExp 1.1 644))
(src/disamb/disambiguate/PostfixExpressionAmbiguity.meta (meta-c++-grammar/o/20_PostfixExp 1.1 644))
(src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.str (meta-c++-grammar/o/21_PostfixExp 1.1 644))
(src/disamb/disambiguate/PostfixExpressionAmbiguityCandidate.meta (meta-c++-grammar/o/22_PostfixExp 1.1 644))
(src/disamb/disambiguate/TemplateIdAmbiguityCut.str (meta-c++-grammar/o/23_TemplateId 1.1 644))
(src/disamb/disambiguate/TemplateIdAmbiguityCandidate.str (meta-c++-grammar/o/24_TemplateId 1.1 644))
(src/disamb/disambiguate/TemplateIdAmbiguity.str (meta-c++-grammar/o/25_TemplateId 1.1 644))
(src/disamb/disambiguate/TemplateIdAmbiguityCut.meta (meta-c++-grammar/o/26_TemplateId 1.1 644))
(src/disamb/disambiguate/TemplateIdAmbiguityCandidate.meta (meta-c++-grammar/o/27_TemplateId 1.1 644))
(src/disamb/disambiguate/TemplateIdAmbiguity.meta (meta-c++-grammar/o/28_TemplateId 1.1 644))
(src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.str (meta-c++-grammar/o/29_TemplateFu 1.1 644))
(src/disamb/disambiguate/TemplateFunctionDefinition.str (meta-c++-grammar/o/30_TemplateFu 1.1 644))
(src/disamb/disambiguate/TemplateFunctionDefinitionCandidate.meta (meta-c++-grammar/o/31_TemplateFu 1.1 644))
(src/disamb/disambiguate/TemplateFunctionDefinition.meta (meta-c++-grammar/o/32_TemplateFu 1.1 644))
(src/disamb/disambiguate/TemplateFunctionTraverse.str (meta-c++-grammar/o/33_TemplateFu 1.1 644))
(src/disamb/disambiguate/TemplateFunctionTraverse.meta (meta-c++-grammar/o/34_TemplateFu 1.1 644))
(src/disamb/ambdown/ambdown.str (meta-c++-grammar/o/35_ambdown.st 1.1 644))
(src/disamb/ambdown/Makefile.am (meta-c++-grammar/o/36_Makefile.a 1.1 640))
)
(Merge-Parents)
(New-Merge-Parents)
......@@ -7,6 +7,9 @@ SUBDIRS = \
namespace \
resolve \
specifier \
bitfield
bitfield \
classparam \
simpledeclaration \
ambdown
BOOTCLEAN_SUBDIRS = $(SUBDIRS)
include $(top_srcdir)/config/Makefile.xt
-include ambdown.c.dep
SRCS = \
ambdown.str
SCFLAGS = --main $* --verbose 0 --asfix
STRINCLUDES = -I $(ASFIX_TOOLS)/share/asfix-tools
bin_PROGRAMS = ambdown
BOOTCLEANFILES = ambdown.c
EXTRA_DIST = $(SRCS)
CLEANFILES = ambdown.c.dep
module ambdown
imports
lib
AsFix2-Syntax
signature
constructors
amb : List(Term) -> Term
appl : Term * Term -> Term
strategies
merge = rec x(
([], [])
; ![]
<+ {l1, l2:
?([l1], [l2])
; ![<conc> ([l1], l2)]
}
<+ {l1, l2, l1s, l2s:
?([l1|l1s], [l2|l2s])
; <conc> ([<conc> ([l1], l2)], <x> (l1s, l2s))
})
myzip = rec x(
[]
<+ [id]
; {l:
[ map(![<id>])
; ?l]
; !l
}
<+ {l, ls:
?[l|ls]
; <x> ls
; <merge> (l, <id>)
})
only-one(s) = rec x([s|id] < [id|map(not(s))] + [id|x])
putdown = amb(map(?appl(pr,_)))
; amb(map({e: ?appl(_,e); !e })
; myzip
; map(uniq)
; map({e: ?[e]; !e} <+ !amb(<id>)); ?ambs)
; !ambs
; only-one(amb(not(map(appl(prod(id,cf(opt(layout)),id),id)))))
; !appl(pr, ambs)
delete-last-layout =
rec x(
[]
<+ ([appl(prod(id,cf(opt(layout)),id),id),
appl(prod([],cf(opt(id)),id), id)]
; [appl(prod(![], id, id), ![]), id])
<+ [id|x])
delete-misplaced-layout =
alltd(amb(map(try(appl(prod(at-last(cf(opt(id))), id, id), id)
; delete-last-layout))))
empty-layout = appl(prod([],cf(opt(layout)),no-attrs),[])
clean-layout = amb(filter(not(empty-layout)))
; ?amb([l])
; !l
replace-each-layout =
rec x(
[]
<+ (try({l, ls, m, ms:
?[l|ls]
; !ls
; ?[m|ms]
; !m
; amb(map(appl(prod(id, cf(opt(layout)), id), id)))
; <delete-misplaced-layout> l => l'
; <clean-layout> m => m'
; ![l'|[m'|ms]] })
; [id|x]))
replace-layout = appl(id, one(amb(map(appl(prod(id,
cf(opt(layout)),
id), id))))
; replace-each-layout)
ambdown = iowrap(topdown(repeat(putdown))
; topdown(try(replace-layout)))
include $(top_srcdir)/config/Makefile.xt
-include afcxx-classparam.c.dep
-include afcxx-classparam-ast.c.dep
SRCS = \
afcxx-classparam.str \
afcxx-classparam.meta
SCFLAGS = --main $* --verbose 0 --asfix
STRINCLUDES = -I $(ASFIX_TOOLS)/share/asfix-tools \
-I $(top_builddir)/src/sig \
-I $(top_builddir)/src/strategocxx
bin_PROGRAMS = afcxx-classparam afcxx-classparam-ast
BOOTCLEANFILES = afcxx-classparam.c afcxx-classparam-ast.c
EXTRA_DIST = $(SRCS)
CLEANFILES = afcxx-classparam.c.dep afcxx-classparam-ast.c.dep
afcxx-classparam-ast.c: afcxx-classparam.str
$(SCOMPILE) $(STRINCLUDES) --main afcxx-simpledeclaration --verbose 0 -i $< -o $@ -c
/*
* Copyright (C) 2004 EPITA Research and Development Laboratory
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
module afcxx-classparam
imports
lib
AsFix2-Syntax asfix Cxx
strategies
template-parameter-candidate = ?|TemplateParameter[ class Identifier-opt ]|
template-parameter-candidate = ?|TemplateParameter[ class Identifier-opt = TypeId ]|
template-parameter-candidate = ?|TemplateParameter[ typename Identifier-opt ]|
template-parameter-candidate = ?|TemplateParameter[ typename Identifier-opt = TypeId ]|
template-parameter-candidate = ?|TemplateParameter[ ParameterDeclaration ]|
template-parameter-candidate = ?|TemplateParameter[ template < TemplateParameterList > class Identifier-opt ]|
template-parameter-candidate = ?|TemplateParameter[ template < TemplateParameterList > class Identifier-opt = IdExpression ]|
class-param = ?|TemplateParameter[ class Identifier-opt ]|
class-param = ?|TemplateParameter[ ParameterDeclaration ]|
bad = ?|TemplateParameter[ ParameterDeclaration ]|
only-class = ?|TemplateParameter[ class Identifier-opt ]|
template-declaration = ?|TemplateDeclaration[ Dummy2-opt template < TemplateParameterList > Declaration ]|
last-param = collect(template-parameter-candidate); at-last(?[p]); !p
last-rec-param = ?|TemplateParameter[ template < TemplateParameterList > class Identifier-opt ]|; !TemplateParameterList; last-param
last-rec-param = ?|TemplateParameter[ template < TemplateParameterList > class Identifier-opt = IdExpression ]|; !TemplateParameterList; last-param
template-declaration-amb = amb(map(template-declaration); ?org; filter(where(last-param; not(bad)); [] < !org + id))
rec-template-parameter-amb = amb(map(template-parameter-candidate); ?org; filter(where(last-rec-param; not(bad)); [] < !org + id))
afcxx-classparam = iowrap(topdown(try(amb(map(class-param); filter(only-class)) <+ template-declaration-amb <+ rec-template-parameter-amb)))