Project

General

Profile

Bug #6333

NmlTreeWalker.g: node from line 0:0 no viable alternative at input

Added by Alexander Kamkin over 3 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Category:
-
Target version:
Start date:
10/08/2015
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

op j (instr_index: card(26))
  syntax = format("j %<label>d", instr_index)
  action = {
    BRANCH = 1;
    NEXTPC = CIA<63..28>::(coerce(card(28), instr_index) << 2);
  }
xxx_branch.nml 41:24 ERROR (PARSER): "F:\SVN\MicroTESK\...\model\xxx_branch.nml line 41:24 mismatched input '::' expecting SEMI" 
xxx_branch.nml 41:44 ERROR (PARSER): "" 
xxx_branch.nml 41:55 ERROR (PARSER): "F:\SVN\MicroTESK\...\model\xxx_branch.nml line 41:55 mismatched input ')' expecting ASSIGN" 
xxx_branch.nml 50:24 ERROR (PARSER): "F:\SVN\MicroTESK\...\model\xxx_branch.nml line 50:24 mismatched input '::' expecting SEMI" 
xxx_branch.nml 50:44 ERROR (PARSER): "" 
xxx_branch.nml 50:55 ERROR (PARSER): "F:\SVN\MicroTESK\...\model\xxx_branch.nml line 50:55 mismatched input ')' expecting ASSIGN" 
xxx.nml 0:0 ERROR (TREEWALKER): "F:\SVN\MicroTESK\microtesk\microtesk\src\main\java\core\ru\ispras\microtesk\translator\nml\grammar\NmlTreeWalker.g: node from line 0:0 no viable alternative at input 'BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),'" 
xxx.nml 0:0 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: '{BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),'." 
xxx.nml 39:2 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'action={BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),'." 
xxx.nml 37:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'syntax=format(j %<label>d,instr_index)action={BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),instr_index)<<2);}'." 
xxx.nml 37:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'opj(instr_index:card(26))syntax=format(j %<label>d,instr_index)action={BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),instr_index)<<2);}'." 
xxx.nml 0:0 ERROR (TREEWALKER): "F:\SVN\MicroTESK\microtesk\microtesk\src\main\java\core\ru\ispras\microtesk\translator\nml\grammar\NmlTreeWalker.g: node from line 0:0 no viable alternative at input 'GPR[31]=CIA+8;BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),'" 
xxx.nml 0:0 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: '{GPR[31]=CIA+8;BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),'." 
xxx.nml 46:2 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'action={GPR[31]=CIA+8;BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),'." 
xxx.nml 44:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'syntax=format(jal %<label>d,instr_index)action={GPR[31]=CIA+8;BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),instr_index)<<2);}'." 
xxx.nml 44:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'opjal(instr_index:card(26))syntax=format(jal %<label>d,instr_index)action={GPR[31]=CIA+8;BRANCH=1;NEXTPC=CIA<63..28>::(coerce(card(28),instr_index)<<2);}'." 
xxx.nml 60:3 ERROR (SEMANTIC): "The 'j' item of the 'MipsBranchOp' OR-rule is not defined or is not a OP definition." 
xxx.nml 60:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'opMipsBranchOp=beq|bne|j|jal|jr'." 
xxx.nml 57:3 ERROR (SEMANTIC): "The 'MipsBranchOp' item of the 'Op' OR-rule is not defined or is not a OP definition." 
xxx.nml 57:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'opOp=MipsNopOp|MipsAluOp|MipsBranchOp'." 
xxx.nml 64:27 ERROR (SEMANTIC): "The 'Op' primitive is not defined or does not have the 'OP' type." 
xxx.nml 64:16 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'Op'." 
xxx.nml 64:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: '(operation:Op)'." 
xxx.nml 64:3 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'opinstruction(operation:Op)syntax=operation.syntaxaction={GPR[0]=coerce(DWORD,0);is_delay_slot=BRANCH;jump_address=NEXTPC;BRANCH=0;NEXTPC=coerce(DWORD,0);operation.action;if(is_delay_slot==1&&BRANCH==1)thenunpredicted;endif;if(is_delay_slot==1)thenCIA=jump_address;elseCIA=CIA+4;endif;}'." 
java.lang.IllegalStateException: JTLB.VPN2 is not equal to JTLB.va.value
    at ru.ispras.microtesk.mmu.translator.generation.spec.BufferExprAnalyzer.newAddressField(BufferExprAnalyzer.java:67)
    at ru.ispras.microtesk.mmu.translator.generation.spec.BufferExprAnalyzer.access$000(BufferExprAnalyzer.java:43)
    at ru.ispras.microtesk.mmu.translator.generation.spec.BufferExprAnalyzer$VisitorMatch.onOperationBegin(BufferExprAnalyzer.java:153)
    at ru.ispras.fortress.expression.ExprTreeWalker.visitOperation(ExprTreeWalker.java:158)
    at ru.ispras.fortress.expression.ExprTreeWalker.visitNode(ExprTreeWalker.java:142)
    at ru.ispras.fortress.expression.ExprTreeWalker.visitOperation(ExprTreeWalker.java:179)
    at ru.ispras.fortress.expression.ExprTreeWalker.visitNode(ExprTreeWalker.java:142)
    at ru.ispras.fortress.expression.ExprTreeWalker.visit(ExprTreeWalker.java:111)
    at ru.ispras.microtesk.mmu.translator.generation.spec.BufferExprAnalyzer.<init>(BufferExprAnalyzer.java:255)
    at ru.ispras.microtesk.mmu.translator.generation.spec.STBBuffer.buildConstructor(STBBuffer.java:127)
    at ru.ispras.microtesk.mmu.translator.generation.spec.STBBuffer.build(STBBuffer.java:74)
    at ru.ispras.microtesk.translator.generation.STFileGenerator.generate(STFileGenerator.java:101)
    at ru.ispras.microtesk.mmu.translator.generation.spec.SpecGenerator.processBuffers(SpecGenerator.java:80)
    at ru.ispras.microtesk.mmu.translator.generation.spec.SpecGenerator.processIr(SpecGenerator.java:52)
    at ru.ispras.microtesk.mmu.translator.generation.spec.SpecGenerator.processIr(SpecGenerator.java:30)
    at ru.ispras.microtesk.translator.Translator.processIr(Translator.java:106)
    at ru.ispras.microtesk.mmu.translator.MmuTranslator.start(MmuTranslator.java:145)
    at ru.ispras.microtesk.translator.Translator.start(Translator.java:97)
    at ru.ispras.microtesk.MicroTESK.translate(MicroTESK.java:141)
    at ru.ispras.microtesk.MicroTESK.main(MicroTESK.java:74)

History

#1

Updated by Andrei Tatarnikov over 3 years ago

Currently, constructs expr::expr (like CIA<63..28>::(coerce(card(28), instr_index) << 2);) are not supported.
I am ready to support them, but this will require changes in IR format and Model API. Probably, this is not a good time for this.

Also available in: Atom PDF