- 28 Sep, 2020 2 commits
-
-
David Lechner authored
scanner/scanner_test.go:320:6: conversion from Token (int) to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?) scanner/scanner_test.go:321:49: conversion from Token (int) to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)
-
David Lechner authored
-
- 26 Sep, 2020 3 commits
-
-
David Lechner authored
This will be compatible with YAML 1.2
-
David Lechner authored
-
David Lechner authored
-
- 06 Feb, 2020 19 commits
-
-
David Lechner authored
-
David Lechner authored
strings.ReplaceAll is a fairly new API
-
David Lechner authored
For object call instructions other than CALL(), the index of the object was not being properly encoded, which caused problems when the index was > 30. On behalf of LEGO System A/S
-
David Lechner authored
This adds better checking for the number of parameters in call statements. On behalf of LEGO System A/S
-
David Lechner authored
Fixes the following crash caused by o2.Instructions being shorter than o.Instructions: panic: runtime error: index out of range goroutine 1 [running]: github.com/ev3dev/lmsasm/assembler.(*Assembler).Assemble.func1(0x547700) /home/david/work/gocode/src/github.com/ev3dev/lmsasm/assembler/assembler.go:1075 +0xf6 github.com/ev3dev/lmsasm/assembler.(*Assembler).Assemble(0xc000085f38, 0xc000085e90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0006048c0, 0x0) /home/david/work/gocode/src/github.com/ev3dev/lmsasm/assembler/assembler.go:1081 +0x1615 main.main() /home/david/work/gocode/src/github.com/ev3dev/lmsasm/lmsasm/lmsasm.go:53 +0x509 On behalf of LEGO System A/S
-
David Lechner authored
Fixes the following crash: panic: runtime error: index out of range goroutine 1 [running]: github.com/ev3dev/lmsasm/assembler.(*Assembler).Assemble(0xc2c5f40, 0xc2c5e98, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc3426c0, 0x0) /home/david/work/gocode/src/github.com/ev3dev/lmsasm/assembler/assembler.go:907 +0x5b5 main.main() /home/david/work/gocode/src/github.com/ev3dev/lmsasm/lmsasm/lmsasm.go:53 +0x49 On behalf of LEGO System A/S
-
David Lechner authored
Instead, just test to see if hex literal is used and allow unsigned int only in that case. On behalf of LEGO System A/S
-
David Lechner authored
This adds new handle subcall parameter types that were not present in the lms2012 compiler implementation. On behalf of LEGO System A/S
-
David Lechner authored
This replaces PAR16 for file and array handles and matches the HANDLE data type. On behalf of LEGO System A/S
-
David Lechner authored
This allows for stronger typing of parameters. PARH can be treated as an alias for PAR16 if strong typing is not needed. On behalf of LEGO System A/S
-
David Lechner authored
We can just pass the info struct instead of passing the members individually On behalf of LEGO System A/S
-
David Lechner authored
Use constants instead of string literals. Also fix TODO by panicing if we get a bad input. On behalf of LEGO System A/S
-
David Lechner authored
This adds basic type checking of opcode arguments. It also adds a new compiler option for allowing unsigned integer literals - needed for existing tests and it implements the bang (!) operator to allow ignoring type checking. The bang (!) operator is added to the .lms test programs to fix compiler errors. There are some obvious bugs in these programs that should be fixed. On behalf of LEGO System A/S
-
David Lechner authored
Type checking is not implemented yet, but when it is, this operator will be used to ignore type checking of individual arguments. On behalf of LEGO System A/S
-
David Lechner authored
All PARVALUES parameters must have an element type that is a basic numeric type. On behalf of LEGO System A/S
-
David Lechner authored
This tests ensures that all paramters in ev3.yml specify the direction. On behalf of LEGO System A/S
-
David Lechner authored
On behalf of LEGO System A/S
-
David Lechner authored
On behalf of LEGO System A/S
-
David Lechner authored
On behalf of LEGO System A/S
-
- 24 Nov, 2019 2 commits
-
-
David Lechner authored
set executable bit and export go environment vars Fixes #9
-
David Lechner authored
-
- 28 Oct, 2019 1 commit
-
-
David Lechner authored
-
- 23 Apr, 2019 2 commits
-
-
David Lechner authored
Add a check for nil to prevent segfault when an unknown opcode is encountered.
-
David Lechner authored
Block object won't run if trigger is non-zero. Hard code to 1 for now. Syntax needs to be added to allow specifying the owner and trigger count for block objects.
-
- 18 Apr, 2019 1 commit
-
-
David Lechner authored
-
- 11 Apr, 2019 10 commits
-
-
David Lechner authored
-
David Lechner authored
-
David Lechner authored
the EV3-G compiler optimizes out duplicate objects by having multiple object headers point to the same offset
-
David Lechner authored
If the last instructon of a subcall object is RETURN, then we don't need to emit a second RETURN instruction.
-
David Lechner authored
The bytecodes compiled by the EV3-G desktop software have a few differences from the compiler in lms2012. In EV3-G, float constant values are always 5 bytes and the size of label offests is optimized to the smallest size. This adds two flags for the two quirks and adds a command line argument to enable them.
-
David Lechner authored
-
David Lechner authored
-
David Lechner authored
return an error instead of crashing if we ever receive a bad Obj
-
David Lechner authored
SpuriousErrors was copied from Go source code. We don't need it.
-
David Lechner authored
-