Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
Ocarina
Commits
5fac2d67
Commit
5fac2d67
authored
Oct 20, 2017
by
Maxime Perrotin
Browse files
Merge
https://github.com/openaadl/ocarina
parents
90b7b684
93f356bf
Changes
12
Show whitespace changes
Inline
Side-by-side
resources/deployment.aadl
View file @
5fac2d67
...
...
@@ -67,6 +67,11 @@ property set Deployment is
applies to (device);
-- List execution platforms supported by a particular driver
USER_ENV: aadlstring applies to (processor);
-- Additional configuration parameters passed as environment
-- variables as part of the build phase. These env. variables are
-- passed in the generated makefiles.
Runtime : type enumeration
(PolyORB_HI_C,
PolyORB_HI_Ada,
...
...
src/backends/ocarina-backends-build_utils.adb
View file @
5fac2d67
...
...
@@ -1585,6 +1585,19 @@ package body Ocarina.Backends.Build_Utils is
M
.
Use_Scade
,
M
.
Scade_Directory
);
-- Add user-defined environment variable
declare
Env
:
constant
Name_Id
:=
Get_USER_ENV
(
Get_Bound_Processor
(
E
));
begin
if
Env
/=
No_Name
then
Write_Str
(
"export "
);
Write_Name
(
Env
);
Write_Eol
;
end
if
;
end
;
-- Add rule to compile the C files, if any
Write_Eol
;
...
...
src/backends/ocarina-backends-properties.adb
View file @
5fac2d67
...
...
@@ -189,8 +189,9 @@ package body Ocarina.Backends.Properties is
------------------------------------
Ada_Runtime
:
Name_Id
;
User_CFLAGS
:
Name_Id
;
User_LDFLAGS
:
Name_Id
;
USER_CFLAGS
:
Name_Id
;
USER_LDFLAGS
:
Name_Id
;
USER_ENV
:
Name_Id
;
Location
:
Name_Id
;
Execution_Platform
:
Name_Id
;
Scheduler_Quantum
:
Name_Id
;
...
...
@@ -2518,6 +2519,17 @@ package body Ocarina.Backends.Properties is
return
Get_String_Property
(
P
,
USER_LDFLAGS
);
end
Get_USER_LDFLAGS
;
------------------
-- Get_USER_ENV --
------------------
function
Get_USER_ENV
(
P
:
Node_Id
)
return
Name_Id
is
pragma
Assert
(
AINU
.
Is_Processor
(
P
)
or
else
AINU
.
Is_Virtual_Processor
(
P
));
begin
return
Get_String_Property
(
P
,
USER_ENV
);
end
Get_USER_ENV
;
-----------------------
-- Get_Transport_API --
-----------------------
...
...
@@ -2920,6 +2932,7 @@ package body Ocarina.Backends.Properties is
Ada_Runtime
:=
Get_String_Name
(
"deployment::ada_runtime"
);
USER_CFLAGS
:=
Get_String_Name
(
"deployment::user_cflags"
);
USER_LDFLAGS
:=
Get_String_Name
(
"deployment::user_ldflags"
);
USER_ENV
:=
Get_String_Name
(
"deployment::user_env"
);
Location
:=
Get_String_Name
(
"deployment::location"
);
Execution_Platform
:=
Get_String_Name
(
"deployment::execution_platform"
);
Scheduler_Quantum
:=
Get_String_Name
(
"scheduler_quantum"
);
...
...
src/backends/ocarina-backends-properties.ads
View file @
5fac2d67
...
...
@@ -581,7 +581,10 @@ package Ocarina.Backends.Properties is
function
Get_USER_CFLAGS
(
P
:
Node_Id
)
return
Name_Id
;
function
Get_USER_LDFLAGS
(
P
:
Node_Id
)
return
Name_Id
;
-- Return USER_CFLAGS and USER_LDFLGAS property for processor P
-- Return USER_CFLAGS and USER_LDFLAGS property for processor P
function
Get_USER_ENV
(
P
:
Node_Id
)
return
Name_Id
;
-- Return USER_ENV property
function
Get_Location
(
P
:
Node_Id
)
return
Name_Id
;
-- Return the location of the processor or device P. No_Name is
...
...
src/backends/po_hi_ada/ocarina-backends-po_hi_ada.adb
View file @
5fac2d67
...
...
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-201
5
ESA & ISAE. --
-- Copyright (C) 2008-2009 Telecom ParisTech, 2010-201
7
ESA & ISAE. --
-- --
-- Ocarina is free software; you can redistribute it and/or modify under --
-- terms of the GNU General Public License as published by the Free Soft- --
...
...
@@ -282,7 +282,7 @@ package body Ocarina.Backends.PO_HI_Ada is
" \"
);
Write_Char
(
ASCII
.
HT
);
Write_Str
(
" $(GNATMAKE) -x -P$(PROJECT_FILE) -XTARGET=$(TARGET)"
&
(
" $(GNATMAKE) -x
-p
-P$(PROJECT_FILE) -XTARGET=$(TARGET)"
&
" -XBUILD=$(BUILD) -XCGCTRL=$(CGCTRL) ${USER_CFLAGS}"
);
-- If there are C source or C libraries, there will be more
...
...
src/frontends/aadl_ema/ocarina-fe_aadl_ema-parser.adb
View file @
5fac2d67
...
...
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2015-201
6
ESA & ISAE. --
-- Copyright (C) 2015-201
7
ESA & ISAE. --
-- --
-- Ocarina is free software; you can redistribute it and/or modify under --
-- terms of the GNU General Public License as published by the Free Soft- --
...
...
@@ -3584,10 +3584,6 @@ package body Ocarina.FE_AADL_EMA.Parser is
-- | numeric_literal orless
-- ( error_condition_trigger { , error_condition_trigger } + )
-- I have repeated "return Error_Condition" so the function
-- won't check the next condition (if the next node exists) in vain
-- => reduce complexity
-- A revoir : lors du traîtement sémantique de
-- error_condition_1 (and | or ) error_condition_2
-- error_condition_1 sera un sous noeud de error_condition_2
...
...
@@ -3610,18 +3606,20 @@ package body Ocarina.FE_AADL_EMA.Parser is
Next
:
Token_Type
;
Escape
:
Boolean
:=
False
;
begin
Error_Condition
:=
New_Node
(
K_Error_Condition
,
Token_Location
);
Error_Condition
:=
New_Node
(
K_Error_Condition
,
Token_Location
);
-- Error_Condition_Trigger
Error_Condition_Trigger
:=
P_Error_Condition_Trigger
;
if
Present
(
Error_Condition_Trigger
)
then
Set_Error_Condition_Trigger
(
Error_Condition
,
Error_Condition_Trigger
);
Set_Error_Condition_Trigger
(
Error_Condition
,
Error_Condition_Trigger
);
return
Error_Condition
;
end
if
;
-- ( Error_Condition_Node )
Save_Lexer
(
Loc
);
Next
:=
Next_Token
;
Restore_Lexer
(
Loc
);
...
...
@@ -3630,16 +3628,20 @@ package body Ocarina.FE_AADL_EMA.Parser is
Save_Lexer
(
Loc_Start
);
Error_Condition_Node
:=
P_Error_Condition
;
Save_Lexer
(
Loc_End
);
Set_Error_Condition_Node
(
Error_Condition
,
Error_Condition_Node
);
Set_Error_Condition_Node
(
Error_Condition
,
Error_Condition_Node
);
if
No
(
Error_Condition_Node
)
then
if
Loc_Start
=
Loc_End
then
Scan_Token
;
DPE
(
PC_Error_Condition
,
PC_Error_Condition
,
PC_Error_Condition_Trigger
,
Expected_Tokens
=>
DPE
(
PC_Error_Condition
,
PC_Error_Condition
,
PC_Error_Condition_Trigger
,
Expected_Tokens
=>
(
T_Left_Paren
,
T_Numeric_Literal
));
end
if
;
return
No_Node
;
else
Save_Lexer
(
Loc
);
Next
:=
Next_Token
;
...
...
@@ -3658,6 +3660,7 @@ package body Ocarina.FE_AADL_EMA.Parser is
-- error_condition and error_condition
-- error_condition or error_condition
Save_Lexer
(
Loc
);
Next
:=
Next_Token
;
Restore_Lexer
(
Loc
);
...
...
@@ -3756,10 +3759,12 @@ package body Ocarina.FE_AADL_EMA.Parser is
Error_Condition_Trigger
:=
P_Error_Condition_Trigger
;
Save_Lexer
(
Loc_End
);
if
Present
(
Error_Condition_Trigger
)
then
Error_Condition_Trigger_List
:=
New_List
(
K_List_Id
,
Error_Condition_Trigger_List
:=
New_List
(
K_List_Id
,
Token_Location
);
Set_Error_Condition_Trigger_List
(
Error_Condition
,
Error_Condition_Trigger_List
);
Set_Error_Condition_Trigger_List
(
Error_Condition
,
Error_Condition_Trigger_List
);
Append_Node_To_List
(
Error_Condition_Trigger
,
Error_Condition_Trigger_List
);
...
...
@@ -3767,14 +3772,17 @@ package body Ocarina.FE_AADL_EMA.Parser is
Save_Lexer
(
Loc
);
Next
:=
Next_Token
;
Restore_Lexer
(
Loc
);
-- If there is no additional error_condition_trigger,
-- then return immediately, else continue.
if
Next
/=
T_Comma
then
Scan_Token
;
DPE
(
PC_Error_Condition
,
Expected_Token
=>
T_Comma
);
return
No_Node
;
return
Error_Condition_Trigger
;
else
Scan_Token
;
end
if
;
loop
Save_Lexer
(
Loc_Start
);
Error_Condition_Trigger
:=
P_Error_Condition_Trigger
;
...
...
@@ -3818,12 +3826,14 @@ package body Ocarina.FE_AADL_EMA.Parser is
Expected_Token
=>
T_Right_Paren
);
return
No_Node
;
end
if
;
else
if
Loc_Start
=
Loc_End
then
DPE
(
PC_Error_Condition
,
PC_Error_Condition_Trigger
);
end
if
;
return
No_Node
;
end
if
;
else
Scan_Token
;
DPE
(
PC_Error_Condition
,
...
...
tests/real-annexes-parsing/test_real_parse_01.aadl.out
View file @
5fac2d67
...
...
@@ -95,6 +95,9 @@ property set Deployment is
Supported_Execution_Platform
:
list
of
Deployment
::
Allowed_Execution_Platform
applies
to
(
device
);
USER_ENV
:
aadlstring
applies
to
(
processor
);
Runtime
:
type
enumeration
(
PolyORB_HI_C
,
PolyORB_HI_Ada
,
POK
);
Supported_Runtime
:
Deployment
::
Runtime
...
...
@@ -410,7 +413,8 @@ end POK;
package
Base_Types
public
with
data_model
;
public
with
data_model
;
data
Boolean
properties
...
...
@@ -968,7 +972,8 @@ end Replication_Properties;
package
RMAAadl
public
with
Deployment
;
public
with
Deployment
;
subprogram
Hello_Spg_1
properties
...
...
tests/real-annexes-parsing/test_real_parse_02.aadl.out
View file @
5fac2d67
...
...
@@ -95,6 +95,9 @@ property set Deployment is
Supported_Execution_Platform
:
list
of
Deployment
::
Allowed_Execution_Platform
applies
to
(
device
);
USER_ENV
:
aadlstring
applies
to
(
processor
);
Runtime
:
type
enumeration
(
PolyORB_HI_C
,
PolyORB_HI_Ada
,
POK
);
Supported_Runtime
:
Deployment
::
Runtime
...
...
@@ -410,7 +413,8 @@ end POK;
package
Base_Types
public
with
data_model
;
public
with
data_model
;
data
Boolean
properties
...
...
@@ -968,7 +972,8 @@ end Replication_Properties;
package
RMAAadl
public
with
Deployment
;
public
with
Deployment
;
subprogram
Hello_Spg_1
properties
...
...
tests/real-annexes-parsing/test_real_parse_03.aadl.out
View file @
5fac2d67
...
...
@@ -95,6 +95,9 @@ property set Deployment is
Supported_Execution_Platform
:
list
of
Deployment
::
Allowed_Execution_Platform
applies
to
(
device
);
USER_ENV
:
aadlstring
applies
to
(
processor
);
Runtime
:
type
enumeration
(
PolyORB_HI_C
,
PolyORB_HI_Ada
,
POK
);
Supported_Runtime
:
Deployment
::
Runtime
...
...
@@ -410,7 +413,8 @@ end POK;
package
Base_Types
public
with
data_model
;
public
with
data_model
;
data
Boolean
properties
...
...
@@ -968,7 +972,8 @@ end Replication_Properties;
package
RMAAadl
public
with
Deployment
;
public
with
Deployment
;
subprogram
Hello_Spg_1
properties
...
...
tests/real-annexes-parsing/test_real_parse_04.aadl.out
View file @
5fac2d67
...
...
@@ -95,6 +95,9 @@ property set Deployment is
Supported_Execution_Platform
:
list
of
Deployment
::
Allowed_Execution_Platform
applies
to
(
device
);
USER_ENV
:
aadlstring
applies
to
(
processor
);
Runtime
:
type
enumeration
(
PolyORB_HI_C
,
PolyORB_HI_Ada
,
POK
);
Supported_Runtime
:
Deployment
::
Runtime
...
...
@@ -410,7 +413,8 @@ end POK;
package
Base_Types
public
with
data_model
;
public
with
data_model
;
data
Boolean
properties
...
...
@@ -968,7 +972,8 @@ end Replication_Properties;
package
RMAAadl
public
with
Deployment
;
public
with
Deployment
;
subprogram
Hello_Spg_1
properties
...
...
tests/real-annexes-parsing/test_real_parse_05.aadl.out
View file @
5fac2d67
...
...
@@ -95,6 +95,9 @@ property set Deployment is
Supported_Execution_Platform
:
list
of
Deployment
::
Allowed_Execution_Platform
applies
to
(
device
);
USER_ENV
:
aadlstring
applies
to
(
processor
);
Runtime
:
type
enumeration
(
PolyORB_HI_C
,
PolyORB_HI_Ada
,
POK
);
Supported_Runtime
:
Deployment
::
Runtime
...
...
@@ -410,7 +413,8 @@ end POK;
package
Base_Types
public
with
data_model
;
public
with
data_model
;
data
Boolean
properties
...
...
@@ -968,7 +972,8 @@ end Replication_Properties;
package
RMAAadl
public
with
Deployment
;
public
with
Deployment
;
subprogram
Hello_Spg_1
properties
...
...
tests/test042/test.aadl.out
View file @
5fac2d67
...
...
@@ -91,6 +91,9 @@ property set Deployment is
Supported_Execution_Platform
:
list
of
Deployment
::
Allowed_Execution_Platform
applies
to
(
device
);
USER_ENV
:
aadlstring
applies
to
(
processor
);
Runtime
:
type
enumeration
(
PolyORB_HI_C
,
PolyORB_HI_Ada
,
POK
);
Supported_Runtime
:
Deployment
::
Runtime
...
...
@@ -406,7 +409,8 @@ end POK;
package
Base_Types
public
with
data_model
;
public
with
data_model
;
data
Boolean
properties
...
...
@@ -964,7 +968,8 @@ end Replication_Properties;
package
PartitionedSystemExample
public
with
ARINC653
;
public
with
ARINC653
;
data
integer
end
integer
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment