Merge pull request #5607 from RaiKoHoff/Dev_Master

add: lexer ABAQUS
This commit is contained in:
Rainer Kottenhoff 2026-03-23 12:43:32 +01:00 committed by GitHub
commit 41740010ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 947 additions and 26 deletions

View File

@ -1010,6 +1010,7 @@
//#define IDS_LEX_F77 63056
#define IDS_LEX_VERILOG 63057
#define IDS_LEX_SYSVERILOG 63058
#define IDS_LEX_ABAQUS 63059
#define IDS_LEX_STD_STYLE 63100
@ -1320,6 +1321,10 @@
#define IDS_LEX_STR_SysTasks 63404
#define IDS_LEX_STR_AfterLabel 63405
#define IDS_LEX_STR_Table 63406
#define IDS_LEX_STR_StarCmd 63407
#define IDS_LEX_STR_SlashCmd 63408
#define IDS_LEX_STR_Processor 63409
#define IDS_LEX_STR_Argument 63410
#define IDS_LEX_CSV_COL_0 63490
#define IDS_LEX_CSV_COL_1 63491

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Stelseltake"
IDS_LEX_STR_AfterLabel "Na Etiket"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Järjestelmätehtävät"
IDS_LEX_STR_AfterLabel "Nimen jälkeen"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Tâches Système"
IDS_LEX_STR_AfterLabel "Etiquette Suite"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Tugas Sistem"
IDS_LEX_STR_AfterLabel "Setelah Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Attività di sistema"
IDS_LEX_STR_AfterLabel "Dopo l'etichetta"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "システムタスク"
IDS_LEX_STR_AfterLabel "ラベル以降"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "시스템 작업"
IDS_LEX_STR_AfterLabel "레이블 후"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "Verilog systemowy HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Zadania systemowe"
IDS_LEX_STR_AfterLabel "Po etykiecie"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "HDL da Verilog"
IDS_LEX_SYSVERILOG "HDVL da SystemVerilog"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Tarefas do Sistema"
IDS_LEX_STR_AfterLabel "Depois do Rótulo"
IDS_LEX_STR_Table "Tabela"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "System Tasks"
IDS_LEX_STR_AfterLabel "After Label"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Systemaktiviteter"
IDS_LEX_STR_AfterLabel "Efter etikett"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Sistem görevleri"
IDS_LEX_STR_AfterLabel "Sonraki etiketi"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "Công việc hệ thống"
IDS_LEX_STR_AfterLabel "Sau nhãn"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "系统任务"
IDS_LEX_STR_AfterLabel "在标签后"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -1,4 +1,4 @@
// Microsoft Visual C++ generated resource script.
// Microsoft Visual C++ generated resource script.
// encoding: UTF-8
#pragma code_page(65001) // UTF-8
#include "resource.h"
@ -136,6 +136,7 @@ STRINGTABLE
BEGIN
IDS_LEX_VERILOG "Verilog HDL"
IDS_LEX_SYSVERILOG "SystemVerilog HDVL"
IDS_LEX_ABAQUS "ABAQUS"
END
STRINGTABLE
@ -515,6 +516,10 @@ BEGIN
IDS_LEX_STR_SysTasks "系統任務"
IDS_LEX_STR_AfterLabel "在標籤後"
IDS_LEX_STR_Table "Table"
IDS_LEX_STR_StarCmd "Star Command"
IDS_LEX_STR_SlashCmd "Slash Command"
IDS_LEX_STR_Processor "Processor"
IDS_LEX_STR_Argument "Argument"
END
STRINGTABLE

View File

@ -64,6 +64,7 @@
<ClInclude Include="lexlib\WordList.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="lexers\LexAbaqus.cxx" />
<ClCompile Include="lexers\LexAsm.cxx" />
<ClCompile Include="lexers\LexAU3.cxx" />
<ClCompile Include="lexers\LexAVS.cxx" />

View File

@ -0,0 +1,606 @@
// Scintilla source code edit control
/** @file LexAbaqus.cxx
** Lexer for ABAQUS. Based on the lexer for APDL by Hadar Raz.
** By Sergio Lucato.
** Sort of completely rewritten by Gertjan Kloosterman
**/
// The License.txt file describes the conditions under which this software may be distributed.
// Code folding copyied and modified from LexBasic.cxx
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdarg.h>
#include <assert.h>
#include <ctype.h>
#include <string>
#include <string_view>
#include "ILexer.h"
#include "Scintilla.h"
#include "SciLexer.h"
#include "WordList.h"
#include "LexAccessor.h"
#include "Accessor.h"
#include "StyleContext.h"
#include "CharacterSet.h"
#include "LexerModule.h"
using namespace Lexilla;
static inline bool IsAKeywordChar(const int ch) {
return (ch < 0x80 && (isalnum(ch) || (ch == '_') || (ch == ' ')));
}
static inline bool IsASetChar(const int ch) {
return (ch < 0x80 && (isalnum(ch) || (ch == '_') || (ch == '.') || (ch == '-')));
}
static void ColouriseABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int initStyle, WordList*[] /* *keywordlists[] */,
Accessor &styler) {
enum localState { KW_LINE_KW, KW_LINE_COMMA, KW_LINE_PAR, KW_LINE_EQ, KW_LINE_VAL, \
DAT_LINE_VAL, DAT_LINE_COMMA,\
COMMENT_LINE,\
ST_ERROR, LINE_END } state ;
// Do not leak onto next line
state = LINE_END ;
initStyle = SCE_ABAQUS_DEFAULT;
StyleContext sc(startPos, length, initStyle, styler);
// Things are actually quite simple
// we have commentlines
// keywordlines and datalines
// On a data line there will only be colouring of numbers
// a keyword line is constructed as
// *word,[ paramname[=paramvalue]]*
// if the line ends with a , the keyword line continues onto the new line
for (; sc.More(); sc.Forward()) {
switch ( state ) {
case KW_LINE_KW :
if ( sc.atLineEnd ) {
// finished the line in keyword state, switch to LINE_END
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
} else if ( IsAKeywordChar(sc.ch) ) {
// nothing changes
state = KW_LINE_KW ;
} else if ( sc.ch == ',' ) {
// Well well we say a comma, arguments *MUST* follow
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = KW_LINE_COMMA ;
} else {
// Flag an error
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
// Done with processing
break ;
case KW_LINE_COMMA :
// acomma on a keywordline was seen
if ( IsAKeywordChar(sc.ch)) {
sc.SetState(SCE_ABAQUS_ARGUMENT) ;
state = KW_LINE_PAR ;
} else if ( sc.atLineEnd || (sc.ch == ',') ) {
// we remain in keyword mode
state = KW_LINE_COMMA ;
} else if ( sc.ch == ' ' ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = KW_LINE_COMMA ;
} else {
// Anything else constitutes an error
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
break ;
case KW_LINE_PAR :
if ( sc.atLineEnd ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
} else if ( IsAKeywordChar(sc.ch) || (sc.ch == '-') ) {
// remain in this state
state = KW_LINE_PAR ;
} else if ( sc.ch == ',' ) {
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = KW_LINE_COMMA ;
} else if ( sc.ch == '=' ) {
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = KW_LINE_EQ ;
} else {
// Anything else constitutes an error
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
break ;
case KW_LINE_EQ :
if ( sc.ch == ' ' ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
// remain in this state
state = KW_LINE_EQ ;
} else if ( IsADigit(sc.ch) || (sc.ch == '-') || (sc.ch == '.' && IsADigit(sc.chNext)) ) {
sc.SetState(SCE_ABAQUS_NUMBER) ;
state = KW_LINE_VAL ;
} else if ( IsAKeywordChar(sc.ch) ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = KW_LINE_VAL ;
} else if ( (sc.ch == '\'') || (sc.ch == '\"') ) {
sc.SetState(SCE_ABAQUS_STRING) ;
state = KW_LINE_VAL ;
} else {
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
break ;
case KW_LINE_VAL :
if ( sc.atLineEnd ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
} else if ( IsASetChar(sc.ch) && (sc.state == SCE_ABAQUS_DEFAULT) ) {
// nothing changes
state = KW_LINE_VAL ;
} else if (( (IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') ||
((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) &&
(sc.state == SCE_ABAQUS_NUMBER)) {
// remain in number mode
state = KW_LINE_VAL ;
} else if (sc.state == SCE_ABAQUS_STRING) {
// accept everything until a closing quote
if ( sc.ch == '\'' || sc.ch == '\"' ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = KW_LINE_VAL ;
}
} else if ( sc.ch == ',' ) {
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = KW_LINE_COMMA ;
} else {
// anything else is an error
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
break ;
case DAT_LINE_VAL :
if ( sc.atLineEnd ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
} else if ( IsASetChar(sc.ch) && (sc.state == SCE_ABAQUS_DEFAULT) ) {
// nothing changes
state = DAT_LINE_VAL ;
} else if (( (IsADigit(sc.ch) || sc.ch == '.' || (sc.ch == 'e' || sc.ch == 'E') ||
((sc.ch == '+' || sc.ch == '-') && (sc.chPrev == 'e' || sc.chPrev == 'E')))) &&
(sc.state == SCE_ABAQUS_NUMBER)) {
// remain in number mode
state = DAT_LINE_VAL ;
} else if (sc.state == SCE_ABAQUS_STRING) {
// accept everything until a closing quote
if ( sc.ch == '\'' || sc.ch == '\"' ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = DAT_LINE_VAL ;
}
} else if ( sc.ch == ',' ) {
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = DAT_LINE_COMMA ;
} else {
// anything else is an error
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
break ;
case DAT_LINE_COMMA :
// a comma on a data line was seen
if ( sc.atLineEnd ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
} else if ( sc.ch == ' ' ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = DAT_LINE_COMMA ;
} else if (sc.ch == ',') {
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = DAT_LINE_COMMA ;
} else if ( IsADigit(sc.ch) || (sc.ch == '-')|| (sc.ch == '.' && IsADigit(sc.chNext)) ) {
sc.SetState(SCE_ABAQUS_NUMBER) ;
state = DAT_LINE_VAL ;
} else if ( IsAKeywordChar(sc.ch) ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = DAT_LINE_VAL ;
} else if ( (sc.ch == '\'') || (sc.ch == '\"') ) {
sc.SetState(SCE_ABAQUS_STRING) ;
state = DAT_LINE_VAL ;
} else {
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
break ;
case COMMENT_LINE :
if ( sc.atLineEnd ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
}
break ;
case ST_ERROR :
if ( sc.atLineEnd ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = LINE_END ;
}
break ;
case LINE_END :
if ( sc.atLineEnd || sc.ch == ' ' ) {
// nothing changes
state = LINE_END ;
} else if ( sc.ch == '*' ) {
if ( sc.chNext == '*' ) {
state = COMMENT_LINE ;
sc.SetState(SCE_ABAQUS_COMMENT) ;
} else {
state = KW_LINE_KW ;
sc.SetState(SCE_ABAQUS_STARCOMMAND) ;
}
} else {
// it must be a data line, things are as if we are in DAT_LINE_COMMA
if ( sc.ch == ',' ) {
sc.SetState(SCE_ABAQUS_OPERATOR) ;
state = DAT_LINE_COMMA ;
} else if ( IsADigit(sc.ch) || (sc.ch == '-')|| (sc.ch == '.' && IsADigit(sc.chNext)) ) {
sc.SetState(SCE_ABAQUS_NUMBER) ;
state = DAT_LINE_VAL ;
} else if ( IsAKeywordChar(sc.ch) ) {
sc.SetState(SCE_ABAQUS_DEFAULT) ;
state = DAT_LINE_VAL ;
} else if ( (sc.ch == '\'') || (sc.ch == '\"') ) {
sc.SetState(SCE_ABAQUS_STRING) ;
state = DAT_LINE_VAL ;
} else {
sc.SetState(SCE_ABAQUS_PROCESSOR) ;
state = ST_ERROR ;
}
}
break ;
}
}
sc.Complete();
}
//------------------------------------------------------------------------------
// This copyied and modified from LexBasic.cxx
//------------------------------------------------------------------------------
/* Bits:
* 1 - whitespace
* 2 - operator
* 4 - identifier
* 8 - decimal digit
* 16 - hex digit
* 32 - bin digit
*/
static int character_classification[128] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 2, 0, 2, 2, 2, 2, 2, 2, 2, 6, 2, 2, 2, 10, 6,
60, 60, 28, 28, 28, 28, 28, 28, 28, 28, 2, 2, 2, 2, 2, 2,
2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 4,
2, 20, 20, 20, 20, 20, 20, 4, 4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 0
};
static bool IsSpace(int c) {
return c < 128 && (character_classification[c] & 1);
}
static bool IsIdentifier(int c) {
return c < 128 && (character_classification[c] & 4);
}
static int LowerCase(int c)
{
if (c >= 'A' && c <= 'Z')
return 'a' + c - 'A';
return c;
}
static Sci_Position LineEnd(Sci_Position line, Accessor &styler)
{
const Sci_Position docLines = styler.GetLine(styler.Length() - 1); // Available last line
Sci_Position eol_pos ;
// if the line is the last line, the eol_pos is styler.Length()
// eol will contain a new line, or a virtual new line
if ( docLines == line )
eol_pos = styler.Length() ;
else
eol_pos = styler.LineStart(line + 1) - 1;
return eol_pos ;
}
static Sci_Position LineStart(Sci_Position line, Accessor &styler)
{
return styler.LineStart(line) ;
}
// LineType
//
// bits determines the line type
// 1 : data line
// 2 : only whitespace
// 3 : data line with only whitespace
// 4 : keyword line
// 5 : block open keyword line
// 6 : block close keyword line
// 7 : keyword line in error
// 8 : comment line
static int LineType(Sci_Position line, Accessor &styler) {
Sci_Position pos = LineStart(line, styler) ;
Sci_Position eol_pos = LineEnd(line, styler) ;
int c ;
char ch = ' ';
Sci_Position i = pos ;
while ( i < eol_pos ) {
c = styler.SafeGetCharAt(i);
ch = static_cast<char>(LowerCase(c));
// We can say something as soon as no whitespace
// was encountered
if ( !IsSpace(c) )
break ;
i++ ;
}
if ( i >= eol_pos ) {
// This is a whitespace line, currently
// classifies as data line
return 3 ;
}
if ( ch != '*' ) {
// This is a data line
return 1 ;
}
if ( i == eol_pos - 1 ) {
// Only a single *, error but make keyword line
return 4+3 ;
}
// This means we can have a second character
// if that is also a * this means a comment
// otherwise it is a keyword.
c = styler.SafeGetCharAt(i+1);
ch = static_cast<char>(LowerCase(c));
if ( ch == '*' ) {
return 8 ;
}
// At this point we know this is a keyword line
// the character at position i is a *
// it is not a comment line
char word[256] ;
int wlen = 0;
word[wlen] = '*' ;
wlen++ ;
i++ ;
while ( (i < eol_pos) && (wlen < 255) ) {
c = styler.SafeGetCharAt(i);
ch = static_cast<char>(LowerCase(c));
if ( (!IsSpace(c)) && (!IsIdentifier(c)) )
break ;
if ( IsIdentifier(c) ) {
word[wlen] = ch ;
wlen++ ;
}
i++ ;
}
word[wlen] = 0 ;
// Make a comparison
if ( !strcmp(word, "*step") ||
!strcmp(word, "*part") ||
!strcmp(word, "*instance") ||
!strcmp(word, "*assembly")) {
return 4+1 ;
}
if ( !strcmp(word, "*endstep") ||
!strcmp(word, "*endpart") ||
!strcmp(word, "*endinstance") ||
!strcmp(word, "*endassembly")) {
return 4+2 ;
}
return 4 ;
}
static void SafeSetLevel(Sci_Position line, int level, Accessor &styler)
{
if ( line < 0 )
return ;
int mask = ((~SC_FOLDLEVELHEADERFLAG) | (~SC_FOLDLEVELWHITEFLAG));
if ( (level & mask) < 0 )
return ;
if ( styler.LevelAt(line) != level )
styler.SetLevel(line, level) ;
}
static void FoldABAQUSDoc(Sci_PositionU startPos, Sci_Position length, int,
WordList *[], Accessor &styler) {
Sci_Position startLine = styler.GetLine(startPos) ;
Sci_Position endLine = styler.GetLine(startPos+length-1) ;
// bool foldCompact = styler.GetPropertyInt("fold.compact", 1) != 0;
// We want to deal with all the cases
// To know the correct indentlevel, we need to look back to the
// previous command line indentation level
// order of formatting keyline datalines commentlines
Sci_Position beginData = -1 ;
Sci_Position beginComment = -1 ;
Sci_Position prvKeyLine = startLine ;
Sci_Position prvKeyLineTp = 0 ;
// Scan until we find the previous keyword line
// this will give us the level reference that we need
while ( prvKeyLine > 0 ) {
prvKeyLine-- ;
prvKeyLineTp = LineType(prvKeyLine, styler) ;
if ( prvKeyLineTp & 4 )
break ;
}
// Determine the base line level of all lines following
// the previous keyword
// new keyword lines are placed on this level
//if ( prvKeyLineTp & 4 ) {
int level = styler.LevelAt(prvKeyLine) & ~SC_FOLDLEVELHEADERFLAG ;
//}
// uncomment line below if weird behaviour continues
prvKeyLine = -1 ;
// Now start scanning over the lines.
for ( Sci_Position line = startLine; line <= endLine; line++ ) {
int lineType = LineType(line, styler) ;
// Check for comment line
if ( lineType == 8 ) {
if ( beginComment < 0 ) {
beginComment = line ;
}
}
// Check for data line
if ( (lineType == 1) || (lineType == 3) ) {
if ( beginData < 0 ) {
if ( beginComment >= 0 ) {
beginData = beginComment ;
} else {
beginData = line ;
}
}
beginComment = -1 ;
}
// Check for keywordline.
// As soon as a keyword line is encountered, we can set the
// levels of everything from the previous keyword line to this one
if ( lineType & 4 ) {
// this is a keyword, we can now place the previous keyword
// all its data lines and the remainder
// Write comments and data line
if ( beginComment < 0 ) {
beginComment = line ;
}
if ( beginData < 0 ) {
beginData = beginComment ;
if ( prvKeyLineTp != 5 )
SafeSetLevel(prvKeyLine, level, styler) ;
else
SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;
} else {
SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;
}
int datLevel = level + 1 ;
if ( !(prvKeyLineTp & 4) ) {
datLevel = level ;
}
for ( Sci_Position ll = beginData; ll < beginComment; ll++ )
SafeSetLevel(ll, datLevel, styler) ;
// The keyword we just found is going to be written at another level
// if we have a type 5 and type 6
if ( prvKeyLineTp == 5 ) {
level += 1 ;
}
if ( prvKeyLineTp == 6 ) {
level -= 1 ;
if ( level < 0 ) {
level = 0 ;
}
}
for ( Sci_Position lll = beginComment; lll < line; lll++ )
SafeSetLevel(lll, level, styler) ;
// wrap and reset
beginComment = -1 ;
beginData = -1 ;
prvKeyLine = line ;
prvKeyLineTp = lineType ;
}
}
if ( beginComment < 0 ) {
beginComment = endLine + 1 ;
} else {
// We need to find out whether this comment block is followed by
// a data line or a keyword line
const Sci_Position docLines = styler.GetLine(styler.Length() - 1);
for ( Sci_Position line = endLine + 1; line <= docLines; line++ ) {
Sci_Position lineType = LineType(line, styler) ;
if ( lineType != 8 ) {
if ( !(lineType & 4) ) {
beginComment = endLine + 1 ;
}
break ;
}
}
}
if ( beginData < 0 ) {
beginData = beginComment ;
if ( prvKeyLineTp != 5 )
SafeSetLevel(prvKeyLine, level, styler) ;
else
SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;
} else {
SafeSetLevel(prvKeyLine, level | SC_FOLDLEVELHEADERFLAG, styler) ;
}
int datLevel = level + 1 ;
if ( !(prvKeyLineTp & 4) ) {
datLevel = level ;
}
for ( Sci_Position ll = beginData; ll < beginComment; ll++ )
SafeSetLevel(ll, datLevel, styler) ;
if ( prvKeyLineTp == 5 ) {
level += 1 ;
}
if ( prvKeyLineTp == 6 ) {
level -= 1 ;
}
for ( Sci_Position m = beginComment; m <= endLine; m++ )
SafeSetLevel(m, level, styler) ;
}
static const char * const abaqusWordListDesc[] = {
"processors",
"commands",
"slashommands",
"starcommands",
"arguments",
"functions",
0
};
extern const LexerModule lmAbaqus(SCLEX_ABAQUS, ColouriseABAQUSDoc, "abaqus", FoldABAQUSDoc, abaqusWordListDesc);

View File

@ -0,0 +1,42 @@
@echo off
setlocal EnableDelayedExpansion
set _THISDIR_=%~dp0
rem remove trailing back-slash
set _THISDIR_=!_THISDIR_:~,-1!
rem transform to foward-slash
::~set "_THISDIR_=%_THISDIR_:\=/%"
pushd %_THISDIR_%
::cls
set _EXITCODE_=0
::set _PYTHON_EXE=python.exe
set _PYTHON_EXE=c:\PortablePrograms\Python3_12_5_x64_emb\python.exe
rem call :RESOLVE_PATH _PYTHON_EXE "%_THISDIR_%..\..\..\..\_python_emb\python.exe"
set _CMD_="%_PYTHON_EXE%" "%~dpn0.py"
echo.Calling: %_CMD_%
%_CMD_%
if not [%ERRORLEVEL%] == [0] (
set _EXITCODE_=%ERRORLEVEL%
)
goto :END
rem ----------------------------------------------------------------------------
rem call :RESOLVE_PATH WORKINGDIRPARENT ".."
:RESOLVE_PATH
set %1=%~dpfn2
goto:eof
rem ----------------------------------------------------------------------------
:END
::pause
popd
echo.ERRORLEVEL=%_EXITCODE_%
endlocal & set _EXITCODE_=%_EXITCODE_%
:: -call exit only in case of
if not [%_EXITCODE_%]==[0] exit /b %_EXITCODE_%

View File

@ -28,6 +28,7 @@ using namespace Lexilla;
//++Autogenerated -- run lexilla/scripts/LexillaGen.py to regenerate
//**\(extern const LexerModule \*;\n\)
extern const LexerModule lmAbaqus;
extern const LexerModule lmAHK;
extern const LexerModule lmAs;
extern const LexerModule lmAsm;
@ -98,6 +99,7 @@ void AddEachLexer() {
catalogueLexilla.AddLexerModules({
//++Autogenerated -- run scripts/LexillaGen.py to regenerate
//**\(\t\t&\*,\n\)
&lmAbaqus,
&lmAHK,
&lmAs,
&lmAsm,

View File

@ -97,6 +97,18 @@ $(DIR_O)/WordList.o: \
../lexlib/WordList.cxx \
../lexlib/WordList.h \
../lexlib/CharacterSet.h
$(DIR_O)/LexAbaqus.o: \
../lexers/LexAbaqus.cxx \
../../scintilla/include/ILexer.h \
../../scintilla/include/Sci_Position.h \
../../scintilla/include/Scintilla.h \
../include/SciLexer.h \
../lexlib/WordList.h \
../lexlib/LexAccessor.h \
../lexlib/Accessor.h \
../lexlib/StyleContext.h \
../lexlib/CharacterSet.h \
../lexlib/LexerModule.h
$(DIR_O)/LexAsm.o: \
../lexers/LexAsm.cxx \
../../scintilla/include/ILexer.h \

View File

@ -92,6 +92,7 @@ $(SCINTILLA_INCLUDE):
#++Autogenerated -- run scripts/LexGen.py to regenerate
#**LEX_OBJS=\\\n\(\t$(DIR_O)\\\*.obj \\\n\)
LEX_OBJS=\
$(DIR_O)\LexAbaqus.obj \
$(DIR_O)\LexAsm.obj \
$(DIR_O)\LexAU3.obj \
$(DIR_O)\LexAVS.obj \

View File

@ -97,6 +97,18 @@ $(DIR_O)/WordList.obj: \
../lexlib/WordList.cxx \
../lexlib/WordList.h \
../lexlib/CharacterSet.h
$(DIR_O)/LexAbaqus.obj: \
../lexers/LexAbaqus.cxx \
../../scintilla/include/ILexer.h \
../../scintilla/include/Sci_Position.h \
../../scintilla/include/Scintilla.h \
../include/SciLexer.h \
../lexlib/WordList.h \
../lexlib/LexAccessor.h \
../lexlib/Accessor.h \
../lexlib/StyleContext.h \
../lexlib/CharacterSet.h \
../lexlib/LexerModule.h
$(DIR_O)/LexAsm.obj: \
../lexers/LexAsm.cxx \
../../scintilla/include/ILexer.h \

View File

@ -65,6 +65,18 @@ Inline-IME Color=fore:#4EF64D
Default=font:$Text0
Margins and Line Numbers=font:Consolas; size:-2; fore:#DEDEDE; back:#454545
Extra Line Spacing (Size)=size:2
[ABAQUS]
Comment=fore:#70F76D
Number=fore:#F27E0D
String=italic; fore:#9C9C9C
Operator=bold; fore:#EC880D
Star Command=bold; fore:#73B9FF
Argument=fore:#B4E1F5
Processor=fore:#F53C3D
Command=bold; fore:#89ABEC
Slash Command=bold; fore:#89ABEC
Word=fore:#DCDCDC
Function=fore:#F770F7
[ANSI Art]
Default=font:Lucida Console; thin; size:11; smoothing:aliased
Margins and Line Numbers=font:Consolas; size:-2; fore:#DEDEDE; back:#454545

View File

@ -981,6 +981,7 @@
<ClCompile Include="DynStrg.c" />
<ClCompile Include="PathLib.c" />
<ClCompile Include="StyleLexers\EditLexer.c" />
<ClCompile Include="StyleLexers\styleLexAbaqus.c" />
<ClCompile Include="StyleLexers\styleLexAHK.c" />
<ClCompile Include="StyleLexers\styleLexDart.c" />
<ClCompile Include="StyleLexers\styleLexFortran.c" />

View File

@ -75,6 +75,9 @@
<ClCompile Include="Encoding.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="StyleLexers\styleLexAbaqus.c">
<Filter>Source Files\StyleLexers</Filter>
</ClCompile>
<ClCompile Include="StyleLexers\styleLexASM.c">
<Filter>Source Files\StyleLexers</Filter>
</ClCompile>

View File

@ -92,6 +92,7 @@ LexDefaultStyles;
extern EDITLEXER lexStandard; // Default Text
extern EDITLEXER lexStandard2nd; // 2nd Default Text
extern EDITLEXER lexTEXT; // Pure Text Files
extern EDITLEXER lexAbaqus; // Abaqus
extern EDITLEXER lexANSI; // ANSI Files
extern EDITLEXER lexCONF; // Apache Config Files
extern EDITLEXER lexASM; // Assembly Script

View File

@ -0,0 +1,26 @@
#include "StyleLexers.h"
// ----------------------------------------------------------------------------
KEYWORDLIST KeyWords_Abaqus = EMPTY_KEYWORDLIST;
EDITLEXER lexAbaqus =
{
SCLEX_ABAQUS, "abaqus", IDS_LEX_ABAQUS, L"ABAQUS", L"inp", L"",
&KeyWords_Abaqus, {
{ {STYLE_DEFAULT}, IDS_LEX_STR_Default, L"Default", L"", L"" },
//{ {SCE_ABAQUS_DEFAULT}, IDS_LEX_STR_Default, L"Default", L"", L"" },
{ {MULTI_STYLE(SCE_ABAQUS_COMMENT,SCE_ABAQUS_COMMENTBLOCK,0,0)}, IDS_LEX_STR_Comment, L"Comment", L"fore:#008800", L"" },
{ {SCE_ABAQUS_NUMBER}, IDS_LEX_STR_Number, L"Number", L"fore:#FF8000", L"" },
{ {SCE_ABAQUS_STRING}, IDS_LEX_STR_String, L"String", L"fore:#808080", L"" },
{ {SCE_ABAQUS_OPERATOR}, IDS_LEX_STR_Operator, L"Operator", L"bold; fore:#FF8000", L"" },
{ {SCE_ABAQUS_STARCOMMAND}, IDS_LEX_STR_StarCmd, L"Star Command", L"bold; fore:#0A246A", L"" },
{ {SCE_ABAQUS_ARGUMENT}, IDS_LEX_STR_Argument, L"Argument", L"fore:#4747B0", L"" },
{ {SCE_ABAQUS_PROCESSOR}, IDS_LEX_STR_Processor, L"Processor", L"fore:#FF0000", L"" },
{ {SCE_ABAQUS_COMMAND}, IDS_LEX_STR_Cmd, L"Command", L"bold; fore:#003CE6", L"" },
{ {SCE_ABAQUS_SLASHCOMMAND}, IDS_LEX_STR_SlashCmd, L"Slash Command", L"bold; fore:#003CE6", L"" },
{ {SCE_ABAQUS_WORD}, IDS_LEX_STR_Word, L"Word", L"fore:#000000", L"" },
{ {SCE_ABAQUS_FUNCTION}, IDS_LEX_STR_Function, L"Function", L"fore:#A46000", L"" },
EDITLEXER_SENTINEL
}
};

View File

@ -58,6 +58,7 @@ static PEDITLEXER g_pLexArray[] = {
&lexStandard, // Default Text
&lexStandard2nd, // 2nd Default Text
&lexTEXT, // Pure Text Files (Constants.StdDefaultLexerID = 2)
&lexAbaqus, // Abaqus
&lexANSI, // ANSI Files (ASCII Art)
&lexCONF, // Apache Config Files
&lexASM, // Assembly Script

View File

@ -0,0 +1,66 @@
** ----------------------------------------------------------------
** KOMMENTARZEILE: Beginnt mit zwei Sternchen (**)
** ABAQUS INPUT DATEI BEISPIEL (SYNTAX-ÜBERSICHT)
** ----------------------------------------------------------------
*HEADING
Beispiel-Simulation: Statische Analyse eines Stabes
** ----------------------------------------------------------------
** MODELLDATEN: Alles vor dem ersten *STEP
** ----------------------------------------------------------------
** Knoten-Definition: *NODE [Schlüsselwort], Parameter folgen nach Komma
** Format: Knoten-ID, X, Y, (Z)
*NODE, NSET=ALL_NODES
1, 0.0, 0.0, 0.0
2, 10.0, 0.0, 0.0
** Element-Definition: TYPE ist ein erforderlicher Parameter
** Format: Element-ID, Knoten1, Knoten2, ...
*ELEMENT, TYPE=T2D2, ELSET=BEAM_ELEMENTS
1, 1, 2
** Material-Definition: Schlüsselwörter müssen in Blöcken gruppiert sein
*MATERIAL, NAME=STEEL
*ELASTIC, TYPE=ISOTROPIC
210000.0, 0.3
** Querschnitts-Zuweisung: Verknüpft Elset mit Material
*SOLID SECTION, ELSET=BEAM_ELEMENTS, MATERIAL=STEEL
1.0,
** ----------------------------------------------------------------
** PARAMETRISIERUNG (Optional): Nutzt Python-Syntax
** ----------------------------------------------------------------
*PARAMETER
force_val = -100.0
thick = 2.5
** ----------------------------------------------------------------
** HISTORY-DATEN: Definiert die Analyse-Schritte
** ----------------------------------------------------------------
*STEP, NAME=STATIC_LOAD, PERTURBATION
*STATIC
** Datenzeile für *STATIC: Start-Inkrement, Gesamtzeit, Min, Max
0.1, 1.0, 1E-5, 1.0
** Randbedingungen: DOF 1=X, 2=Y, 3=Z
*BOUNDARY
1, 1, 2, 0.0
** Lasten: Nutzt einen Parameter <force_val>
*CLOAD
2, 2, <force_val>
** ----------------------------------------------------------------
** OUTPUT-REQUESTS
** ----------------------------------------------------------------
*OUTPUT, FIELD
*NODE OUTPUT
U, RF
*ELEMENT OUTPUT
S, E
*END STEP