CUP_history: 
--------------------------------------------------------------------------------------------------------------------

cup_circus.v4.5.1: 	Tree of inner_form is fixed, my tests are running perfectly (with the 4 old errors).
cup_circus.v4.6.1: 	outer_form is fixed, TODO's comments cleaned, uses CircusParserUtil.
cup_circus.v4.7.1: 	conjecture, PrefixExpressionMounter etc. uncommented, changed func_appl to TermA
					I've moved some of the parser methods to CircusParserUtil.
				
24 conflicts				
			
--------------------------------------------------------------------------------------------------------------------		
cup_circus.v4.8.1:	ATTEMPTS ON MODIFICATION IN THE SYNTAX
--------------------------------------------------------------------------------------------------------------------

- Adding func_appl productions for chanSetPara and nsExpr -> 125/140
- (schema) negation - Mudei no else de expr -> pred
- Adding Assumption and coercion -> 129/144
- Taking away func_appl productions for chanSetPara and nsExpr -> 28/43
- Adding N [ Exp+ ] in proc -> 28/43 (no changes)
- Taking away proc [ Exp+ ] in proc -> 28/43 (no changes)
- Adding proc LPAR csExp BAR csExp RPAR in proc -> 28/43 (no changes)
- Adding two new ProcessRI productions in proc -> 28/43 (no changes)
- Adding two new ProcessR productions in proc -> 28/43 (no changes)
- Adding four new Action productions in cspActExp -> 39/54
- Adding six new ActionR productions in cspActExp -> 39/54

--------------------------------------------------------------------------------------------------------------------
cup_circus.v4.9: 	
--------------------------------------------------------------------------------------------------------------------

- Several modification by Leo. Most important modification was in callAction -> 99 conflicts

--------------------------------------------------------------------------------------------------------------------
cup_circus.v4.10:
--------------------------------------------------------------------------------------------------------------------

- Substituting the let definition construction by the one of CZT -> 99/114 (no changes).

--------------------------------------------------------------------------------------------------------------------
cup_circus.v5.0:
--------------------------------------------------------------------------------------------------------------------

- Modification of the Java Code by Leo, few modifications on the productions.

99 conflicts

--------------------------------------------------------------------------------------------------------------------       
cup_circus.v6.0, cup_circus.v7.0: 
--------------------------------------------------------------------------------------------------------------------
        
- Taking away 10 productions (parallel) + callAction production in cspActExp -> 28  
- Bringing again the 2 take_this_away productions of cspActExp -> 28
- Taking away 5 new productions in proc -> 28
- Bringing again the 2 take_this_away productions of proc -> 28
- Taking N [ Exp+ ] -> 28

    Error(s) for T_Simple.tex
        Syntax error near ',' at line 26

- Taking assumption and coertion -> 24

    Error(s) for T_Simple.tex 
        Syntax error near ',' at line 26
        
- Voltando para identList ao inves de refNameList em csExp.    
    
- Coloquei de volta LPAREN circdecl:cd ODOT procDesc:p RPAREN LFL term_list:fl RFL, que Leo havia comentado.

    Error(s) for T_Simple.tex 
        Syntax error near '@' at line 115

- Coloquei de volta LPAREN circdecl:cd SPOT procDesc:p RPAREN LPAREN term_list:fl RPAREN

    Error(s) for T_Simple.tex 
        Syntax error near ',' at line 123. Este erro eu nao consegui tirar.
			
Conclusao:  cup_circus.v7.0 aceita T_Simples retirando-se o Rename.

Terminou com 24 conflitos.

--------------------------------------------------------------------------------------------------------------------
cup_circus.v8.0: 
--------------------------------------------------------------------------------------------------------------------

Inicialmente com 24 conflitos.

- Tirei term de act. -> 15
- Coloquei de volta IDENT EM cspActExp -> 30

    Isto foi feito para se tirar o conflito ne Schema-Exp (SchExprAction) com N (CallAction) na producao de Action.

--------------------------------------------------------------------------------------------------------------------
cup_circus.v9.0: 
--------------------------------------------------------------------------------------------------------------------

Inicialmente com 30 conflitos.

- Acrescentei um branch em state_def, para horizontal definition. -> 30
- Mudei o tipo de unboxed_def para AxPara.
- Mudei codigo java para tratar a nova gramatica: state definitions agora sao um ZPara (schema ou horiz. def.).
- Consertei codigo java. Em createParamAction eu tirei ".getCircusAction()".

--------------------------------------------------------------------------------------------------------------------
cup_circus.v5.1:
--------------------------------------------------------------------------------------------------------------------

Inicialmente com 99 conflitos. Feito a partir da v5.0.

- Voltando para identList ao inves de refNameList em csExp -> 99

- Coloquei de volta LPAREN circdecl:cd ODOT procDesc:p RPAREN LFL term_list:fl RFL, que Leo havia comentado.
  e coloquei de volta LPAREN circdecl:cd SPOT procDesc:p RPAREN LPAREN term_list:fl RPAREN 
  e comentario do codigo java destes dois branches -> 99

- Tirei term de act. -> 45

- Fiz as mesmas modificacoes listadas em cup_circus.v9.0 -> 45




--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------

teste_cup_circus.v1.0.cup:	Only Z part, without any conflict.

teste_cup_circus.v2.0.cup: 

- Z Part + program, circPar_list, circPar (this last one without chanPara,
chaSetPara and procPara productions) -> 0/0

- chanPara, cDecl, simDecl and ident_list + chanPara production in circPar -> 5/5

	The problem was due to 'expression' production in simCDecl.
	
- Taking away 'expression' production in SimCDecl -> 0/0

--------------------------------------------------------------------------------------------------------------------
cup_circus.v5.5:
--------------------------------------------------------------------------------------------------------------------

Inicialmente com 59 conflitos. Feito a partir da v5.1 que Angela me enviou no dia 22/06/2005.

Indentifiquei os pontos de conflitos mas ainda no soube corrigi-los :(. Infelizmente,
a incluso de novas produes aumentou bastante o nmero de conflitos. Esta verso no
tem produes comentadas, pois precisei fazer testes com tudo. Concluso: esta verso 
possui 158 conflitos!!! Fazendo uma busca por <<Manuela>> no .cup, pode-se encontrar tudo 
que acrescentei e os pontos de conflitos. Resumindo aqui:

MUDANAS:
1)  acrescentei os tokens CVAL, CRES, CVALRES para posteriormente incluir comandos 
parametrizados.
2)  removi os tokens sem uso: ARW, COMMA2, INSTATIATION, SETMIM1, END, ENDF, CUP1, CCON,
CAP1, LOWER_INSTATIATION e INIT. A remoo do primeiro token implica em modificao no
arquivo ClassifyTokens.java, que faz referncia a ele.
3)  inclui produes que tratam de instanciao de processos genricos indexados/parametrizados.
4)  a criao de CallProcess, por receber mais uma lista como parmetro, foram devidamente
alteradas, para obedecer a ordem correta das listas.
5)  comentei as produes que tratavam de processos iterativos indexados, j que no devem
mais existir. Futuramente pretendo deletar estas produes.
6)  criei o paramAct, para ficar de acordo com a sintaxe mais atual de Circus
7)  inclui a produo que trata de substituio de ao.
8)  inclui parenteses da produo: LPAREN paramAct:a RPAREN LPAREN:lp term_list:fl RPAREN
9)  criei a produo: IDENT:i LPAREN term_list:fl RPAREN
10) criei a produo: LPAREN CMU IDENT:i SPOT paramAct:a RPAREN LPAREN term_list:fl RPAREN
11) mudei a forma de criar um comando de especificao
12) mudei a forma de criai um comando de atribuio
13) mudei "LPAREN circdecl:cd SPOT procDesc:p RPAREN LPAREN term_list:fl RPAREN" para 
"LPAREN circdecl:cd SPOT proc:p RPAREN LPAREN term_list:fl RPAREN"
14) mudei "LPAREN circdecl:cd ODOT procDesc:p RPAREN LFL term_list:fl RFL" para 
"LPAREN circdecl:cd ODOT proc:p RPAREN LFL term_list:fl RFL"

Seguindo a dica de Angela, resolvi ir construindo o parser de circus aos pouquinhos, tendo 
apenas a parte de Z sem conflitos. Desta forma, identifiquei as produes que causavam
conflitos e listo a segui o nmero de conflitos que cada produo gera:

CONFLITOS ENCONTRADOS:

- simCDecl ::= expression:f (5 conflitos)
- proc ::= pred:pr CGUARD proc:p (25 conflitos)
- act ::= term:f (100 conflitos!!!!) 
- cspActExp ::= pred:p CGUARD act:a (31 conflitos)
- cspActExp ::= act:aL LPAR nSExpression:nsL BAR cSExp:cs BAR nSExpression:nsR  RPAR act:aR (9 conflitos)
- cspActExp ::= act:aL LPAR nSExpression:nsL BAR cSExp:csL BAR cSExp:csR BAR nSExpression:nsR  RPAR act:aR (9 conflitos)
- cspActExp ::= CMU IDENT:i SPOT act:a (19 conflitos)
- cspActExp ::= LPAREN paramAct:a RPAREN LPAREN:lp term_list:fl RPAREN (1 conflito)
- cspActExp ::= CPAR circdecl:cd SPOT LPAR nSExpression:ns BAR cSExp:cs RPAR act:a (7 conflitos)
- cspActExp ::= LPAR cSExp:cs RPAR circdecl:cd SPOT LPAR nSExpression:ns RPAR act:a (9 conflitos)
- commun ::= IDENT:n LBRACT term_list:fl RBRACT cParams:cp (18 conflitos)
- command ::= declname_list:dl TWOP LBRACT pred:t COMMA1 pred:t2 RBRACT (5 conflitos)
- command ::= declname_list:dl ATRIB  term_list:fl (1 conflito)