SDK 1.3.0 release

See release notes for details

Co-authored-by: Brian Cooke <bdscooke@gmail.com>
Co-authored-by: Luke Wren <wren6991@gmail.com>
Co-authored-by: Uri Shaked <uri@urishaked.com>
Co-authored-by: Zapta <zapta@users.noreply.github.com>
Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
Co-authored-by: Liam Fraser <liam@raspberrypi.com>
Co-authored-by: Gabriel Wang <embedded_zhuoran@Hotmail.com>
Co-authored-by: Matias Silva <matita.martins@gmail.com>
Co-authored-by: dp111 <19616418+dp111@users.noreply.github.com>
Co-authored-by: Leonardo La Rocca <46094699+leoli51@users.noreply.github.com>
Co-authored-by: Mahyar Koshkouei <mk@deltabeard.com>
Co-authored-by: Brian Starkey <stark3y@gmail.com>
Co-authored-by: Philip Howard <github@gadgetoid.com>
Co-authored-by: Mike Causer <mcauser@gmail.com>
Co-authored-by: Martino Facchin <m.facchin@arduino.cc>
Co-authored-by: ZodiusInfuser <christopher.parrott2@gmail.com>
Co-authored-by: Manuel Wick <manuel@matronix.de>
Co-authored-by: Matias Silva <git@matiasilva.com>
Co-authored-by: Robert Pafford <19439938+rjp5th@users.noreply.github.com>
Co-authored-by: Alasdair Allan <alasdair@raspberrypi.com>
Co-authored-by: Engineer_Will <646689853@qq.com>
Co-authored-by: Garatronic <31109090+garatronic@users.noreply.github.com>
This commit is contained in:
Graham Sanderson
2021-11-01 14:20:54 -05:00
committed by GitHub
parent bfcbefafc5
commit 2062372d20
158 changed files with 7125 additions and 1483 deletions

View File

@ -1945,9 +1945,9 @@ namespace yy {
-52, 97, 132, -52, -52, -52, -52, 87, -52, -52,
1, 5, 5, 5, 5, -52, 5, 5, -52, -52,
-52, -52, 29, 118, 5, -52, 170, -52, -52, -52,
107, 177, 1, 1, 1, 1, 1, 1, 1, -52,
182, 177, 1, 1, 1, 1, 1, 1, 1, -52,
-52, -51, -52, 177, 119, -52, -52, -52, -52, -52,
-52, -52, 82, -52, -52, -52, 107, 107, 184, 184,
-52, -52, 82, -52, -52, -52, 182, 182, 107, 107,
-52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52
};
@ -1979,9 +1979,9 @@ namespace yy {
const short
parser::yypgoto_[] =
{
-52, -52, -52, 98, -52, -52, -52, -7, -14, 168,
-52, 99, 102, -52, 148, 25, -52, -52, -52, -52,
-52, -52, -52, -52, 128, -52, 199
-52, -52, -52, 102, -52, -52, -52, -7, -14, 172,
-52, 99, 103, -52, 146, 25, -52, -52, -52, -52,
-52, -52, -52, -52, 128, -52, 198
};
const short
@ -2014,8 +2014,8 @@ namespace yy {
12, 13, 14, 15, 16, 17, 18, 19, 20, 149,
163, 176, 142, 143, 144, 145, 146, 147, 148, 165,
142, 143, 144, 145, 146, 147, 148, 142, 143, 144,
145, 146, 147, 148, 142, 143, 135, 99, 146, 147,
148, 125, 139, 131, 138, 36
145, 146, 147, 148, 144, 145, 146, 147, 148, 125,
135, 99, 139, 131, 36, 138
};
const unsigned char
@ -2040,8 +2040,8 @@ namespace yy {
31, 32, 33, 34, 35, 36, 37, 38, 39, 7,
52, 52, 10, 11, 12, 13, 14, 15, 16, 9,
10, 11, 12, 13, 14, 15, 16, 10, 11, 12,
13, 14, 15, 16, 10, 11, 98, 29, 14, 15,
16, 53, 103, 75, 102, 6
13, 14, 15, 16, 12, 13, 14, 15, 16, 53,
98, 29, 103, 75, 6, 102
};
const signed char

View File

@ -37,14 +37,14 @@ int main(int argc, char *argv[]) {
for (; !res && i < argc; i++) {
if (argv[i][0] != '-') break;
if (argv[i] == std::string("-o")) {
if (i++ < argc) {
if (++i < argc) {
format = argv[i];
} else {
std::cerr << "error: -o requires format value" << std::endl;
res = 1;
}
} else if (argv[i] == std::string("-p")) {
if (i++ < argc) {
if (++i < argc) {
options.emplace_back(argv[i]);
} else {
std::cerr << "error: -p requires parameter value" << std::endl;

View File

@ -124,8 +124,8 @@
%left REVERSE
%left MULTIPLY DIVIDE
%left PLUS MINUS
%left MULTIPLY DIVIDE
%left AND OR XOR
%printer { yyo << "..."; } <*>;

View File

@ -127,7 +127,7 @@ void program::set_wrap(const yy::location &l) {
throw syntax_error(l, msg.str());
}
if (instructions.empty()) {
throw syntax_error(l, ".wrap cannot be pleaced before the first program instruction");
throw syntax_error(l, ".wrap cannot be placed before the first program instruction");
}
wrap = resolvable_int(l, instructions.size() - 1);
}

View File

@ -195,9 +195,12 @@ struct python_output : public output_format {
if (arg2 & 0x8u) {
invalid = true;
} else {
guts = "irq, " + std::to_string(arg2 & 7u);
guts = "irq, ";
auto irq = std::to_string(arg2 & 7u);
if (arg2 & 0x10u) {
guts += " rel";
guts += "rel(" + irq + ")";
} else {
guts += irq;
}
}
break;
@ -233,12 +236,11 @@ struct python_output : public output_format {
std::string guts = "";
if (arg1 & 4u) {
op("pull");
if (arg1 & 2u) guts = "ifempty";
if (arg1 & 2u) guts = "ifempty, ";
} else {
op("push");
if (arg1 & 2u) guts = "iffull";
if (arg1 & 2u) guts = "iffull, ";
}
guts += ", ";
guts += ((arg1 & 0x1u) ? "block" : "noblock");
op_guts(guts);
}
@ -279,15 +281,17 @@ struct python_output : public output_format {
op("irq");
std::string guts;
if (arg1 & 0x2u) {
guts += "clear ";
guts += "clear, ";
} else if (arg1 & 0x1u) {
guts += "wait ";
guts += "wait, ";
} else {
guts += "nowait ";
guts += "nowait, ";
}
guts += std::to_string(arg2 & 7u);
auto irq = std::to_string(arg2 & 7u);
if (arg2 & 0x10u) {
guts += " rel";
guts += "rel(" + irq + ")";
} else {
guts += irq;
}
op_guts(guts);
}