[P4] Béna vagyok vagy compiler error?

Dániel Horpácsi daniel-h at elte.hu
Thu Jun 9 14:30:11 CEST 2016


A compiler.py-t a legritkább esetben futtatjuk kézzel, a shell 
scriptekkel fordítunk, amik a trunk gyökerében vannak.

A fordítás azért szállt el, mert hiányos volt a kifejezések fordítása 
(azok sajnos nincsenek rendesen leírva a hlir manualban, így még 
parciális az őket kezelő függvény). Most már (r371) fordulnia kellene a 
te példádnak is. Egyébként legközelebb nyugodtan nyomozz egy kicsit, jó 
lenne, ha ilyen jellegű hibát te is fel tudnál deríteni.

Dani

On 2016-06-09 13:06, Leskó Dániel wrote:
> Sziasztok!
>
> Naiv felhasználóként próbálom a compilerünket. Arra már rájöttem, hogy 
> a 3.x -es python nem jó, az is megvan, hogy a compiler.py-t a trunkban 
> állva érdemes elindítani mert különben a két opcionálisnak jelölt 
> compiler/generated_dir default értékével nem tud mit kezdeni. Ezeket 
> mondjuk egy release notesban érdemes lenne felvezetni.
>
> De ezek után az alábbi hibát kapom: (nem csak az l2_l3.p4-re, a többit 
> is próbáltam, hasonló eredménnyel)
>
> C:\p4-repo\trunk>python src/compiler.py examples/p4_src/l2_l3.p4
> WARNING: No error rule is defined for exclusive state 'pragma'
> WARNING: Token 'DIVIDE' defined, but not used
> WARNING: Token 'PPHASH' defined, but not used
> WARNING: Token 'MOD' defined, but not used
> WARNING: There are 3 unused tokens
> parsing successful
> semantic checking successful
> Header type standard_metadata_t not byte-aligned, adding padding
> validating:  True
> validating:  True
> validating:  True
> validating:  True
> Desugaring src\hardware_indep\actions.c.py...
> Desugaring src\hardware_indep\actions.h.py...
> Desugaring src\hardware_indep\controlplane.c.py...
> Desugaring src\hardware_indep\dataplane.c.py...
> Traceback (most recent call last):
>   File "src/compiler.py", line 174, in <module>
>     main()
>   File "src/compiler.py", line 169, in main
>     generate_all_in_dir(compiler_files_path, desugared_path, 
> generated_path, hli
> r)
>   File "src/compiler.py", line 107, in generate_all_in_dir
>     code = generate_code(full_file, genfile, {'hlir': hlir})
>   File "src/compiler.py", line 90, in generate_code
>     exec(code, localvars, localvars)
>   File "<string>", line 82, in <module>
>   File "C:\p4-repo\trunk\src\utils.py", line 124, in format_p4_node
>     return "if (%s) { %s } else { %s }" % 
> (format_expr(node.condition), format_p
> 4_node(node.next_[True]), format_p4_node(node.next_[False]))
>   File "C:\p4-repo\trunk\src\utils.py", line 150, in format_expr
>     return "(" + format_expr(e.left) + ")" + format_op(e.op) + "(" + 
> format_expr
> (e.right) + ")"
> TypeError: cannot concatenate 'str' and 'NoneType' objects
>
> Mit csinálok rosszul? (windows alatt próbálom, de ennek itt nem illene 
> gondot okoznia)
>
> Dani
>
> _______________________________________________
> P4 mailing list
> P4 at plc.inf.elte.hu
> https://plc.inf.elte.hu/mailman/listinfo/p4



More information about the P4 mailing list