LisaacTM Platform

AI_PARSER


Startup system : First object.
Inherit/Insert Summary
parent_object No developed.
 
Constructor Summary
create
 
Slot Summary
msg_err
trace
position
source
string_tmp
last_character
end_source
last_integer
last_string
last_real_16_16
last_flag
is_new_line
is_space
read_space
read_keyword
read_identifier
read_string
read_flag
read_integer
read_real_16_16
read_comment
read_character
last_x
last_y
x_cur
y_cur
llx
lower horizontal bound
urx
upper horizontal bound
lly
lower vertical bound
ury
upper vertical bound
width
height
list_layer
current_list
current_color
 
Error Management
syntax_error
missing_keyword
print_line
get_line
 
Grammar Rules
++ DOCUMENT -> PROLOGUE ++ SCRIPT
read_document
 
++ PROLOGUE -> '%!PS-Adobe-2.0 EPSF-1.2' ++ [ comment ] ++ '%%BoundingBox:'real real real real ++ [ comment ] ++ '%%EndProlog'
read_prologue
 
++ SCRIPT -> SETUP ++ SCRIPT_BODY ++ TRAILER
read_script
 
++ SETUP -> '%%BeginSetup' ++ ['Adobe_illustrator_' real 'begin'] ++ [PROC_SETS_INIT] ++ FONT_ENCODING ++ [PATTERN_DEFS] ++ '%%EndSetup'
read_setup
 
++ PROC_SETS_INIT -> { INITIALIZE }
read_proc_sets_init
 
++ INITIALIZE -> identifier '/initialize get exec'
read_initialize
 
++ FONT_ENCODING -> { RE_ENCODING }
read_font_encoding
 
++ RE_ENCODING -> '%%BeginEncoding:' newfontname oldfontname ++ Z ++ '%%EndEncoding'
read_re_encoding
 
++ Z -> '['[NEW_ENCODING]']' '/' identifier '/' identifier integer 'Z'
read_upper_z
 
++ NEW_ENCODING -> { integer '/' identifier { '/' identifier}}
read_new_encoding
 
++ PATTERN_DEFS -> { PATTERN }
read_pattern_defs
 
++ PATTERN -> '%%BeginPattern:' '('patternname')' ++ E ++ '%%EndPattern'
read_pattern
 
++ E -> '(' patternname ')' real real real real real [LAYER_LIST] 'E'
read_upper_e
 
++ LAYER_LIST -> { LAYER_COLOR LAYER_TILE }
read_layer_list
 
++ LAYER_COLOR -> '(' COLOR ')' '@'
read_layer_color
 
++ LAYER_TILE -> '(' TILE_DEFINITION ')' '&' ++ | '_' '&'
read_layer_tile
 
++ COLOR -> COLOR_COMPOSITE { COLOR_COMPOSITE }
read_color
 
++ COLOR_COMPOSITE -> flag 'O' ++ | flag 'R' ++ | real 'g' ++ | real 'G' ++ | real real real real 'k' ++ | real real real real 'K' ++ | real real real real '(' string ')' real 'x' ++ | real real real real '(' string ')' real 'X'
read_color_composite
 
++ TILE_DEFINITION -> OBJ_WITHOUT_COL
read_tile_definition
 
++ OBJECT -> COLOR { OBJ_WITHOUT_COL }
read_object
 
++ OBJ_WITHOUT_COL -> [ GRAPHICS_STATE ] { '%%Note:' comment } ( GRAPHIC | TEXT )
read_obj_without_col
 
++ GRAPHICS_STATE -> GRAPH_COMPOSITE { GRAPH_COMPOSITE }
read_graphics_state
 
++ GRAPH_COMPOSITE -> '[' { real } ']' integer 'd' ++ | integer ( 'j' | 'J' | 'M' ) ++ | real ( 'i' | 'w' )
read_graph_composite
 
++ GRAPHIC -> PATH PAINT_OPERATOR
read_graphic
 
++ PATH -> COORD 'm' {PATH_COMPOSITE}
read_path
 
++ PATH_COMPOSITE -> COORD ( 'l' | 'L' ) ++ | COORD COORD ( 'v' | 'V' | 'y' | 'Y' ) ++ | COORD COORD COORD ( 'c' | 'C' )
read_path_composite
 
++ PAINT_OPERATOR -> 'N' | 'n' | 'F' | 'f' | 'S' | 's' | 'B' | 'b' | 'H' | 'h' | 'W'
read_paint_operator
 
++ TEXT -> '/' identifier real real real integer 'z' TEXT_COMPOSITE { TEXT_CONTENT } 'T'
read_text
 
++ TEXT_CONTENT -> [ integer ] '(' string ')' 't'
read_text_content
 
++ TEXT_COMPOSITE -> '[' real real real real real real ']' ( 'a' | 'e' | 'I' | 'o' | 'r' )
read_text_composite
 
++ COORD -> real real
read_coord
 
++ SCRIPT_BODY -> { ELEMENT | IMPORT_DOC }
read_script_body
 
++ ELEMENT -> { A } ++ GROUP | OBJECT
read_element
 
++ A -> flag 'A'
read_upper_a
 
++ GROUP -> ['*'] 'u' ++ OBJECT_SEQ ++ ['*'] 'U' ++ | 'q' ++ OBJECT_SEQ ++ 'Q'
read_group
 
++ OBJECT_SEQ -> { ELEMENT }
read_object_seq
 
++ IMPORT_DOC -> ''' ++ '%%IncludeFile:' filename ++ '~'
read_import_doc
 
++ TRAILER -> '%%Trailer' ++ { TERMINATE }
read_trailer
 
++ TERMINATE -> (identifier '/terminate get exec' | '_E end')
read_terminate
 
Parser
make
draw scale
 

Inherit/Insert Detail

parent_object

.../extra/graphics/format/ai/ai_parser.li line #14

Section:
Inherit

Profile:
- SelfSELFparent_object : OBJECT

Constructor Detail

create

.../extra/graphics/format/ai/ai_parser.li line #1647

Section:
Public

Profile:
- SelfSELFcreate   s : FAST_ARRAYCHARACTER) : SELF

Detail slot

msg_err

.../extra/graphics/format/ai/ai_parser.li line #18

Section:
Public

Profile:
- SelfSELFmsg_err : STRING

trace

.../extra/graphics/format/ai/ai_parser.li line #20

Section:
Public

Profile:
- SelfSELFtrace : BOOLEAN

position

.../extra/graphics/format/ai/ai_parser.li line #22

Section:
Public

Profile:
+ SelfSELFposition : INTEGER

source

.../extra/graphics/format/ai/ai_parser.li line #24

Section:
Public

Profile:
+ SelfSELFsource : FAST_ARRAYCHARACTER)

string_tmp

.../extra/graphics/format/ai/ai_parser.li line #26

Section:
Public

Profile:
- SelfSELFstring_tmp : STRING

last_character

.../extra/graphics/format/ai/ai_parser.li line #28

Section:
Public

Profile:
- SelfSELFlast_character : CHARACTER

end_source

.../extra/graphics/format/ai/ai_parser.li line #38

Section:
Public

Profile:
- SelfSELFend_source : BOOLEAN

last_integer

.../extra/graphics/format/ai/ai_parser.li line #43

Section:
Public

Profile:
- SelfSELFlast_integer : INTEGER

last_string

.../extra/graphics/format/ai/ai_parser.li line #45

Section:
Public

Profile:
- SelfSELFlast_string : STRING_CONSTANT

last_real_16_16

.../extra/graphics/format/ai/ai_parser.li line #47

Section:
Public

Profile:
- SelfSELFlast_real_16_16 : REAL_16_16

last_flag

.../extra/graphics/format/ai/ai_parser.li line #49

Section:
Public

Profile:
- SelfSELFlast_flag : BOOLEAN

is_new_line

.../extra/graphics/format/ai/ai_parser.li line #51

Section:
Public

Profile:
- SelfSELFis_new_line : BOOLEAN

is_space

.../extra/graphics/format/ai/ai_parser.li line #53

Section:
Public

Profile:
- SelfSELFis_space : BOOLEAN

read_space

.../extra/graphics/format/ai/ai_parser.li line #61

Section:
Public

Profile:
- SelfSELFread_space : BOOLEAN

read_keyword

.../extra/graphics/format/ai/ai_parser.li line #83

Section:
Public

Profile:
- SelfSELFread_keyword   s : STRING_CONSTANTBOOLEAN

read_identifier

.../extra/graphics/format/ai/ai_parser.li line #108

Section:
Public

Profile:
- SelfSELFread_identifier : BOOLEAN

read_string

.../extra/graphics/format/ai/ai_parser.li line #131

Section:
Public

Profile:
- SelfSELFread_string : BOOLEAN

read_flag

.../extra/graphics/format/ai/ai_parser.li line #146

Section:
Public

Profile:
- SelfSELFread_flag : BOOLEAN

read_integer

.../extra/graphics/format/ai/ai_parser.li line #169

Section:
Public

Profile:
- SelfSELFread_integer : BOOLEAN

read_real_16_16

.../extra/graphics/format/ai/ai_parser.li line #206

Section:
Public

Profile:
- SelfSELFread_real_16_16 : BOOLEAN

read_comment

.../extra/graphics/format/ai/ai_parser.li line #258

Section:
Public

Profile:
- SelfSELFread_comment : BOOLEAN

read_character

.../extra/graphics/format/ai/ai_parser.li line #266

Section:
Public

Profile:
- SelfSELFread_character   c : CHARACTERBOOLEAN

last_x

.../extra/graphics/format/ai/ai_parser.li line #323

Section:
Public

Profile:
- SelfSELFlast_x : REAL_16_16

last_y

.../extra/graphics/format/ai/ai_parser.li line #324

Section:
Public

Profile:
- SelfSELFlast_y : REAL_16_16

x_cur

.../extra/graphics/format/ai/ai_parser.li line #327

Section:
Public

Profile:
- SelfSELFx_cur : REAL_16_16

y_cur

.../extra/graphics/format/ai/ai_parser.li line #328

Section:
Public

Profile:
- SelfSELFy_cur : REAL_16_16

llx

.../extra/graphics/format/ai/ai_parser.li line #332

Section:
Public

Profile:
+ SelfSELFllx : REAL_16_16

Description:
lower horizontal bound

urx

.../extra/graphics/format/ai/ai_parser.li line #333

Section:
Public

Profile:
+ SelfSELFurx : REAL_16_16

Description:
upper horizontal bound

lly

.../extra/graphics/format/ai/ai_parser.li line #334

Section:
Public

Profile:
+ SelfSELFlly : REAL_16_16

Description:
lower vertical bound

ury

.../extra/graphics/format/ai/ai_parser.li line #335

Section:
Public

Profile:
+ SelfSELFury : REAL_16_16

Description:
upper vertical bound

width

.../extra/graphics/format/ai/ai_parser.li line #337

Section:
Public

Profile:
+ SelfSELFwidth : INTEGER

height

.../extra/graphics/format/ai/ai_parser.li line #338

Section:
Public

Profile:
+ SelfSELFheight : INTEGER

list_layer

.../extra/graphics/format/ai/ai_parser.li line #344

Section:
Public

Profile:
+ SelfSELFlist_layer : LINKED_LISTAI_LAYER)

current_list

.../extra/graphics/format/ai/ai_parser.li line #346

Section:
Public

Profile:
+ SelfSELFcurrent_list : LINKED_LISTAI_OPERATION)

current_color

.../extra/graphics/format/ai/ai_parser.li line #348

Section:
Public

Profile:
+ SelfSELFcurrent_color : AI_COLOR

Error Management

syntax_error

.../extra/graphics/format/ai/ai_parser.li line #280

Section:
Public

Profile:
- SelfSELFsyntax_error   txt : ABSTRACT_STRING

missing_keyword

.../extra/graphics/format/ai/ai_parser.li line #291

Section:
Public

Profile:
- SelfSELFmissing_keyword   txt : ABSTRACT_STRING

print_line

.../extra/graphics/format/ai/ai_parser.li line #302

Section:
Public

Profile:
- SelfSELFprint_line 

get_line

.../extra/graphics/format/ai/ai_parser.li line #308

Section:
Public

Profile:
- SelfSELFget_line : INTEGER

Grammar Rules
++ DOCUMENT -> PROLOGUE ++ SCRIPT

read_document

.../extra/graphics/format/ai/ai_parser.li line #356

Section:
Public

Profile:
- SelfSELFread_document 

++ PROLOGUE -> '%!PS-Adobe-2.0 EPSF-1.2' ++ [ comment ] ++ '%%BoundingBox:'real real real real ++ [ comment ] ++ '%%EndProlog'

read_prologue

.../extra/graphics/format/ai/ai_parser.li line #381

Section:
Public

Profile:
- SelfSELFread_prologue : BOOLEAN

++ SCRIPT -> SETUP ++ SCRIPT_BODY ++ TRAILER

read_script

.../extra/graphics/format/ai/ai_parser.li line #430

Section:
Public

Profile:
- SelfSELFread_script : BOOLEAN

++ SETUP -> '%%BeginSetup' ++ ['Adobe_illustrator_' real 'begin'] ++ [PROC_SETS_INIT] ++ FONT_ENCODING ++ [PATTERN_DEFS] ++ '%%EndSetup'

read_setup

.../extra/graphics/format/ai/ai_parser.li line #462

Section:
Public

Profile:
- SelfSELFread_setup : BOOLEAN

++ PROC_SETS_INIT -> { INITIALIZE }

read_proc_sets_init

.../extra/graphics/format/ai/ai_parser.li line #499

Section:
Public

Profile:
- SelfSELFread_proc_sets_init : BOOLEAN

++ INITIALIZE -> identifier '/initialize get exec'

read_initialize

.../extra/graphics/format/ai/ai_parser.li line #518

Section:
Public

Profile:
- SelfSELFread_initialize : BOOLEAN

++ FONT_ENCODING -> { RE_ENCODING }

read_font_encoding

.../extra/graphics/format/ai/ai_parser.li line #542

Section:
Public

Profile:
- SelfSELFread_font_encoding : BOOLEAN

++ RE_ENCODING -> '%%BeginEncoding:' newfontname oldfontname ++ Z ++ '%%EndEncoding'

read_re_encoding

.../extra/graphics/format/ai/ai_parser.li line #562

Section:
Public

Profile:
- SelfSELFread_re_encoding : BOOLEAN

++ Z -> '['[NEW_ENCODING]']' '/' identifier '/' identifier integer 'Z'

read_upper_z

.../extra/graphics/format/ai/ai_parser.li line #595

Section:
Public

Profile:
- SelfSELFread_upper_z : BOOLEAN

++ NEW_ENCODING -> { integer '/' identifier { '/' identifier}}

read_new_encoding

.../extra/graphics/format/ai/ai_parser.li line #636

Section:
Public

Profile:
- SelfSELFread_new_encoding : BOOLEAN

++ PATTERN_DEFS -> { PATTERN }

read_pattern_defs

.../extra/graphics/format/ai/ai_parser.li line #668

Section:
Public

Profile:
- SelfSELFread_pattern_defs : BOOLEAN

++ PATTERN -> '%%BeginPattern:' '('patternname')' ++ E ++ '%%EndPattern'

read_pattern

.../extra/graphics/format/ai/ai_parser.li line #687

Section:
Public

Profile:
- SelfSELFread_pattern : BOOLEAN

++ E -> '(' patternname ')' real real real real real [LAYER_LIST] 'E'

read_upper_e

.../extra/graphics/format/ai/ai_parser.li line #723

Section:
Public

Profile:
- SelfSELFread_upper_e : BOOLEAN

++ LAYER_LIST -> { LAYER_COLOR LAYER_TILE }

read_layer_list

.../extra/graphics/format/ai/ai_parser.li line #767

Section:
Public

Profile:
- SelfSELFread_layer_list : BOOLEAN

++ LAYER_COLOR -> '(' COLOR ')' '@'

read_layer_color

.../extra/graphics/format/ai/ai_parser.li line #790

Section:
Public

Profile:
- SelfSELFread_layer_color : BOOLEAN

++ LAYER_TILE -> '(' TILE_DEFINITION ')' '&' ++ | '_' '&'

read_layer_tile

.../extra/graphics/format/ai/ai_parser.li line #820

Section:
Public

Profile:
- SelfSELFread_layer_tile : BOOLEAN

++ COLOR -> COLOR_COMPOSITE { COLOR_COMPOSITE }

read_color

.../extra/graphics/format/ai/ai_parser.li line #855

Section:
Public

Profile:
- SelfSELFread_color : BOOLEAN

++ COLOR_COMPOSITE -> flag 'O' ++ | flag 'R' ++ | real 'g' ++ | real 'G' ++ | real real real real 'k' ++ | real real real real 'K' ++ | real real real real '(' string ')' real 'x' ++ | real real real real '(' string ')' real 'X'

read_color_composite

.../extra/graphics/format/ai/ai_parser.li line #885

Section:
Public

Profile:
- SelfSELFread_color_composite : BOOLEAN

++ TILE_DEFINITION -> OBJ_WITHOUT_COL

read_tile_definition

.../extra/graphics/format/ai/ai_parser.li line #961

Section:
Public

Profile:
- SelfSELFread_tile_definition : BOOLEAN

++ OBJECT -> COLOR { OBJ_WITHOUT_COL }

read_object

.../extra/graphics/format/ai/ai_parser.li line #980

Section:
Public

Profile:
- SelfSELFread_object : BOOLEAN

++ OBJ_WITHOUT_COL -> [ GRAPHICS_STATE ] { '%%Note:' comment } ( GRAPHIC | TEXT )

read_obj_without_col

.../extra/graphics/format/ai/ai_parser.li line #1001

Section:
Public

Profile:
- SelfSELFread_obj_without_col : BOOLEAN

++ GRAPHICS_STATE -> GRAPH_COMPOSITE { GRAPH_COMPOSITE }

read_graphics_state

.../extra/graphics/format/ai/ai_parser.li line #1026

Section:
Public

Profile:
- SelfSELFread_graphics_state : BOOLEAN

++ GRAPH_COMPOSITE -> '[' { real } ']' integer 'd' ++ | integer ( 'j' | 'J' | 'M' ) ++ | real ( 'i' | 'w' )

read_graph_composite

.../extra/graphics/format/ai/ai_parser.li line #1050

Section:
Public

Profile:
- SelfSELFread_graph_composite : BOOLEAN

++ GRAPHIC -> PATH PAINT_OPERATOR

read_graphic

.../extra/graphics/format/ai/ai_parser.li line #1103

Section:
Public

Profile:
- SelfSELFread_graphic : BOOLEAN

++ PATH -> COORD 'm' {PATH_COMPOSITE}

read_path

.../extra/graphics/format/ai/ai_parser.li line #1127

Section:
Public

Profile:
- SelfSELFread_path : BOOLEAN

++ PATH_COMPOSITE -> COORD ( 'l' | 'L' ) ++ | COORD COORD ( 'v' | 'V' | 'y' | 'Y' ) ++ | COORD COORD COORD ( 'c' | 'C' )

read_path_composite

.../extra/graphics/format/ai/ai_parser.li line #1161

Section:
Public

Profile:
- SelfSELFread_path_composite : BOOLEAN

++ PAINT_OPERATOR -> 'N' | 'n' | 'F' | 'f' | 'S' | 's' | 'B' | 'b' | 'H' | 'h' | 'W'

read_paint_operator

.../extra/graphics/format/ai/ai_parser.li line #1223

Section:
Public

Profile:
- SelfSELFread_paint_operator : BOOLEAN

++ TEXT -> '/' identifier real real real integer 'z' TEXT_COMPOSITE { TEXT_CONTENT } 'T'

read_text

.../extra/graphics/format/ai/ai_parser.li line #1283

Section:
Public

Profile:
- SelfSELFread_text : BOOLEAN

++ TEXT_CONTENT -> [ integer ] '(' string ')' 't'

read_text_content

.../extra/graphics/format/ai/ai_parser.li line #1324

Section:
Public

Profile:
- SelfSELFread_text_content : BOOLEAN

++ TEXT_COMPOSITE -> '[' real real real real real real ']' ( 'a' | 'e' | 'I' | 'o' | 'r' )

read_text_composite

.../extra/graphics/format/ai/ai_parser.li line #1355

Section:
Public

Profile:
- SelfSELFread_text_composite : BOOLEAN

++ COORD -> real real

read_coord

.../extra/graphics/format/ai/ai_parser.li line #1403

Section:
Public

Profile:
- SelfSELFread_coord : BOOLEAN

++ SCRIPT_BODY -> { ELEMENT | IMPORT_DOC }

read_script_body

.../extra/graphics/format/ai/ai_parser.li line #1432

Section:
Public

Profile:
- SelfSELFread_script_body : BOOLEAN

++ ELEMENT -> { A } ++ GROUP | OBJECT

read_element

.../extra/graphics/format/ai/ai_parser.li line #1453

Section:
Public

Profile:
- SelfSELFread_element : BOOLEAN

++ A -> flag 'A'

read_upper_a

.../extra/graphics/format/ai/ai_parser.li line #1475

Section:
Public

Profile:
- SelfSELFread_upper_a : BOOLEAN

++ GROUP -> ['*'] 'u' ++ OBJECT_SEQ ++ ['*'] 'U' ++ | 'q' ++ OBJECT_SEQ ++ 'Q'

read_group

.../extra/graphics/format/ai/ai_parser.li line #1507

Section:
Public

Profile:
- SelfSELFread_group : BOOLEAN

++ OBJECT_SEQ -> { ELEMENT }

read_object_seq

.../extra/graphics/format/ai/ai_parser.li line #1544

Section:
Public

Profile:
- SelfSELFread_object_seq : BOOLEAN

++ IMPORT_DOC -> ''' ++ '%%IncludeFile:' filename ++ '~'

read_import_doc

.../extra/graphics/format/ai/ai_parser.li line #1565

Section:
Public

Profile:
- SelfSELFread_import_doc : BOOLEAN

++ TRAILER -> '%%Trailer' ++ { TERMINATE }

read_trailer

.../extra/graphics/format/ai/ai_parser.li line #1596

Section:
Public

Profile:
- SelfSELFread_trailer : BOOLEAN

++ TERMINATE -> (identifier '/terminate get exec' | '_E end')

read_terminate

.../extra/graphics/format/ai/ai_parser.li line #1618

Section:
Public

Profile:
- SelfSELFread_terminate : BOOLEAN

Parser

make

.../extra/graphics/format/ai/ai_parser.li line #1654

Section:
Public

Profile:
- SelfSELFmake   s : FAST_ARRAYCHARACTER)

draw scale

.../extra/graphics/format/ai/ai_parser.li line #1668

Section:
Public

Profile:
- SelfSELFdraw   b : ABSTRACT_BITMAP  scale   coef : REAL_16_16