Project

General

Profile

Actions

Bug #8701

closed

Error in the mode.syntax() method

Added by Alexander Protsenko almost 7 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Andrei Tatarnikov
Category:
nML Translator
Target version:
Start date:
02/01/2018
Due date:
% Done:

0%

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

Description

Nml code:

mode CSR_MODE (i: card(12)) = CSR [i]
  syntax = format("%s", if i == 0x000 then USTATUS().syntax
                        elif i == 0x001 then FFLAGS().syntax
                        elif i == 0x002 then FRM().syntax
                        elif i == 0x003 then FCSR().syntax
                        elif i == 0x004 then UIE().syntax
                        elif i == 0x005 then UTVEC().syntax
                        elif i == 0x040 then USCRATCH().syntax
                        elif i == 0x041 then UEPC().syntax
                        elif i == 0x042 then UCAUSE().syntax
                        elif i == 0x043 then UTVAL().syntax
                        elif i == 0x044 then UIP().syntax
                        elif i == 0xC00 then CYCLE().syntax
                        elif i == 0xC01 then TIME().syntax
                        elif i == 0xC02 then INSTRET().syntax
                        else print_csr_syntax(i).syntax endif)
  image  = format("%12s", i)

Problem in the string: "else print_csr_syntax(i).syntax"

Error:

    [mkdir] Created dir: C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\gen\bin
    [javac] Compiling 770 source files to C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\gen\bin
    [javac] C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\gen\src\java\ru\ispras\microtesk\model\riscv\mode\CSR_MODE.java:70: error: cannot find symbol
    [javac]     return String.format("%s", (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x0)) ? new USTATUS().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x1)) ? new FFLAGS().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x2)) ? new FRM().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x3)) ? new FCSR().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x4)) ? new UIE().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x5)) ? new UTVEC().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x40)) ? new USCRATCH().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x41)) ? new UEPC().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x42)) ? new UCAUSE().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x43)) ? new UTVAL().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x44)) ? new UIP().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0xc00)) ? new CYCLE().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0xc01)) ? new TIME().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0xc02)) ? new INSTRET().text(vars__) : new print_csr_syntax(new Immediate(vars__.csr_index.access())).text(vars__))))))))))))))));
    [javac]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ^
    [javac]   symbol:   class print_csr_syntax
    [javac]   location: class CSR_MODE
    [javac] 1 error

Actions #1

Updated by Alexander Protsenko almost 7 years ago

upd error

build:
    [mkdir] Created dir: C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\gen\bin
    [javac] Compiling 770 source files to C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\gen\bin
    [javac] C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\gen\src\java\ru\ispras\microtesk\model\riscv\mode\CSR_MODE.java:63: error: cannot find symbol
    [javac]     return String.format("%s", (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x0)) ? new USTATUS().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x1)) ? new FFLAGS().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x2)) ? new FRM().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x3)) ? new FCSR().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x4)) ? new UIE().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x5)) ? new UTVEC().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x40)) ? new USCRATCH().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x41)) ? new UEPC().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x42)) ? new UCAUSE().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x43)) ? new UTVAL().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0x44)) ? new UIP().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0xc00)) ? new CYCLE().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0xc01)) ? new TIME().text(vars__) : (i.access().load().equals(Data.valueOf(Type.CARD(12), 0xc02)) ? new INSTRET().text(vars__) : new print_csr_syntax(i).text(vars__))))))))))))))));
    [javac]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ^
    [javac]   symbol:   class print_csr_syntax
    [javac]   location: class CSR_MODE
    [javac] 1 error

Actions #2

Updated by Alexander Kamkin almost 6 years ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF