Thread: [Nice-commit] Nice/src/bossa/parser Parser.jj,1.220,1.221 Loader.java,1.21,1.22
Brought to you by:
bonniot
From: <ar...@us...> - 2003-12-04 13:34:32
|
Update of /cvsroot/nice/Nice/src/bossa/parser In directory sc8-pr-cvs1:/tmp/cvs-serv9889/F:/nice/src/bossa/parser Modified Files: Parser.jj Loader.java Log Message: Make it possible to store nicedoc strings in the ast. Index: Parser.jj =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/parser/Parser.jj,v retrieving revision 1.220 retrieving revision 1.221 diff -C2 -d -r1.220 -r1.221 *** Parser.jj 1 Dec 2003 23:43:50 -0000 1.220 --- Parser.jj 4 Dec 2003 13:34:28 -0000 1.221 *************** *** 921,925 **** } ! List getField(NiceClass c, List fields, List overrides): { MonoSymbol field; --- 921,925 ---- } ! List getField(NiceClass c, List fields, List overrides, boolean storeDocString): { MonoSymbol field; *************** *** 927,933 **** boolean isOverride = false; Expression value = null; ! Token t = null; } { ( "override" { isOverride = true; } --- 927,938 ---- boolean isOverride = false; Expression value = null; ! Token t = getToken(1); ! String docString = null; } { + { + if (storeDocString && t.specialToken != null && t.specialToken.kind == FORMAL_COMMENT) + docString = t.specialToken.image; + } ( "override" { isOverride = true; } *************** *** 954,958 **** } else ! fields.add(c.makeField(field, value, isFinal, isTransient, isVolatile)); return overrides; --- 959,963 ---- } else ! fields.add(c.makeField(field, value, isFinal, isTransient, isVolatile, docString)); return overrides; *************** *** 962,966 **** // The constraint prefixing the class keyword is optional // It is useful for complex constraints ! ClassDefinition classDefinition(Constraint cst, List definitions): { ClassDefinition res; --- 967,971 ---- // The constraint prefixing the class keyword is optional // It is useful for complex constraints ! ClassDefinition classDefinition(Constraint cst, List definitions, boolean storeDocString): { ClassDefinition res; *************** *** 1021,1034 **** | LOOKAHEAD( getField(null, null) ) ! overrides = getField(impl, fields, overrides) ! | [ "public" | "private" ] ( LOOKAHEAD( methodBodyDefinitionLookahead() ) ! { MethodBodyDefinition mb; } ! mb = methodBodyDefinition(impl) ! { globalDefinitions.add(mb); } | - { Definition m; } m = internalMethodOrFunction(res) { --- 1026,1037 ---- | LOOKAHEAD( getField(null, null) ) ! overrides = getField(impl, fields, overrides, storeDocString) ! | { Definition m; Token t = getToken(1); } [ "public" | "private" ] ( LOOKAHEAD( methodBodyDefinitionLookahead() ) ! m = methodBodyDefinition(impl) ! { globalDefinitions.add(m); } | m = internalMethodOrFunction(res) { *************** *** 1038,1042 **** //globalDefinitions.add(m); } ! ) )* "}" --- 1041,1048 ---- //globalDefinitions.add(m); } ! ) ! { if (storeDocString && t.specialToken != null && t.specialToken.kind == FORMAL_COMMENT) ! m.docString = t.specialToken.image; ! } )* "}" *************** *** 1468,1472 **** ! Definition definition(List definitions): { Definition res; } { --- 1474,1478 ---- ! Definition definition(List definitions, boolean storeDocString): { Definition res; } { *************** *** 1485,1489 **** LOOKAHEAD ( "abstract" "interface" ) res=interfaceDefinition(cst) ! | res=classDefinition(cst, definitions) | res=methodDeclaration(cst) ) --- 1491,1495 ---- LOOKAHEAD ( "abstract" "interface" ) res=interfaceDefinition(cst) ! | res=classDefinition(cst, definitions, storeDocString) | res=methodDeclaration(cst) ) *************** *** 1493,1503 **** } ! void readDefinitions(List definitions): { Definition d; globalDefinitions = definitions; } ! { ! ( d = definition(definitions) { definitions.add(d); } )* <EOF> } --- 1499,1518 ---- } ! void readDefinitions(List definitions,boolean storeDocString): { Definition d; globalDefinitions = definitions; + Token t; } ! { { t = getToken(1); } ! ( d = definition(definitions, storeDocString) ! { ! if (storeDocString && t.specialToken != null && t.specialToken.kind == FORMAL_COMMENT) ! d.docString = t.specialToken.image; ! ! definitions.add(d); ! t = getToken(1); ! } ! )* <EOF> } *************** *** 1782,1790 **** ****************************************************************/ ! void module(List definitions): {} { readOpens() ! readDefinitions(definitions) } --- 1797,1805 ---- ****************************************************************/ ! void module(List definitions, boolean storeDocStrings): {} { readOpens() ! readDefinitions(definitions, storeDocStrings) } Index: Loader.java =================================================================== RCS file: /cvsroot/nice/Nice/src/bossa/parser/Loader.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** Loader.java 2 Dec 2003 00:03:03 -0000 1.21 --- Loader.java 4 Dec 2003 13:34:28 -0000 1.22 *************** *** 71,76 **** ParserTokenManager.nestingLevel = 0; try{ ! parser.module(definitions); } catch(ParseException e){ --- 71,78 ---- ParserTokenManager.nestingLevel = 0; + boolean storeDocStrings = false; + try{ ! parser.module(definitions, storeDocStrings); } catch(ParseException e){ |